venerdì 10 maggio 2013

Clonare una VM con ESXi v5

Sono diventato il fortunato possessore di un server ESXi v5 sul quale far girare un po' di VM per i vari test. Una delle sfortune del suddetto server è che non ha tutte le fantastiche (e costose) features delle varie versioni superiori, in primis la clonazione. Fortunatamente grazie all'accesso ssh e un po' di console, si può tranquillamente portare a compimento l'operazione.

Attivare connessione SSH dal vSphere Client

Apriamo il client e ci connettiamo al server con un utente amministrativo. Nella tag configuration, si seleziona Security Profile e poi Properties.. nella sezione Services. Selezionando SSH e Options... si ha la possibilità di fare un bel Start. Fatto ciò ci si connette con utente root via ssh.

Clonare Disco

Giunti in console ci vengono in aiuto un sacco di tool. Il primo è vmkfstools che consente di fare la copia del disco virtuale. Requisito necessario è che la VM origine sia spenta, altrimenti non è possibile ottenere il lock esclusivo. Ci spostiamo quindi sul datastorage e lanciamo la copia del disco.
~ # cd /vmfs/volumes/4f466873-289b519c-2689-d067e5e5780e/vm1
/vmfs/volumes/4f466873-289b519c-2689-d067e5e5780e/vm1 # mkdir ../vm2
/vmfs/volumes/4f466873-289b519c-2689-d067e5e5780e/vm1 # vmkfstools -i vm1.vmdk ../vm2-vm2.vmkd
Destination disk format: VMFS zeroedthick
Cloning disk 'vm1.vmdk'...
Clone: 100% done.

Ecco fatto. A questo punto sarebbe sufficiente creare una nuova vm con il disco appena copiato. ma io sono pigro e quindi mi copio pure la configurazione.

Clonare Configurazione

Il file .vmx è un semplice file di testo. Si può quindi copiare tranquillamente e poi editare a mano.
/vmfs/volumes/4f466873-289b519c-2689-d067e5e5780e/vm1 # cp vm1.vmx ../vm2/vm2.vmx
si edita quindi il file vm2.vmx e si sostituiscono le occorrenze di nome, file del disco, file della memoria virtuale e file di swap, adattandoli a quelli appena creati, come ad esempio:
nvram = "vm2.nvram"
displayName = "vm2"
extendedConfigFile = "vm2.vmxf"
ide0:0.fileName = "vm2.vmdk"
sched.swap.derivedName = "/vmfs/volumes/4f466873-289b519c-2689-d067e5e5780e/XPPlcTestDebe/vm2-ab51994b.vswp"
 

Aggiungere la VM all'inventario

Abbiamo tutto quello che serve alla nuova VM. Registriamola, quindi, con il comando
~ # vim-cmd solo/registervm  /vmfs/volumes/4f466873-289b519c-2689-d067e5e5780e/vm2/vm2.vmx
che restituisce l'id della vm appena creata.
Attenzione che nel caso di windows bisogna poi cambiare l'hostname e il SID tramite il tool della sysinternals

Ciao
Debe

Nessun commento:

Posta un commento