Android 2.2 (Froyo) su x86

Il porting su piattaforma intel è stato rilasciato da qualche giorno su http://www.android-x86.org/. Oggi ho deciso di provarlo su una virtuale con 256MB di ram e disco da 8GB, di cui 4 li ho destinati per una SD finta. E’ molto carino, anche se ovviamente l’utilità sarebbe nell’averlo su un netbook con abilitata la connettività 3g e quindi un test per l’effettiva funzionalità merita di un dispositivo reale piuttosto che una macchina virtuale.

Ho idea di installarlo su un vecchio portatile ormai non più utilizzato, ma i suoi 64MB di ram credo siano uno scoglio anche per android, quanto meno la VM si blocca… Ma vedremo prossimamente, appena avrò un po’ di tempo da spendere in questo modo, intanto ecco alcuni screenshot presi dalla macchina virtuale :)

Alla prossima :)

    • stefano
    • April 29th, 2011 10:19am

    ciao Fabio.
    mi chiamo Stefano e sono il responsabile it di una azienda i cui servizi sono prevalentemente (se non tutti) su macchina virtuale.

    Volevo farti una domanda su una problematica che riguarda in generale il mondo della virtualizzazzione. Dal momento che ti interessi spesso di questo settore, credo che uno scambio di info potrebbe anche interessarti.

    Io in particolare uso VirtualBOX su un Host Ubuntu 10.04 x64 con diverse macchine virtuali di diverse piattaforme tutte x32.

    Il mio cruccio riguarda la funzione di ‘i/o host cache’ del disco che evidentemente incrementa le prestazione delle guests ma che, come riporta la guida uff di virtualbox, può genrare ‘false conferme’ di scrittura eseguita, quando invece il dato non è ancora stato scritto su disco(file per l’host). Se si disabilita questa funzione si incontra un messaggio di avviso che fa riferimento a un bug del kernel legato all’ext4, che consiglia di abilitare la cache.

    In pratica: se il mio Mysql gira su una guest con abilitata la cache i/o host, rischio in caso di interruzzione improvvisa di avere incongruenze sul db? Perdo in questo modo le caratteristice ACID tanto importanti del db?

    Sulla rete non si trovano molte discussioni in materia e tuttavia sono convinto che molti virtualizzino Myasql e le appliance simili. Io però non sono convinto che un ambiente virtualizzato si sicuro e ACID quanto un ambiente non virtualizzato. Mi sbaglio? Spero di si! Cosa dici?

    se non ti ho annoato e se vorrai potrai rispondermi a:
    it@mercatodelloro.eu
    GRAZIE E CIAO.

  1. Ciao Stefano,

    ti rispondo qui in modo che anche altri possano leggere e correggermi se sbaglio.

    Credo che il punto sia questo: il DBMS garantisce tutte le proprietà ACID all’interno del sistema guest, quello che perdi è l’affidabilità del filesystem. La cache host non fa altro che “allungare” il ritardo sulla scrittura dei dati sul filesystem fisico, le scritture quindi avvengono a discrezione del virtualizzatore e del sistema operativo host, in una maniera del tutto indipendente dalle transazioni del db: in caso di interruzione dell’alimentazione in questo arco di tempo potresti avere perdita di dati e potresti anche ottenere un disco virtuale corrotto. Il DBMS non è in grado di sapere se una sua scrittura sia andata effettivamente a buon fine, il guest potrebbe essere “convinto” che tutto sia andato per il verso giusto, ma di fatto nulla è stato reso persistente.

    Credo che il tradeoff riguardi prestazioni da un lato e affidabilità dall’altro: per aumentare la seconda occorre sicuramente disabilitare l’opzione di cache host e modificare l’impostazione di “allocazione ritardata” del filesystem ext4 (opzione nodelalloc), anche questa aumenta l’effetto caching in memoria, a differenza di ext3 che ne è sprovvisto.
    Inoltre, se diverse VM sono in esecuzione sullo stesso host potresti incappare in rallentamenti abbastanza notevoli nel momento in cui diversi dischi virtuali fossero in cache e tutti assieme venissero scritti sul disco fisico.

    Per risolvere in maniera ottimale potresti pensare di utilizzare una soluzione iSCSI per lo storage: in questo modo potresti utilizzare un disco di rete come se fosse proprio un disco virtuale, aggiungendo ridondanza (magari con una soluzione RAID 1) e potendo veicolare la scrittura dei dati esattamente come se fosse traffico di rete. VirtualBox dovrebbe supportare queste impostazioni (stando alla documentazione) purtroppo non posso parlare per esperienza personale.

    Altro che noia, francamente spero di avere più spesso discussioni di questo tipo e spero che qualcuno mi corregga quando avessi scritto qualcosa di inesatto!

    Un cordiale saluto

    • nuccio
    • June 3rd, 2011 11:39am

    come è possibile far leggere a Froyo le URL di Internet Explorer ?

  2. Ciao Nuccio,

    non credo di aver capito bene la tua domanda, puoi spiegarti meglio?

    Scusami, un saluto

  1. No trackbacks yet.