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
Gabriele Palumbo
Nasco a Bologna ma ho vissuto l’infanzia in Piemonte, l’adolescenza in Puglia e la maturità tra Umbria, Toscana, Puglia, Emilia-Romagna e Lombardia (e non è ancora finita). Ho avuto quindi modo di entrare in contatto con diversi ambienti e contesti sociali. Una formazione umanistica (Sociologia della devianza a Perugia e Relazioni Internazionali a Pisa), passione per la scrittura e decine di corsi sul mondo digital sono state ottime basi per entrare nel campo del marketing e della comunicazione. Nel 2015 pubblico il romanzo breve “Ci siamo solo persi di vista” e, a inizio 2019, pubblico la biografia della rock band “Ministri”, entrata in poche ore nei Top Sellers di Amazon. Un romanzo è in fase di scrittura. Terminati gli studi entro attivamente nel mondo della musica, organizzando svariati concerti e un festival, e della comunicazione digitale, gestendo la linea editoriale di blog e social e ricoprendo ruoli di copywriter e content editor. Nel 2017 entro nel collettivo Dischirotti. occupandomi dei contenuti web, mentre il 2018 mi vede prima nell’agenzia FLOOR concerti come booking agent per svariati artisti e poi in VOX concerti come direttore di produzione. Tornato a Bologna inizio a collaborare con l’etichetta discografica Manita Dischi come project manager e svolgo un tirocinio presso l’agenzia di marketing e comunicazione digitale Engine Lab, nel ruolo di content editor. Dal 2020 al 2023 ho collaborato, sia come editor che come contributor, con Fantastico.esclamativo, newsletter letteraria e rivista culturale creata da Alberto Guidetti de Lo Stato Sociale. Ogni due sabati invio “Capibara”, una newsletter che tratta di attualità e meme in un progetto che, occasionalmente, porto anche dal vivo sotto forma di Stand-Up. Attualmente ricopro il ruolo di Channel Marketing Manager in Achab, con particolare focus su contenuti editoriali, analytics, marketing automation e CMS.
Commenti (6)
Iscriviti
Notificami
guest
6 Commenti
Più vecchio
Più recente Più votato
Inline Feedbacks
Guarda tutti i commenti
Rocco Sicilia
Rocco Sicilia
10 anni fa

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.

Claudio Panerai
Claudio Panerai
10 anni fa

Grazie della dritta, Rocco.

Stefano Contato
Stefano Contato
11 anni fa

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…

Claudio Panerai
Claudio Panerai
11 anni fa

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
Claudio Panerai
5 anni fa

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

Cesare Salvadeo
Cesare Salvadeo
5 anni fa

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.