{"id":1101,"date":"2012-04-16T16:44:00","date_gmt":"2012-04-16T14:44:00","guid":{"rendered":"http:\/\/blog.sfsoft.it\/?p=1101"},"modified":"2012-04-16T16:49:16","modified_gmt":"2012-04-16T14:49:16","slug":"ridurre-la-dimensione-del-disco-di-una-macchina-virtuale-su-vmware-esxi-5","status":"publish","type":"post","link":"https:\/\/www.sfsoft.it\/blog\/2012\/04\/16\/ridurre-la-dimensione-del-disco-di-una-macchina-virtuale-su-vmware-esxi-5\/","title":{"rendered":"Ridurre la dimensione del disco di una macchina virtuale su VMware ESXi 5"},"content":{"rendered":"<p>Situazione, abbiamo una macchina virtuale esistente che al momento della creazione, o per un errore di valutazione o per un cambio di implementazione, \u00e8 stata configurata ad esempio con un hard disk da 30GB anche se effettivamente magari usa a malapena 3GB.<\/p>\n<p>Per ottimizzare lo spazio nel <em>datastore<\/em> vogliamo ad esempio ridurre il disco da 30GB a 8GB.<\/p>\n<p>Dopo diverse ricerche e prove ho sperimentato una procedura discretamente veloce e pratica, per questo ci serve avere sul <em>datastore<\/em> oltre alla <em>ISO<\/em> del sistema della macchina virtuale, la <em>ISO<\/em> di una <em>LiveCD<\/em> ad esempio <a href=\"http:\/\/www.ubuntu.com\/\" target=\"_blank\">Ubuntu<\/a> 11.10 Desktop e la <em>ISO<\/em> di <a href=\"http:\/\/clonezilla.org\/\" target=\"_blank\">Clonezilla<\/a>.<\/p>\n<p>Nel mio caso la macchina virtuale \u00e8 una versione di Ubuntu 10.04 Server.<\/p>\n<p>Spegniamo la macchina virtuale, colleghiamoci poi tramite <em>SSH<\/em> all&#8217;<em>host<\/em> su cui gira <em>VMware ESXi 5<\/em>, ed effettuamo possibilmente una copia della macchina virtuale per sicurezza, es:<\/p>\n<pre lang=\"bash\">cd \/vmfs\/volumes\/miodatastore\r\nmkdir vmtest-copy\r\ncp vmtest\/* vmtest-copy\/<\/pre>\n<p>Ovviamente <em>datastore<\/em> \u00e8 il nome del datastore e <em>vmtest<\/em> \u00e8 il nome della macchina virtuale esistente.<\/p>\n<p>Spostiamoci nella cartella della macchina virtuale e creiamo poi il nuovo disco virtuale ( 8GB, tipo <em>thin<\/em>\u00a0 ):<\/p>\n<pre lang=\"bash\">cd vmtest\r\nvmkfstools -c 8G -d thin disco8g.vmdk<\/pre>\n<p>Aggiungiamolo ora alla macchina virtuale tramite il client di gestione.<\/p>\n<p>Aggiungiamo anche la <em>ISO<\/em> <em>LiveCD<\/em> nel drive e avviamo, alla schermata del <em>BIOS<\/em> premiamo <em>ESC<\/em> per far eseguire il <em>boot<\/em> dalla <em>ISO<\/em> e diamo l&#8217;opzione di provare la versione senza installarla.<\/p>\n<p>Una volta nella <em>LiveCD<\/em> apriamo <em>GParted<\/em> e ridimensioniamo la partizione esistente ad esempio in una da 6GB ( \u00e8 necessario che sia uguale o pi\u00f9 piccola di quella che si creer\u00e0 nel nuovo disco o <em>Clonezilla<\/em> fallir\u00e0 la clonazione ).<\/p>\n<p>Sempre da <em>GParted<\/em> andiamo ora sul disco nuovo e creiamo prima una partizione primaria ad esempio da 7GB <em>ext4<\/em> per il sistema, poi una partizione estesa nello spazio rimanente e dentro questa una partizione logica di tipo <em>linux-swap<\/em> ( o della dimensione che conviene secondo la <em>RAM<\/em> installata ).<\/p>\n<p>Spegniamo la macchina virtuale e cambiamo nel drive la <em>ISO<\/em> che punti a <em>Clonezilla<\/em> ed avviamo con il solito passaggio di premere <em>ESC<\/em> al <em>BIOS<\/em> per far avviare dalla <em>LiveCD<\/em>.<\/p>\n<p>Avviato <em>Clonezilla<\/em> bisogna selezionare la modalit\u00e0 <em>device-device<\/em>, e come copia quella delle partizioni e non del disco facendo attenzione poi di impostare bene la partizione sorgente ( che nel nostro caso \u00e8 la <em>\/dev\/sda1<\/em> da 6GB ) e quella di destinazione ( <em>\/deb\/sdb1<\/em> da 7GB ).<\/p>\n<p>Alla richiesta se eseguire o meno il controllo della partizione sorgente prima di fare la copia diciamo di si, altrimenti potrebbe fallire l&#8217;operazione, ed avviamo la clonazione.<\/p>\n<p>Se tutto \u00e8 andato come doveva <em>Clonezilla<\/em> termina le operazioni senza errori.<\/p>\n<p>Ora spegniamo la macchina virtuale e tramite il client di gestione leviamo il disco vecchio da 30GB e impostiamo come principale quello nuovo da 8GB.<\/p>\n<p>Sicuramente avviando cos\u00ec la macchina virtuale non parte dato che gli mancano le istruzioni di avvio, quindi a questo punto mettiamo nel drive la <em>ISO<\/em> del sistema operativo, in questo caso <em>Ubuntu 10.04 Server<\/em> ed avviamo scegliendo l&#8217;opzione di ripristinare un sistema difettoso.<\/p>\n<p>Al termine delle procedure di avvio dove richiede le impostazioni da tastiera, i parametri di rete e altro si arriva a una scelta di operazioni di ripristino, basta scegliere quella di re-installare <em>GRUB<\/em> dicendogli poi di installarla sul disco principale ( <em>\/dev\/sda<\/em> ).<\/p>\n<p>Di solito ci impiega poco tempo e ritorna alla lista della scelta delle operazioni di ripristino senza messaggi, ora riavviamo la macchina virtuale.<\/p>\n<p>Se tutto \u00e8 andato come doveva ora l&#8217;avvio avviene senza problemi dal nuovo disco di 8GB.<\/p>\n<p>Potrebbe esserci poi un errore che non trova la partizione di <em>SWAP<\/em> ( <em>mountall: Disconnected from Playmouth<\/em> ) in quanto ha cambiato <em>UUID<\/em> da quella impostata in <em>\/etc\/fstab<\/em>, per risolvere questo problema una volta avviato il sistema otteniamo il nuovo <em>UUID<\/em> tramite il comando <em>blkid<\/em> e andiamo a sostituirlo nel file <em>\/etc\/fstab<\/em>.<\/p>\n<p>Controlliamo che tutto funzioni e a questo punto possiamo anche cancellare sia la copia che il disco vecchio da 30GB.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Situazione, abbiamo una macchina virtuale esistente che al momento della creazione, o per un errore di valutazione o per un cambio di implementazione, \u00e8 stata configurata ad esempio con un hard disk da 30GB anche se effettivamente magari usa a malapena 3GB. Per ottimizzare lo spazio nel datastore vogliamo ad esempio ridurre il disco da [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[15,46],"tags":[113,16,25],"_links":{"self":[{"href":"https:\/\/www.sfsoft.it\/blog\/wp-json\/wp\/v2\/posts\/1101"}],"collection":[{"href":"https:\/\/www.sfsoft.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sfsoft.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sfsoft.it\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sfsoft.it\/blog\/wp-json\/wp\/v2\/comments?post=1101"}],"version-history":[{"count":2,"href":"https:\/\/www.sfsoft.it\/blog\/wp-json\/wp\/v2\/posts\/1101\/revisions"}],"predecessor-version":[{"id":1103,"href":"https:\/\/www.sfsoft.it\/blog\/wp-json\/wp\/v2\/posts\/1101\/revisions\/1103"}],"wp:attachment":[{"href":"https:\/\/www.sfsoft.it\/blog\/wp-json\/wp\/v2\/media?parent=1101"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sfsoft.it\/blog\/wp-json\/wp\/v2\/categories?post=1101"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sfsoft.it\/blog\/wp-json\/wp\/v2\/tags?post=1101"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}