oggi un collega mi ha posto una domanda "classica": "sulla VM X c'è un disco da 260 gb, che in passato era usato quasi tutto e in futuro sarà molto più vuoto: si puo' liberare lo spazio?"
Allora sono andato a ristudiare la questione e ho trovato un paio di link utili
http://vinfrastructure.it/2011/12/reclaim-free-space-in-thin-provisioned-vmdk-disk/
http://www.thelowercasew.com/reclaiming-disk-space-with-storage-vmotion-and-thin-provisioning
entrambi suggeriscono un metodo un po' laborioso bastato su sVmotion fra due datastore con diverso block size. La cosa mi è chiara, mente l'ultima riga del post nel blog di Andrea che dice
" E quindi se soluzioni vi sono? Personalmente vedo solo questi possibili workaround:
1)...
2)...
3)...
4) Usare datastore NFS anziché quelli a blocchi basati su VMFS."
e non capisco bene perché usando datastore nfs il problema non ci sarebbe. Forse si intende che facendo una sVmotion fra due datastore NFS o fra un VMFS e un NFS il vmdk verrebbe ottimizzato come fra due VMFS dal block size diverso?
Comunque mi è venuta nel frattempo una riflessione: lanciando nel sistema guest della vm "dimagrita" il tool sdelete con l'opzione "zero free space" (occhio che mi sa che fra diverse versioni di sdelete sia cambiata l'opzione per ottenerlo) si ottiene un vmdk ancora grande ma con i blocchi non utilizzati tutti identici. A quel punto, se il datastore è su uno storage nfs con deduplica, lo spazio viene recuperato "indirettamente".
Ciao Tinto,
su NFS tutti i dischi vmdk sono thin forzatamente, quindi muovendoli su un NFS si "riducono" automaticamente.
Un'altra soluzione sarebbe usare gli "space efficient" sparse disks, ma ad oggi sono ufficialmente supportati solo da View.
In modo del tutto unsupported, ci sono alcuni metodi per usarli ugualmente:
http://www.virtuallyghetto.com/2012/09/how-to-create-se-sparse-space-efficient.html
mentre se vuoi rimanere "sulla strada maestra", il trucco della svmotion è alla fine l'unico veramente efficace.
Ciao,
Luca.
Su NFS potrebbero anche essere thick, se hai il VAAI per il NAS. Controlla quindi che tipo di dischi ti trovi.
Il trucco dello sVmotion non è che mi funzioni sempre. Se hai il VAAI non si riesce e una soluzione banale è di spostarlo su un datastore VMFS3 (o convertito da VMFS3 con block size diverso).