Anlan Blog

Un posto per scrivere quello che sento
Options:

openSUSE 11.2 e Virtual Box : amore dal primo clic

Tempo addietro avevo scritto due brevi note su come installare correttamente Virtual Box Additions per openSUSE 11.1. Oggi mi sono trovato ad installare una nuova openSUSE 11.2 utilizzando il nuovo Virtual Box di Sun/Oracle.

Piacevole è stata la sorpresa di scoprire che, a differenza di quanto accadeva nelle versioni precedenti (di entrambi i software) questa volta … non serve fare assolutamente nulla.

Installando openSUSE 11.2 su Virtual Box 3.1.4 r57640, la distro Linux si “accorge” di essere all’interno del virtualizzatore e installa automaticamente i driver che normalmente si dovrebbe aggiungere ad installazione ultimata. E quindi già durante l’installazione potrete avere il capture/release automatico del puntatore del mouse, ed al primo boot operativo potrete subito ridimensionare lo schermo a piacimento, disporre dell’emulazione audio ecc.

Va da sè che non dovrete più quindi installare i pacchetti aggiuntivi di openSUSE specifici per il make delle Virtual Box Guest Additions.

Ganzo !

Chrome OS

Ero molto incuriosito dai rumors che giravano intorno a Chrome OS, il nuovo sistema operativo di Google. Spinto dall’inesauribile entusiasmo che si accende attorno alle eccellenti campagne di marketing promosse da BigG … mi sono deciso a scaricarlo e a provarlo con l’ausilio di VirtualBox. Se volete provarci anche voi potete seguire le istruzioni descritte a questo link.

Purtroppo ne sono rimasto parzialmente deluso. E’ pur vero che la definizione di OS (Operating System – Sistema Operativo) va intesa con il significato di “strato software minimale che permette di avviare un computer affinchè gli applicativi installati possano operare” … però qui il minimale è davvero … minimo.
Più che di un sistema operativo si tratta di un “minimo sistema operativo per avviare Chrome”. In pratica con Chrome OS l’unica cosa che avrete sul pc è Chrome, il browser di Google, il quale farà da browser (appunto), da desktop, da file manager da gestore applicazioni ecc. sempre per il tramite (preferibilmente) delle applicazioni “live” offerte da Google.

Risultato ? Pronti a lavorare in 7 secondi (tempo promesso e mantenuto dall’accensione del pc ai primi input che potete dare) … ma … solo se siete connessi al web. Il che significa che se non disponete di una connessione Internet, quantomeno decente, praticamente con il pc non ci farete nulla. Tutto è prelevato e depositato sul Web: i tuoi documenti, i tuoi file, la tua posta (Gmail) ecc. ecc. Senza una connessione internet non potrete nemmeno fare il login iniziale.

Ma perchè deluso ? Perchè ho commesso un grave errore di valutazione. Ho pensato come Chrome OS potesse incontrare le MIE esigenze (che non sono certo un mostro ma nemmeno un utente basico) e non ho pensato invece, come ha fatto Google, a quelle che sono le esigenze del vasto pubblico.

Sicuramente c’è del buono in una impostazione del genere: assunto il fatto che la stragrande maggioranza del tempo passato da un utente medio domestico davanti al computer è trascorso su Internet, Chrome OS risolve tutte quelle “rotture” che l’utente mediamente non osserva per tenere in buono stato di efficienza il suo computer: aggiornamenti software, programmi di sicurezza, driver per dispositivi, filesystem corrotti o da deframmentare ecc. Il pc (con Chrome OS) non è più un apparato autonomo che all’occorrenza comunica via internet: la connessione internet diventa parte integrante del computer tanto quanto un hard disk o lo schermo stesso.

Bisogna dare atto a Google di essere coerente nel mantenimento costante di una linea di sviluppo: già con Wave ci hanno indicato la strada di una interconnessione tra media diversi e ora con Chrome OS il cerchio si chiude rendendo il web il vostro sistema operativo.  Incontrare amici su Facebook, fare microblogging, consultare la posta, ascoltare musica, guardare i video su youtube, navigare il web per fare ricerche, comporre documenti o fogli elettronici … tutto è la fuori … nel mondo virtuale di internet. Il computer è ormai diventato un’appendice passiva di questo modello … una sorta di thin-client per internet. I “veri” pc (ferro + tanto software a bordo + tanta pazienza per tenere tutto in ordine) potranno essere facilmente relegati alla nicchia degli utilizzatori che “sviluppano” o che necessitano di performance particolari dettate da esigenze particolari (es. editing video, progettazione CAD, programmazione database ecc.)

Ma vista l’offerta sempre più alta, anche nel mondo delle aziende, di applicazioni erogate secondo paradigmi web, ovvero che non richiedono l’installazione di pesanti fat-client, disporre di macchine che deleghino sempre il meno possibile all’utenza non specialistica potrà essere un notevole beneficio in termini di manutenzioni.

La deframmentazione dei dischi e i pc virtuali

Gli utilizzatori di VirtualPc o VirtualBox incontrano spesso degradi di perfomance notevoli nell’esecuzione delle loro macchine virtuali dopo un prolungato utilizzo.

La causa principale di questa situazione è da ricercarsi nel modo in cui vengono istanziati i dischi virtuali associati alle macchine virtuali. Per impostazione predefinita, con l’ovvia e giustificata logica di voler risparmiare il massimo dello spazio possibile, i dischi vengono creati in modo dinamico. Ciò significa che il virtualizzatore (VirtualBox o VirtualPc) fa vedere al pc virtuale (guest) uno spazio massimo disco pari alla capacità assegnata in sede di configurazione iniziale ma nella macchina ospitante (il pc vero chiamato host) viene generato un file di dimensioni iniziali minime. A mano a mano che il sistema guest scrive dati sul disco virtuale, il sistema host “ingrandisce” il file che contiene l’immagine del disco secondo necessità.

In definitiva il disco virtuale è per la macchina host nè più nè meno che un normale file di dati: più dati di ci sono … più il file si ingradisce. Questa tecnica dinamica si chiama thin-provisioning: l’host occuperà sul disco fisico solo lo spazio necessario a contenere tutti i dati veri del disco virtuale guest escluso lo spazio vuoto. Ovvero: se la macchina guest ha a disposizione un disco di 10Gb ma occupa spazio complessivo per soli 4Gb, il file/disco virtuale nella macchina host sarà solo di 4Gb.

I vantaggi di una tale impostazione sono facilmente intuibili: posso creare diverse macchine virtuali assegnando ad ognuna 10Gb di disco ma in realtà il vero spazio occupato sul mio disco fisico sarà molto minore. Inoltre, dovendo passare un disco virtuale, da un host ad un altro dovrò copiare molti meno dati. I vantaggi, tuttavia, si esauriscono qui.

Gli svantaggi, per contro, sono facilmente identificabili e gli utilizzatori esperti di sistemi di virtualizzazione desktop (per sistemi professionali tipo VMWare i discorsi cambiano) ben sanno quali pesanti effetti abbiano sulle performance dei pc guest.

  1. L’estensione richiede tempo: un pc virtualizzato (guest) ogni volta che scrive un dato nuovo sul suo disco, di fatto, richiede all’interprete hardware (virtualizzato anche quello) di scrivere una determinata informazione. L’interprete hardware è il virtualizzatore stesso che riceve la richiesta dal pc guest e la gira al file-system del sistema host (il pc vero) il quale la scriverà nel file che assolve alla funzione di disco virtuale. Trattandosi di un nuovo dato il file-system host dovrà estendere la dimensione del file per inserirci la nuova informazione. E qui si apre il problema: c’è spazio alla fine del file per estenderlo di un incremento ? Se la risposta è si siamo fortunati ed i nuovi dati verranno inseriti in settori contigui ai precedenti, se la risposta è no allora il sistema operativo host dovrà andare a cercare su disco una posizione che abbia uno spazio libero sufficiente ad accogliere un incremento del file e, subito dopo, andare ad aggiornare la MFT per indicare che il file/disco virtuale è composto da un nuovo pezzo (frammento) aggiuntivo che si trova alla posizione tal-dei-tali. Questa operazione comporta tempo e, se il file/disco virtuale si trova su un disco fisico molto frammentato, riduce pesantissimamente le prestazioni della macchina guest.
  2. Le frammentazioni si sommano. La macchina guest (il pc virtuale) si comporta come un normale pc, non sa’ di essere virtuale. Per questo quando opera le sue scelte sul come e soprattutto sul dove scrivere i suoi dati all’interno del disco, si comporta come se si trattasse di un normale disco fisico, e come tale è soggetto al normale difetto frammentazione. Ma non basta: a questo si deve aggiungere la frammentazione del “vero disco fisico”, quello del pc vero, che contiene il file che funge da disco virtuale. Anche quello viene frammentato secondo la necessità, non del guest, ma dell’host. Si arriva quindi a situazioni paradossali in cui, giusto per fare un esempio, il pc guest crede di recuperare un file in una catena di 5 frammenti, mentre il sistema host, per assolvere a quella richiesta, deve andare a leggere 15 o 20 o più frammenti del file/disco virtuale. A lungo andare questa situazione fa crollare le prestazioni guest. E non serve nemmeno far girare un deframmentatore sul pc guest perchè il pc virtuale non sa di quanti frammenti è composto il suo disco nel sistema host.

La best practice per gestire il disco (o i dischi) di un pc virtuale all’interno del proprio pc vero è la seguente:

  1. Pianificare la dimensione da assegnare alle unità disco per il pc virtuale: una corretta pianificazione dovrebbe prevedere, per ogni pc virtuale, almeno due unità disco corrispondenti ad altrettanti file sull’host. Il primo da creare come unità a dimensione fissa sul quale installare il sistema operativo, le eventuali partizioni swap (se si tratta di os Linux) ed i programmi che si intende installare. Il secondo, che potrà essere ad allocazione dinamica, che utilizzeremo per memorizzare i dati.
  2. Assicurarsi che sull’unità fisica su cui andranno creati i file/disco disponga di sufficiente spazio per contenere il disco a dimensione fissa ed almeno il 30% della dimensione dell’unità ad allocazione dinamica.
  3. Eseguire, sull’unità fisica, una deframmentazione completa (con compattazione dello spazio libero)
  4. Istanziare il disco a grandezza fissa: il file verrà generato immediatamente pari alla dimensione massima associata all’unità virtuale e riempito con zeri (thik-provisioning). In questo modo saremo sicuri che il file/disco una volta generato, sarà verosimilmente in un blocco unico e non verrà esteso automaticamente (aumentando il numero dei frammenti). Tutte le operazioni di lettura/scrittura che il sistema guest invocherà, verranno eseguite dal sistema host all’interno del file già istanziato
  5. Istanziare il disco a grandezza dinamica
  6. Avviare la macchina virtuale e procedere all’installazione del sistema operativo.

In questo modo apprezzerete che le performance del vostro pc virtualizzato (a meno che non carichiate di altre incombenze il pc host) non degraderanno più così drasticamente.

In condizioni ideali le perfomance delle operazioni di lettura e scrittura su disco sono massime quando ogni file è contenuto in posizioni contigue o meglio quando tutti i dati del file sono collocati in cluster consecutivi (uno vicino all’altro) all’interno del volume. L’allocazione contigua dei dati migliora la velocità di lettura (soprattutto) e di scrittura perchè evita numerosi movimenti delle testine del disco alla ricerca di pezzi di file collocati in posizioni diverse. Per questo motivo si dice che quando i file sono spezzettati in tante parti sparse all’interno del volume questi sono frammentati.

Il problema della frammentazione è sempre stato critico per i file-system basati su FAT (File Allocation Table) ovvero il tipo di file-system predefinito dal DOS ai vecchi Windows 3.0, 3.1, 95, 98, ME e ancora largamente adottato per impostazione di base in moltissime installazioni di Windows XP. Questo sistema è molto poco intelligente e presta scarsissima attenzione agli effetti che un alto livello di frammentazione causa alle performance di lettura e scrittura su disco.

