Soluzioni tecniche

Ottimizzare i dischi virtuali per risparmiare spazio (e soldi)

13 Dicembre 2012

Una manutenzione dei dischi delle macchine virtuali fa risparmiare spazio (e soldi se state per andare in the cloud).

Macchine virtuali che occupano sempre più spazio?
Dentro al sistema operativo c'è in realtà molto spazio libero?
Anche io ho avuto questo problema su macchine virtuali in ambiente VMware e l’ho risolto, ora vi spiego come.

Partiamo dall’analisi: la macchina virtuale è stata creata assegnando un certo spazio disco, installando il sistema operativo, le applicazioni. Bene.
Ci accorgiamo che, a regime, lo spazio disco effettivamente utilizzato è minore di quello allocato.
In ambiente VMware avevo una situazione come quella riportata in figura:

VMware screenshot

Si poneva il problema di come rendere liberabile lo spazio inutilizzato… Russinovich!
Come ho fatto a non pensarci prima?
Se non sapete chi è Russinovich, be', vi manca un pezzo di storia informatica che potete facilmente colmare cercando su Google o Wikipedia.
Fra le tante utility del genio spicca Sdelete.
Si tratta di un'utility a riga di comando per cancellare per bene.
Al promtp dei comandi basta digitare sdelete /? per ottenere l’elenco dei parametri:

usage: sdelete [-p passes] [-s] [-q]
sdelete [-p passes] [-z|-c] [drive letter] …
-a Remove Read-Only attribute
-c Clean free space
-p passes Specifies number of overwrite passes (default is 1)
-q Don't print errors (Quiet)
-s or -r Recurse subdirectories
-z Zero free space (good for virtual disk optimization)

Bene, proprio l’ultimo parametro è quello che ci interessa. Infatti quell’opzione permette di settare a zero il bit dello spazio libero.
Tradotto in italiano significa che quello spazio può essere buttato via perché non serve.
Allora nel mio caso ho lanciato il comando sul disco d:, come illustrato qui sotto:

A seconda delle dimensioni del disco il tempo di esecuzione del comando può variare naturalmente, ma si misura sempre in minuti e non in ore.
Al termine del processo abbiamo una macchina virtuale il cui disco d: occupa lo spazio che serve e quello che non serve è segnato come cancellabile.

Manca quindi l’ultimo passo per togliere fisicamente lo spazio inutilizzato

Per questa operazione basta lanciare una migrazione della macchina virtuale impostando che la migrazione deve andare su un altro datastore e che i dischi della macchina di destinazione devono essere thin.
E al termine della migrazione, la magia.
Osservate l’immagine qui sotto per vedere quanto spazio è stato risparmiato.

Screenshot

Riportiamo la macchina virtuale sul datastore originario e il gioco è fatto.
Nota: affinché il processo funzioni il block size del datastore di origine e di destinazione devono essere diversi.

Vuoi provarlo sulle tue macchine virtuali?

Autore
Claudio Panerai
Gli ultimi prodotti che vi ho portato, nel 2020: Vade Secure Il primo sistema antispam/antihishing/antimalware basato sull'intelligenza artificiale e appositamente progettato per Office 365. Naturalmente a misura di MSP. ID Agent Piaffaforma che consente agli MSP di monitorare le credenziali (proprie e dei clienti) che sono in vendita nel dark web.
Nato a Ivrea nel 1969, è sposato e padre di due figlie. Laureato in Scienze dell’Informazione nel 1993, ha dapprima svolto numerose consulenze e corsi di formazione per varie società per poi diventare responsabile IT per la filiale italiana del più grande editore mondiale di informatica, IDG Communications. Dal 2004 lavora in Achab dapprima come Responsabile del Supporto Tecnico per poi assumere dal 2008 la carica di Direttore Tecnico. Giornalista iscritto all’albo dei pubblicisti, dal 1992 pubblica regolarmente articoli su riviste di informatica e siti web di primo piano. E' stimato da colleghi e clienti per la schiettezza e onestà intellettuale. Passioni: viaggi, lettura, cinema, Formula 1, sviluppo personale, investimenti immobiliari, forex trading. Claudio è anche su LinkedIn e Facebook.
Commenti (6)

