Che cos’è il Virtual Machine File System (VMFS)?
Virtual Machine File System (VMFS)
Nella nostra discussione sui NAS, abbiamo menzionato brevemente che i dati sono organizzati da un “file system”. Senza un qualche metodo di gestione dei file, i dati in un dispositivo di archiviazione sarebbero una massa incomprensibile, senza alcuna indicazione di dove finisce una serie di dati e inizia quella successiva. Potete immaginare quanto sarebbe confuso se le 70.000 canzoni sul vostro disco rigido da 1tb fossero tutte insieme, senza nomi e informazioni sulle tracce. È solo quando i dati sono separati in pezzi individuali che possono essere identificati e recuperati.
Questi pezzi separati di dati sono raggruppati in file, che sono a loro volta raggruppati in directory (che possono contenere sottodirectory – directory nelle directory). Questa disposizione gerarchica permette agli utenti di navigare nei diversi livelli di un file system come richiesto. I file system forniscono “metadati” per ogni file (ad esempio, nome del file, timestamp, permessi) e indici che permettono al sistema operativo di sapere quali file sono su un’unità e dove si trovano.
Ci sono molti tipi di file system, compresi i file system per i dischi, per i database e per le reti. Esempi di file system di cui potreste aver sentito parlare sono NTFS (supportato da Windows), ext (ad esempio, ext2, ext3 e ext4) e ReiserFS (entrambi supportati da Linux), HFS+ e APFS (entrambi supportati da macOS di Apple), e UDF e ISO 9660 per dischi ottici. Su un disco rigido il file system viene creato quando il disco viene inizializzato (se è nuovo) o formattato (se è nuovo o no).
Lo storage virtualizzato è progettato per dare alle macchine virtuali (VM) lo storage di cui hanno bisogno per ospitare i loro sistemi operativi e applicazioni. In un ambiente virtualizzato, i dischi virtuali di una macchina virtuale sono memorizzati su un “datastore”. (Nel processo di virtualizzazione, viene creata una partizione su un disco fisico per formare uno spazio noto come “Logical Unit Number” o LUN; uno o più LUN costituiscono un “volume”; un certo numero di volumi costituiscono un datastore). Un datastore in genere ha bisogno di avere un file system installato su di esso per potervi accedere. Con la piattaforma di virtualizzazione del cloud computing di VMware, vSphere, i datastore sono impostati con uno dei due formati di file system: il “Virtual Machine File System” (VMFS) o il “Network File System” (NFS). NFS sarà discusso nella prossima sezione.
VMware ha aperto la strada alle tecnologie di virtualizzazione e ha sviluppato il proprio file system, VMFS, per lavorare con esse. I file system convenzionali permettono a un solo server di avere accesso in lettura/scrittura a un dato file in un dato momento. Al contrario, VMFS permette a più server di avere accesso in lettura e scrittura alle stesse risorse di storage allo stesso tempo. Questo perché VMFS è un clustered file system (CFS) ad alte prestazioni, “cluster” significa che è montato (reso accessibile) simultaneamente su più server.
La tecnologia di virtualizzazione di VMware permette a VMFS di stabilire e allocare lo storage virtualizzato per macchine virtuali e server. VMFS permette anche a più VM di condividere un singolo file system. In una configurazione semplice, i dischi delle macchine virtuali sono memorizzati come file all’interno di VMFS. Affinché VMFS capisca le operazioni di file richieste da un dispositivo SCSI, lo strato di virtualizzazione traduce i comandi SCSI emessi da un sistema operativo guest.
Una macchina virtuale ‘vede’ un disco virtuale che è memorizzato su un datastore VMFS come un dispositivo SCSI montato. Il sistema operativo in esecuzione all’interno della VM non “vede” VMFS – “vede” invece il proprio file system.
Un datastore VMFS può essere collegato a un singolo SAN LUN o distribuito su più SAN LUN. Puoi anche espandere un datastore mentre le macchine virtuali sono in esecuzione su di esso, sia facendo crescere il datastore che aggiungendo una nuova area di storage. Il datastore VMFS può essere esteso su 32 aree fisiche di storage dello stesso tipo. (VMFS può essere utilizzato su un’ampia varietà di dispositivi di storage a blocchi, tra cui Fibre Channel SANs, iSCSI SANs, storage locale e Fibre Channel over Ethernet.)
Con più server ESXi in un cluster, le macchine virtuali sono accese, la funzione del meccanismo di blocco VMFS assicura che le VM non siano accese da tutti i server ESXi in un cluster. Più host ESXi possono accedere allo stesso datastore VMFS in un ambiente di storage condiviso, e questa è la ragione del blocco su disco. Con VMware High Availability, tuttavia, il meccanismo di on-disk locking è disabilitato in modo che gli host ESXi nel cluster possano fare failover con successo nel tentativo di accendere la macchina virtuale su un altro server fisico funzionante. Come tutti gli hypervisor, ESXi (abbreviazione di “Elastic Sky X Integrated”) crea ed esegue le VM. È un hypervisor di “tipo 1”, il che significa che non si basa sul sistema operativo del suo host, ma gira direttamente sull’hardware dell’host, contenendo al suo interno un sistema operativo di base (OS) che include il kernel. (VMware HA (o “High Availability”) raggruppa le VM e gli host su cui risiedono in un cluster. Gli host nel cluster sono monitorati e, in caso di guasto, le VM su un host fallito vengono riavviate su host diversi. VMware HA permette alle aziende di fornire alta disponibilità a qualsiasi applicazione in esecuzione in una VM.
Ogni macchina virtuale è incapsulata in un piccolo insieme di file in una singola directory. Il disaster recovery è quindi notevolmente semplificato; l’intera VM può essere specchiata in remoto e recuperata facilmente in caso di disastro.
Il ripristino di una macchina virtuale è molto più semplice.