Con l’avvento di Windows NT e successivi, Microsoft ha adottato un nuovo sistema per la allocazione dei file su disco denominato NTFS: un sistema molto più sofisticato che prevede, ad esempio, spazi “extra” per l’allocazione di ogni file in modo che questi possano crescere in dimensioni – entro certi limiti – senza per forza andare ad occupare cluster in posizioni molto lontane le une dalle altre. Con questo sistema i problemi e gli effetti della frammentazione sono stati ridotti, certamente, tuttavia non eliminati. Sfortunatamente tutto ciò ha portato all’errato mito popolare secondo cui la frammentazione non è un problema dei sistemi NTFS e che pertanto la deframmentazione di dischi NTFS non è necessaria. A questo si aggiunga il fatto che Microsoft ha impropriamente alimentato questo mito non rendendo disponibile, nel vecchio Windows NT, un tool per la deframmentazione di dischi NTFS. Tuttavia la realtà è ben diversa e, come ben sanno numerosi utenti esperti, l’utilizzo prolungato di dischi NTFS senza un’adeguata pianificazione di deframmentazione porta, alla lunga, a evitabili perdite di performance.

La maggiore complessità di NTFS rispetto a FAT, se da un lato garantisce una maggiore flessibilità nell’allocazione dello spazio, dall’altro, dato l’aumentato numero di informazioni ed attributi di file riportati nella MFT, è soggetta a differenti tipi di frammentazione che portano inevitabilmente a “seminare” pezzi di file in giro per il disco specialmente nel caso di file inizialmente di piccole dimensioni che tendono a crescere. E, infine, anche NTFS scrive la parte fisica dei dati in cluster fisici del disco obbligando le testine a numerosi movimenti di ricerca. Tanto è vero che da Windows 2000 in avanti, incluso XP, Microsoft ha reinserito un tool di deframmentazione basato su tecnologia licenziata da Executive Software, produttrice del celeberrimo Diskeeper: ovviamente si tratta di un prodotto molto più limitato dell’omologo a pagamento, ma in buona sostanza, comunque decente.

Windows Vista, per impostazione predefinita, utilizza NTFS come file-system e, come sicuramente vi sarete accorti, il “caro vecchio” defrag (con tanto di mappa grafica che riporta in vari colori le aree frammentate, le aree libere ecc.) è sparito. Al suo posto un tool di deframmentazione schedulabile, senza indicazione di progresso e dalle capacità ancora molto limitate alcune delle quali addirittura richiamabili solo da riga di comando (per impostazione predefinitia infatti il nuovo defrag non deframmenta i file più grandi di 64MB a meno che non si utilizzi lo switch -w da riga di comando). Certo ci sono stati dei miglioramenti come per esempio la possibilità di interruzione dell’operazione di deframmentazione in qualsiasi momento senza dover attendere a lungo il completo spostamento di file di grandi dimensioni. Ciò nonostante le opzioni di deframmentazione sono molto limitate e, a mio avviso, ne manca una fondamentale: la deframmentazione anche dello spazio libero. Il tool di deframmentazione di Windows Vista, infatti, si limita a deframmentare i file ma non compatta lo spazio libero motivo per cui se dopo un’operazione di deframmentazione ci si trova a dover creare un file di grandi dimensioni (come ad esempio un disco virtuale per un VirtualPc o VirtualBox) questo sarà sicuramente frammentato perchè difficilmente sarà disponibile un singolo blocco contiguo di spazio libero sufficiente a contenere i diversi Gigabyte del disco. Un’altra considerazione importante da fare relativamente alla compattazione dello spazio libero riguarda la velocità di accesso ai file: spostare i file nei settori bassi del disco (all’inizio) aumenta notevolmente la velocità di accesso agli stessi file, mentre lo spazio libero lasciato nei settori alti non richiede accessi continui e quindi i movimenti delle testine sono più ridotti. Tutto questo aumenta considerevolmente anche la vita media del disco stesso.

Fortunatamente esistono diverse soluzioni che permettono di ovviare al problema della frammentazione dei dischi NTFS. Tra quelle a pagamento vale la pena di annoverare l’eccellente Diskeeper, appunto, che costituisce probabilmente il miglior prodotto in circolazione data anche la specializzazione per server o per workstation. Oppure PerfectDisk di Raxco o ancora O&O Defrag di O&O Software.