L’ottimizzazione di spazio si può ottenere anche utilizzando i tools di default di Windows, fermo restando il resto del processo in carico a VMware. Attenzione che questa pulizia potrebbe impattare se utilizziamo per qualche funzione nel file system lo shadow copy e per i clients i punti di ripristino. Le distribuzioni Linux in genere lavorano con logiche abbastanza diverse a livello di file system, ma anche loro hanno qualche necessità di pulizia. Per i sistemi Windows nelle proprietà del disco, effettuando la pulizia basta selezionare eliminazione files compressi inutilizzati (Windows 2003 Server e XP), mentre per Vista, 7, Server 2008 il pulsante è pulizia files di sistema. Una nota relativa alle performance sull’utilizzo dei dischi in modalità "thin". Conviene, se stiamo utilizzando uno storage, lasciare allo storage nativamente la gestione del "thin & thick", su VMware per ottimizzare le performance utilizzeremo "Thick". Gestendo l’over-commisioning dallo storage avremo una visione più centralizzata di quanto effettivamente stiamo usando rispetto allo spazio realmente disponibile. In questo scenario, è abbastanza facile avere lun da 1tb e utilizzare 1,3-1,5 Tb. Attenzione che se non gestiamo correttamente le soglie di utilizzo spazio rischiamo il collasso…

Stefano Contato,

Ciao Stefano,
sicuramente le cose che ha iscritto sono altri modi di recuperare spazio.
Diciamo che le utility di cancellazione di Windows lavoran opero’ a un altro livello rispetto a "sdelete".
Cioe’ la pulizia del disco windows in ambiente virtuale non significa automaticamente ottenere minore spazio occupato fisicamente dalla macchina virtuale.
Diciamo che le utility di pulizia di Windows sono più accostabili, a livello tecnologico, a un trucco di recupero spazio disco che analizzeremo in un articolo che va in pubblicazione il 18 dicembre.

Ciao!

Claudio Panerai,

Scusatemi per la mia manifesta ignoranza o incompetenza, ma mi trovo davanti ad un problema forse banale, ma che non riesco a risolvere: ho scaricato SDelete, l’ho scompattato con winrar e si sono formati due files, uno per 32 bit e uno per 64 bit. Avendo io il sistema windows 7 a 64 bit ho cliccato su quest’ultimo file, aspettandomi che si aprisse il prompt dei comandi, ma…non appare assolutamente nulla! Ovvero, sembra che per una frazione di secondo appaia la classica finestrella nera del prompt C:, ma scompare immediatamente. Sbaglio senz’altro qualcosa, ma vorrei sapere cosa, quindi sono a chiedervi aiuto. Grazie anticipatamente.

Cesare Salvadeo,

Ad un passato VMUG si è parlato del tema in questione e sono nate una serie di considerazioni. Lo shrinking dei dischi Thin è eseguibile anche tramite l’apposita funzione dei VMware Tools, a regime può essere utile schedulare l’operazione di "pulizia" con sdelete periodicamente per ottimizzare i tempi di shrinking.

Rocco Sicilia,

Grazie della dritta, Rocco.

Claudio Panerai,

@Cesare: come scritto nell’articolo, PRIMA devi aprire il prompt dei comandi e DOPO eseguire i comandi segnalati.

Claudio Panerai,

Lascia un commento

Il tuo indirizzo e-mail non verrà pubblicato, lo utilizzeremo solamente per inviarti la notifica della pubblicazione del tuo commento. Ti informiamo che tutti i commenti sono soggetti a moderazione da parte del nostro staff.