venerdì 22 giugno 2012

Physical to Virtual a costo 0 ... o quasi!

Problema: Il vecchio programma di contabilità di una società, un software client/server è installato su un Pentium IV con Windows 2000 Professional per la parte client e un Server Compaq Proliant ML350 G3 con Windows 2000 Server per il corrispettivo back office. Entrambe le macchine devono essere dismesse in quanto non più affidabili, ma va mantenuta la possibilità di accesso al vecchio software ed a tutti i dati contabili.

Premesso che il “quasi” del titolo si riferisce esclusivamente al fatto che il Sistema Operativo ospite che ho utilizzato è Windows 2008R2, che non è gratis, ma probabilmente se avessi usato VMware o qualche altro software di virtualizzazione “free”, l’operazione sarebbe effettivamente a costo zero; in questo periodo non ho il tempo per provare l’alternativa, me riprometto di farlo ed annotare i risultati.
Come dicevo, il sistema operativo ospite è Windows 2008R2 Server, debitamente installato, con fra i ruoli naturalmente Hyper-V che ospita le machcine virtuali. Tutto il resto delle operazioni è stato fatto con le versioni trialware di Symantec Backup Exec e VMWare Workstation, più qualche altro tool gratuito disponibile in rete.

Per prima cosa va installato Symantec Backup Exec sia sul Server che sul Client da virtualizzare. Nel mio caso specifico su Windows 2000 Server per il Proliant e Windows 2000 Pro per il Pentium IV. Quest’operazione è stata più complessa per le mie coronarie che per la difficoltà in sé stessa, ad ogni riavvio temevo che il server non ripartisse!
Da qui faccio riferimento ad una sola macchina, ma il procedimento è identico per tutte le macchine da virtualizzare. E’ ovvio che in teoria possiamo virtualizzare un’intera LAN.
Il primo passaggio consiste nel creare un’immagine di backup totale della macchina, ovviamente evitando di salvare i dati che non ci serviranno, nel mio caso il server aveva un RAID 5 di 70 Gb, ma alla fine me ne sono fatti bastare 15 Gb. Quest’operazione ci restituisce in una directory i files per il ripristino della nostra macchina ed in particolare, oltre al backup dei dischi fisici, anche un “bellissimo” file con estensione “.sv2i”: Symantec LiveState Recovery Image, il nome è tutto un programma. Spese per il software = 0,00 €, stiamo usando la versione trial; tempi lunghi dovuti sia alla vetustà delle macchine sia alla quantità di dati da scrivere su un’unità esterna che poi sposteremo nella macchina che farà la conversione definitiva. N.B. i software di virtualizzazione concorrenti NON si installano su Windows Server 2008R2.

Ora bisogna convertire i backup in macchine virtuali, per fare questo si utilizza “VMware vCenter Converter Standalone”. Si tratta di un software gratuito distribuito da VMware, bisogna registrarsi per averlo, ma è molto utile.

Per fare ciò basta premere sull’apposito pulsante “Convert machine”, selezionare nel source type “Backup image or third-party virtual machine”, puntare al file con estensione “.sv2i” ed avere molta pazienza, il processo sarà lungo.
A questo punto abbiamo la nostra bellissima macchina virtuale VMWare con estensione “.vmx” e dischi virtuali “.vmdk” che possiamo aprire con VMware Workstation; anche in questo caso stiamo usando una versione trial a costo 0,00 €.
Installiamo nella macchina virtuale i VMtools, che ci permettono di ottimizzare la memoria, la scheda grafica virtuale, l’integrazione con la macchina che stiamo usando per la trasformazione.
Procediamo con l’ottimizzazione della macchina appena creata iniziando con l’attualizzazione dello HAL (Hardware Abstraction Layer). La nostra vecchia macchina fisica aveva il suo chipset, i suoi drivers e molto software che serviva per l’interazione tra ferro e software; i driver della scheda video vecchia, della stampante, dello scanner, eccetera non servono più, occupano spazio fisico e se attivati “virtualmente” consumano risorse fisiche vere. Facciamo una bella pulizia di tutto quello che non serve più!
Una volta che il computer virtuale è pulito e siamo certi che le funzionalità che servono sono operative, bisogna spegnere la Virtual Machine, e dalla console di VMware Workstation aggiungere un nuovo disco IDE. Per default le macchine VMware sono basate su dischi SCSI (è una raccomandazione VMware), ma Hyper-V non supporta questo tipo di boot e la macchina virtuale risultante sarebbe inutile, partirebbe con uno sfavillante Blue Screen Of Death (BSOD): errore “Inaccessible Boot Device”. E’ bene accertarsi che il disco IDE appena aggiunto sia “Adapter: IDE 0 Device: 0” sotto “Virtual Device Node”, questa è solitamente la posizione del CD virtuale, ma spostare una periferica che non sarà usata non crea nessun problema.
Tanto per stare tranquilli e non perdere tempo inutilmente, avrete capito che il vero costo in quest’operazione è il tempo, suggerisco di riavviare la macchina virtuale ancora una volta e verificare in “Gestione Computer – Gestione Disco” che il disco IDE appena aggiunto sia presente, anche se non inizializzato.
Spenta la macchina procediamo a convertire il disco VMDK della VMWare Machine in un disco virtuale di tipo VHD il formato proprietario di Microsoft, per fare questo utilizziamo l’ennesimo software gratuito “Vmdk2Vhd” che si trova in rete, attualmente al seguente link http://vmtoolkit.com.
Portiamo il disco virtuale appena creato “.vhd” sul nostro server Windows 2008R2 e con Hyper-V creiamo una nuova macchina virtuale facendo attenzione durante la configurazione di impostare “Usare un disco virtuale esistente” e selezionare il nostro “.vhd”.
Abbiamo quasi finito.
Avviamo la nuova macchina virtuale, installiamo i servizi di integrazione, che sono l’equivalente Microsoft dei VMtools, e facciamo ancora pulizia; possiamo togliere i VMtools per esempio!
Impostiamo la rete virtuale di Hyper-V, verifichiamo che tutti i servizi siano funzionanti e che le applicazioni che ci servono siano operative come nell’ambiente reale.
Se tutto funziona, e dovrebbe (!), abbiamo virtualizzato le nostre macchine da dismettere, con il vantaggio che possiamo sempre ricavare degli snapshot del loro stato.
Fine!!!

P.S.

E’ ovvio che per virtualizzare n macchine serve un’infrastruttura hardware adeguata.

domenica 27 maggio 2012

Intro...duzione - Blog 2: La Vendetta

E' con triste rammarico che scopro che i miei vecchi "blog", per così dire, sono morti, sia quello tecnico, firmato come CadGeek, sia quello ludico, firmato da Salagadula.
Provvederò a riportare online alcuni degli articoli, con la data originale, rivedendo, ove possibile il contenuto, e colmando, nel minor tempo possibile il gap temporale fra i post vecchi e quelli presenti.