Ma vi sono anche ottimi prodotti gratuiti che possono aiutarvi a tenere in ordine il vostro hard-disk ed a mantenere il più elevate possibile le performance del vostro Windows Vista. Ne ho testati diversi e vi propongo la mia personalissima classifica dei migliori senza per questo escludere che ce ne possano essere anche altri che mi sono sfuggiti.

MyDefrag (4.x) aka JKDefrag

JKDefrag è la prima utilità di deframmentazione per Windows completamente OpenSource e gratuita. L’accoppiata open e free oltre alle ottime caratteristiche gli fa guadagnare il primo posto nella mia classifica. Il nome è dovuto al suo sviluppatore Jeroen Kessels (JK) il quale utilizzando le API messe a disposizione dalla libreria di deframmentazione standard di Windows 2000, 2003, XP e Vista, ha creato un tool molto sofisticato ed allo stesso tempo facile da utilizzare. La versione 3.x che portava il suo nome è stata ora rimpiazzata dalla versione 4.x che l’autore ha ribattezzato MyDefrag data l’amplissima possibilità di configurazione e di scripting messa a disposizione che rende il software estremamente configurabile nelle opzioni e nel funzionamento: come l’autore stesso ci tiene a sottolineare JKDefrag è diventato il TuoDefrag.

Dispone di diverse strategie di deframmentazione e di ottimizzazione ed opera su qualsiasi unità che Windows veda come unità disco (hd, floppy, dischi USB, memory-stick ecc.). Gli algoritmi utilizzati dallo sviluppatore “ragionano” sulla migliore disposizione dei file all’interno del disco e le chiamate API alla libreria di sistema di Windows comandano lo “spostamento del file da qui a qui” in modo che sia il sistema operativo a spostare i file e non l’applicazione stessa. Eccellente poi la similitudine utilizzata dall’autore per rendere chiaro il concetto di deframmentazione ed ottimizzazione.

Il download di MyDefrag pesa solo 1.6 MB (alla versione attuale 4.1.2) ed è disponibile in lingua italiana (anche se non completamente e perfettamente tradotta). La procedura di installazione è molto “basica” e non confonde l’utente con mille opzioni. Durante l’installazione è possibile selezionare l’attivazione dello screen-saver (che farà partire la deframmentazione appunto quando generalmente parte lo screen-saver ovvero dopo un certo tempo di inattività del computer) oltre a pianificare il lancio schedulato di una ottimizzazione rapida alle 5 del mattino. Nella stragrande maggioranza dei casi il vostro computer non sarà acceso alle cinque del mattino motivo per cui potrete facilmente modificare l’orario di avvio dell’ottimizzazione lavorando con lo strumento Utilità di Pianificazione (Windows Vista) o Lavori Schedulati (Windows XP).

L’esecuzione dei lavori di deframmentazione ed ottimizzazione è basata su un linguaggio di scripting discretamente documentato nel sito. Questa caratteristica tuttavia lo rende poco intuitivo per un’utenza poco esperta che, del resto, non avrà nemmeno bisogno di moltissime e sofisticate opzioni.

Unica nota “strana”. La stragrande maggioranza della applicazioni di deframmentazione rappresentano una mappa grafica del disco con i settori iniziali in alto mentre per mydefrag i settori iniziali sono in basso. Questo potrebbe indurre a pensare che l’applicazione abbia portato all’inizio del disco lo spazio libero … tranquilli … non è così.

defrag-mydefrag

Piriform Defraggler

Dallo stesso sviluppatore del ben più noto CCleaner, ecco un defragger minimalista ma non ridotto, molto ben fatto che mi ha davvero impressionato. Completamente gratuito. Il download di Defraggler pesa solamente 866 Kb e dopo un rapidissimo setup nel quale vi viene chiesto poco più della directory di installazione, potrete avviare l’applicazione ottimamente (anche se non completamente) tradotta in italiano.

