Cerca nel blog

giovedì 13 settembre 2012

Space-Efficient Sparse Virtual Disks


I dischi thin indirizzano una delle maggiori cause di inefficienza nell’uso dello spazio, allocando blocchi di storage al file system delle guest OS solo quando questi sono necessari, piuttosto che preallocarli all’atto della creazione della VM. Questo meccanismo, tuttavia, risolve una parte del problema in quanto se lo spazio viene allocato in scrittura non viene rilasciato quando i dati vengono eliminati nel file system della VM; questo comporta un graduale aumento dello storage vanificando il beneficio del disco thin.
Con il rilascio di vSphere 5.1, VMware ha introdotto una nuova tipologia di virtual disk, il “space-efficient sparse virtual disk (SE sparse disk)”. Una delle maggiori features consiste nell’abilità di recuperare lo spazio precedentemente allocato nel guest OS. Un secondo beneficio sta nella capacità di impostare una dimensione del blocco del disco virtuale in base ai requisiti dell’applicazione. Alcune applicazioni in esecuzione delle VM lavorano meglio con una dimensione grande del blocco, altre invece con blocchi piccoli; in passato questa impostazione non era regolabile.
Come avviene il recupero dello spazio? Il recupero dello spazio precedentemente occupato è suddiviso in 2 fasi:
  • l’eliminazione profonda, wipe operations, che libera un’area contigua di spazio nel VMDK della VM;
  • la riduzione (shrink), che scollega (unmap) l’area liberata dal VMDK e consente allo spazio di ritornare libero.
La fase di wipe è inizializzata dalle VMware Tools che eseguono una scansione del file system del guest OS e marca i blocchi inutilizzati come liberi. Successivamente viene lanciato, sempre nella VM, il comando SCSI UNMAP che comunica nel layer SCSI virtuale nel VMkernel di marcare i blocchi storage come liberi.
La fase di Shrink è differenziata in base al tipo di storage:
  • per gli storage con accesso a blocchi il VMkernel lancia il comando SCSI UNMAP verso lo storage array;
  • per gli storage NFS, ESX esegue una RPC call per troncare il file
Nell’esecuzione di questi task il VMkernel si preoccupa anche di spostare i blocchi alla fine del VMDK all’inizio, per evitare che il troncamento venga operato in una zona contenete dei dati.
Per poter beneficiare di questa funzionalità è richiesto che le VM abbiano il virtual Hardware versione 9, le precedenti edizioni non supportano questo formato disco.
Inizialmente, con vSphere 5.1, l’uso del formato SE sparse è limitato a VMware View. View Composer è in grado di creare VM linked clone durante la distribuzione di VM. Le VM linked clones usano snapshot, aperte in lettura e scrittura, che puntano ad un disco padre. View beneficerà immediatamente sia della funzionalità di crescita granulare del blocco del disco indirizzando problemi legati all’allineamento sperimentati su alcuni storage, sia del recupero dello spazio eliminato.
Per maggiori informazioni è possibile consultare il white paper “What’s New in VMware vSphere 5.1 – Storage”.

Nessun commento: