Alcune idee sulla virtualizzazione – parte prima

In questo post vi parlerò di virtualizzazione di server. Davvero sulla virtualizzazione si può ancora dire qualcosa che non sia già stato ampiamente detto e ridetto? Per quanto mi riguarda, più che avere la presunzione di dire qualcosa di nuovo e di interessante, cosa che lascio giudicare a voi, vi parlerò di una mia personale interpretazione e di alcune prove che ho condotto per verificare la fattibilità delle mie idee. Per Wikipedia la  virtualizzazione è la tecnologia che permette ad un server di gestire diversi sistemi operativi andando ad emulare le istanze dei sistemi operativi “ospiti”; questo agevola il mantenimento di un insieme di applicazioni su un singolo server e con un maggior livello di affidabilità. L’hypervisor è il componente chiave per un sistema basato appunto sulla virtualizzazione.

Nelle moderne architetture i dischi interni dei server contengono il sistema operativo e poco altro. Generalmente i dati risiedono su un disk array esterno, ad esempio organizzati in architettura DAS (Direct Attached Storage) o, ancora meglio, in SAN (Storage Area Network).

NAS_DAS_SAN

Fonte http://en.wikipedia.org

In questo post farò riferimento ad una architettura SAN, rappresentata in maggior dettaglio nella figura seguente.

san1

Fonte: http://www.allsan.com

Lo zoning ed il LUN masking sono meccanismi che consentono di controllare quali server hanno accesso a quali dispositivi e, per esempio, limitare un singolo server ad un gruppo di dispositivi di storage (anche un singolo storage) oppure associare un raggruppamento di server ad uno o più dispositivi di storage. Mi riferirò ad uno spazio di storage SAN visibile da un host con il termine LUN. Gli amministratori di sistema più scaltri, una volta che un server “vede” una LUN, preferiscono formattarla come partizione LVM perchè la gestione a livello sistemistico degli spazi fisici risulta molto semplificata e versatile. Le tipiche operazioni da compiere sono: formattazione della partizione, creazione del volume group, creazione dei volumi logici, creazione e formattazione dei filesystem, montaggio dei filesystem.

lvgFonte http://www.redhat.com

L’utilizzo di LVM presenta anche un altro grande vantaggio: il volume group è autodescrittivo, nel senso che una parte riservata del disco chiamata VGDA (Volume Group Descriptor Area), contiene i metadati di composizione del volume group e dei vari logical volumes. In caso di problemi ad un server fisico, “pubblicando” una LUN verso un altro server, possiamo tirarci dietro tutti i dati ed i filesystems già definiti. Se il driver della scheda in fibra HBA lo supporta (verificate con il costruttore della scheda come fare, se no è necessario fare reboot) , basta fare un rescan a caldo del bus SCSI ed il giuoco è fatto: la LUN diventa visibile al server. I comandi Linux vgscan, che esegue una scansione dinamica dei dischi e dei volume group,  vgchange, per attivare il volume group, e mount per il  montaggio dei filesystem, completeranno la sequenza delle operazioni.

Attraverso i moderni software di virtualizzazione si possono costruire architetture  dotate di caratteristiche sofisticate come Live Migration e Cluster High Availability. Come   amministratore dei sistemi, però, ho il timore che adottando uno strumento di virtualizzazione sarò  costretto ad eseguire operazioni di migrazione/riconversione degli spazi fisici già definiti,  certamente dispendiose e critiche anche per le implicazioni sulla continuità del servizio. E forse, in fin dei conti, di acquistare un biglietto di sola andata verso un software ed un formato proprietari.

Fatta questa lunga premessa, la mia domanda è la seguente:  supponiamo di avere un server che monta una serie di filesystem della dimensione di centinaia e centinaia di gigabyte, contenuti in uno o più volume group costituiti da dischi fisici appartenenti ad uno storage array raggiungibile in SAN.

lvolsFonte http://www.redhat.com

E’ possibile creare un server virtuale equipollente (magari facendo una conversione P2V – Physical to Virtual del solo disco interno) senza dover ricopiare o convertire i dati già registrati e conservando nel contempo funzionalità, codifica, formato dei dati e dei filesystem originali?

Sarebbe interessante sentire il parere dei vari produttori di tecnologia di virtualizzazione presenti sul mercato.  Per quanto mi riguarda  ho condotto alcune prove con RedHat KVM (vedi il mio post precedente su RedHat KVM) e la prossima volta  vi darò tutti i dettagli del caso.

Leave a Reply