I poco esperti apprezzeranno subito il look-and-feel di questo efficace deframmentatore che è stato mantenuto il più vicino possibile al “vecchio” defrag di Windows XP che tanti conoscono. Immediati e subito riconoscibili i comandi per l’analisi dello stato di frammentazione del disco. Tra le caratteristiche salienti la possibilità di effettuare la sola deframmentazione dei file frammentati (tutti o solo quelli selezionati) oppure di procedere con la deframmentazione dell’intera unità disco. In questo secondo caso il programma lavorerà ottimamente spostando tutti i file nei settori iniziali del disco e, di conseguenza, compattando lo spazio libero.

Avrei molto apprezzato fosse disponibile una caratteristica che minimizzasse la finestra di lavoro direttamente nella tray-bar di Windows, cosa particolarmente utile durante l’esecuzione della deframmentazione del disco, giusto per non avere l’ennesimo bottone/applicazione installato nella taskbar. Comunque non è una grossa mancanza.

Per il 95% dei casi il programma funziona al meglio con le impostazioni di base ma per chi volesse cimentarsi con il menu Impostazioni troverà numerosi switch per ottimizzarne le funzionalità. Comodissima la funzionalità di verifica disco (chkdisk) integrata.

In conclusione un prodotto ottimo ed efficace che considero la migliore scelta per un utenza non specializzata.

defrag-piriform

IOBit SmartDefrag

Al terzo posto un’altro freeware. A differenza del precedente questo deframmentatore ha pretese un po’ più professionali (mi si passi la frase) e per questo motivo le dimensioni del download di Smartdefrag sono un po’ più corpose (2.9 MB). L’interfaccia, caratterizzata da un feeling di minor cura ed attenzione ai dettagli – penalizzata oltretutto da una pessima traduzione in italiano -, viene controbilanciata da maggiori funzionalità. Sono disponibili tre strategie di deframmentazione: solo deframmentazione, deframmentazione ed ottimizzazione, Deep Optimize (che tradurrei con Massima Ottimizzazione). La mappa grafica del disco è decisamente familiare ed è facilmente pianificabile l’attività di deframmentazione ad un orario specificato.

Caratteristica saliente di questo prodotto è la funzionalità “Auto Defrag” che possiamo assimilare al downgrade di una deframmentazione permanente offerta da prodotti di ben più alto lignaggio (vedi Diskeeper). Con Auto Defrag attivo il processo di deframmentazione parte automaticamente ogni volta che il computer risulta “idle” (inattivo) per un certo periodo di tempo facilmente configurabile tramite cursori a scorrimento. A differenza dei deframmentatori che si attivano con lo screen-saver (per esempio MyDefrag) SmartDefrag inizia a lavorare in background anche se state lavorando al computer (magari su un documento di testo) senza impegnare le risorse del disco. Chiudendo l’applicazione questa viene ridotta ad icona nella traybar di windows e potrete vedere quando lavora tramite un’animazione della stessa. Se l’icona è fissa invece l’applicazione è inattiva. In funzione di questa caratteristica è consigliabile attivare l’opzione di avvio automatico di SmartDefrag all’avvio di Windows.

Molto apprezzato il checkbox che, se attivato, spegne il computer al termine della deframmentazione: potrete lanciare la deframmentazione prima di andarvene a casa e lasciare che Smartdefrag lavori e spenga il pc per voi.

In conclusione un altro ottimo prodotto. Si classifica solo al terzo posto perchè nei test da me effettuati ha avuto qualche difficoltà nel deframmentare file di grandissime dimensioni (oltre 4Gb) su dischi dove non era disponibile uno spazio libero equivalente e contiguo. Inoltre, seppure apprezzabile, non consiglio l’attivazione della funzionalità di Auto Defrag in quanto, specialmente sulle macchine su cui è presente una protezione antivirus di tipo permanente, può essere causa di rallentamenti inattesi.

defrag-smartdefrag

