domenica 22 maggio 2022

Vmware - ridurre le dimensioni di un disco vmdk

 Ciao a tutti,

diverse volte mi e' capitato di dover ridurre le dimansioni di un disco virtuale in vmware.

L'operazione che vi sto spiegando non e' ufficialmente supportata da vmware, quindi decidete voi caso fare.

I passaggi per eseguire l'operazione sono:

ridurre le dimensioni della partizione nel sistema operativo della vm.

Da dentro il sistema operativo aprire la console diskmgmt.msc ed effettuare lo shrink della partizione.

Molto spesso capita che non e' possibile ridurre il disco di molto perche un piccolo file e' scritto nella parte finale del file system.

In questi casi ci possono aiutare tool di terze parti come gparted (live iso) o aomei partition assistant per ridurre le dimensioni della partizione.

SPEGNERE LA VM

Il passaggio successivo consiste nel ridurre le dimensioni del disco vmdk. Per farlo occorre accedere tramite ssh all'host esx ed andare nella cartella dove presenti i file della vm.

Solitamente il percorso e' "/vmfs/volumes/datastorename/nomevm/"

Nella cartella della VM sono presenti i file nomedisco.vmdk e nomedisco-flat.vmdk.

Prima di iniziare...

QUESTO E' UN BUON MOMENTO PER UN BACKUP!

Se non avete un backup della vm, per favore, copiate almeno i file *.vmdk che andrete a modificare!

per copiare i file e' sufficiente eseguire i seguenti comandi:

cp nomedisco.vmdk e nomedisco.vmdk.bak

cp nomedisco-flat.vmdk e nomedisco-flat.vmdk.bak

il tempo di copia dipende dalla velocita del datastore e dalle dimensioni del disco.

Assicuratevi che ci sia spazio a sufficienza prima di procedere. Se saturate il datastore bloccate tutte le vm che ci girano sopra!

Possiamo procedere alla editazione del file con vi:

vi nomedisco.vmdk

si aprira un file molto simile a questo:


################################################################

# Disk DescriptorFile

version=1

encoding="UTF-8"

CID=b692a9b1

parentCID=ffffffff

createType="vmfs"


# Extent description

RW 125829120 VMFS "nomedisco-flat.vmdk"


# The Disk Data Base

#DDB


ddb.adapterType = "lsilogic"

ddb.deletable = "true"

ddb.geometry.cylinders = "19581"

ddb.geometry.heads = "255"

ddb.geometry.sectors = "63"

ddb.longContentID = "4973c79b74f0e3d1709c1bdcb692a9b1"

ddb.toolsInstallType = "1"

ddb.toolsVersion = "12288"

ddb.uuid = "60 00 C2 95 70 68 43 b6-5f af 38 22 46 f6 5f 9a"

ddb.virtualHWVersion = "14"

################################################################


la parte che ci interessa modificare e' quella relativa alle dimensioni:



################################################################

# Extent description

RW 125829120 VMFS "nomedisco-flat.vmdk"

################################################################

il numero 125829120 rappresenta un disco da 60 GB.

la formula per calcolarlo e':

60*1024*1024*1024/512.

Dimensioni disco*1024*1024*1024/512.

Portarsi con il cursore sul valore da modificare, premere SHIFT+A per entrare nella modalita modifica.

Inserire il valore desiderato ed infine premere :wq! per salvare.

Se dovessimo aver compiuto qualche errore e non volessimo salvare il file, premere ":q!" (senza virgolette)

A questo punto ci rimane solo un'ultima operazione da fare, ovvero effettuare uno storage vmotion.

Fino a che non verra effettuato le dimensioni del disco non verranno aggiornate.


######################################################################################################################################################################

Effetture queste operazioni solo se non avete la possibilita di effettuare uno storage vmotion

Se non avete la possibilita di effettuare uno storage vmtion potete effettuare iil seguente comando.

Clonando il nuovo disco dopo la modifica del file, questo viene creato con le dimensioni aggiornate.

vmkfstools -i nomedisco.vmdk nomedisco_nuovo.vmdk

Cancellare il vecchio disco, clonare il disco nuovo appena creato con il nome del vecchio disco appena cancellato.

rm nomedisco.vmdk 

rm nomedisco-flat.vmdk

vmkfstools -i nomedisco_nuovo.vmdk nomedisco.vmdk 

######################################################################################################################################################################

Adesso non rimane che verificare le dimensioni del disco dalle proprieta della vm.

Se la vm si accende ed il disco e' delle dimensioni corrette abbiamo finito :)

REFERENCE

https://kb.vmware.com/s/article/1002019

http://woshub.com/shrinking-vmdk-virtual-disk-vmware-esxi/


Nessun commento:

Posta un commento