Menziono anche un’altro prodotto di cui ho trovato molti riferimenti sul web: Auslogics DiskDefrag. Dal test che ho effettuato ha evidenziato ottime caratteristiche di velocità anche se si limita solo alla deframmentazione dei file (non esegue ottimizzazione e compattazione dello spazio libero). Inoltre, la pur ottima interfaccia, è costellata di link “capziosi” che invitano all’acquisto di una applicazione a pagamento (BoostSpeed) che dovrebbe velocizzare in generale il computer. Dal momento che non l’ho provata e generalmente sono piuttosto scettico di fronte a questi tipi di applicazione, non ritengo di dare ulteriori indicazioni.

Nota molto importante !!! Tutte queste applicazioni, durante la loro esecuzione, hanno un notevole impatto sulle prestazioni del computer. Bisogna aspettarsi un miglioramento delle prestazioni del pc dopo che è stato completato il ciclo di deframmentazione, non durante. Sarebbe bene quindi pianificare le attività di deframmentazione in periodi di inattività del computer come la pausa pranzo. Inoltre, se possibile, sarebbe bene, durante la deframmentazione, sospendere la protezione residente dell’antivirus: ogni file letto o sposato (ed il deframmentatore li legge praticamente tutti) verrebbe sottoposto a scansione antivirus allungando notevolmente i tempi di esecuzione. Ovviamente, al termine, ricordatevi di riattivare l’antivirus.

Una delle motivazioni che spingono a lavorare con i pc virtuali è, intuitivamente, quello di disporre di diversi ambienti completamente isolati dalla macchina principale (la macchina ospite) per poter effettuare delle prove su nuovi software o anche eseguire operazioni potenzialmente a rischio come per esempio testare l’efficacia di diversi antivirus su un archivio di file infetti.

Specialmente in questo secondo ambito è spesso utile non attivare le funzionalità di rete rese disponibili dal computer host al computer guest proprio per evitare che possibili infezioni possano distribuirsi tramite condivisioni o connessioni TCP.  Come si fa allora a travasare dati da una macchina virtuale ad un’altra o dalla macchina host ad una macchina virtuale mantenendo il massimo livello di isolamento possibile ?

Basta utilizzare un hard disk (ovviamente virtuale) su due o più macchine virtuali.

In questo piccolo esempio utilizzerò Microsoft Virtual PC ma lo stesso discorso vale anche per Sun Virtual Box. Assumendo ad esempio che abbiate a disposizione due PC virtuali (A e B) configurati con Virtual PC potete:

  1. Tramite la console di Virtual Pc accedete alle impostazioni della macchina virtuale A
  2. Cliccate su “Disco Rigido 2″ e quindi sul bottone “Configurazione Guidata Disco Virtuale”
  3. Create un nuovo disco virtuale secondo le vostre esigenze
  4. Al termine del wizard assegnate il nuovo disco virtuale all’unità “Disco Rigido 2″
  5. Salvate con Ok
  6. Avviate la macchina A (nel mio caso un Windows XP Pro)
  7. Una volta avviata la macchina virtuale portatevi in Pannello di Controllo -> Strumenti di Amministrazione -> Gestione Computer
  8. Accedete alla sezione “Archiviazione” -> “Unità Disco”
  9. Troverete che è disponibile un nuovo disco interamente NON allocato
  10. Allocate lo spazio in una nuova partizione e formattatelo : attenzione, per la formattazione scegliete un filesystem che sia compatibile con il sistema operativo della macchina B.
  11. Assegnate la lettera di unità e salvate.
  12. Ora in Gestione Risorse avete il nuovo disco disponibile e potete metterci quello che desiderate.
  13. Arrestate la macchina A
  14. Nuovamente nella console Virtual PC accedete alla configurazione della macchina B ed assegnate lo stesso disco virtuale precedentemente creato allo slot “Disco Rigido 2″
  15. Salvate
  16. Avviate la macchina B (nel mio caso un altro XP identico a quello di macchina A)
  17. In gestione risorse vi trovate disponibile il nuovo disco con i contenuti che avete precedentemente salvato con la macchina A

In questo modo potete travasare dati da A a B e viceversa senza utilizzare rete, floppy, chiavette ecc ed in modo totalmente isolato dal computer host (il computer vero) che resterà dunque completamente protetto.

In effetti la procedura è banale ma … tant’è … me lo hanno chiesto in molti.