Come Clonare una VM Senza VCenter

Ciao a tutti,

ed eccomi qui con un nuovo post sulla dura vita del sistemista. In questi ultimi giorni ho eseguito una nuovo lavoro in una piccola azienda.

La richiesta è stata la seguente: “tre server basati su windows 2019 un AD, un fileserver separato da AD e un server di backup, in più un nas per lo storage dei dati da backuppare”.

La soluzione che gli è stata proposta all’azienda  è stata la seguente.

Un server per la virtualizzazione, un nas synology come datastore per le macchine virtuali e un secondo nas DELL come backup. L’hypervisor per la virtualizzazione, VMWare 6.7 u2 versione free.

Fino a qui niente di particolare, ma ad un certo punto dopo aver installatom la prima macchina virtuale, ho avuto la necessità di eseguire la clonazione di quest’ultima senza dover reinstallare il tutto. E li la sorpresa la versione free non ha il clone delle macchine virtuali (io sinceramente non lo sapevo non lo mai usata la versione free).

Allora mi sono detto come faccio? Dopo un po di ripensamenti sono giiunto ad una soluzione che ho provato e devo dire che funzioan anche piuttosto velocemente, ecco come ho fatto.

Primo step.

Abilitare in VMWare free la conessione SSH. L’accesso alla shell è abilitato da DCUI.
In alternativa, è possibile avviare il servizio TSM-SSH utilizzando il client host incorporato per le versioni recenti di ESXi come 6.5 o tramite il client vSphere legacy per le versioni precedenti.
Ultimo ma non meno importante, PowerCLI è un altro altro strumento a tua disposizione.

Secondo step

Determinare il nome da dare all’archivio dati, cartelle e VMDK.

Ottenere queste informazioni dovrebbe essere facile, poiché un ESXi autonomo, il più delle volte,
viene fornito con un singolo datastore locale. Indipendentemente da ciò, è possibile ottenere i
dettagli utilizzando un client vSphere o PowerCLI.

Utilizzando il client host, estrarre le impostazioni per la VM ed espandere il disco rigido prendendo nota del
valore del file su disco mentre lo si fa. Il bit racchiuso tra parentesi quadre corrisponde all’archivio dati in
cui risiedono i file VM. Il bit immediatamente successivo al nome dell’archivio dati è il nome della cartella della
macchina virtuale; è possibile che la VM abbia più dischi residenti in archivi e cartelle di dati diversi come nell’esempio
riportato di seguito. Infine, prendi nota di tutti i nomi di file VMDK.

Gli stessi dettagli possono essere ottenuti anche dal riquadro di Configurazione hardware mentre è selezionata la VM.

Se si desidera utilizzare PowerCLI, è possibile eseguire una delle istruzioni one-liner elencate di seguito.
Entrambi restituiranno un elenco di tutti i datastore associati a una determinata VM.
Nell’esempio fornito, ho scelto come target una macchina virtuale denominata Windows 7
che ha tre VMDK (dischi) distribuiti su due archivi di dati.

get-datastore -Id ((get-vm ‘Windows 7’).DatastoreIdList)

(get-vm ‘windows 7’).ExtensionData.config.datastoreURL

A questo punto, dovresti avere:

  • Il nome dell’archivio dati per la macchina virtuale.
  • Il nome della cartella VM.
  • Un elenco di nomi di file VMDK corrispondenti ai dischi della VM.

Terzo Step creare la macchina virtuale

Utilizzando il client vsphere da browser, procediamo con la creazione di una nuova macchina virtuale.
Eliminiamo i dischi rigidi creati per impostazione predefinita.
Sarà necessario creare anche la VM con la stessa configurazione hardware della VM di origine.

Importante: le opzioni Famiglia OS e Versione guest della VM di destinazione devono corrispondere a quelle della VM di origine.

Come già accennato, eliminiamo il disco predefinito, ne aggiungeremo uno più avanti nel passaggio 5.

Step 4 Accosso a Esxi tramite SSH

Utilizzando un client SSH per accedere a ESXi come root ed eseguire quanto segue. L’idea qui è di copiare i VMDK dalla VM di origine a quella che abbiamo appena creato. Anche se tecnicamente non è la clonazione, al termine eseguiremo comunque una replica quasi esatta.

Nota: i nomi di archivio dati, cartelle e VMDK differiranno da quelli citati qui per ovvi motivi.

a. Passare alla cartella della VM che si desidera clonare. In questo caso, sto clonando la VM di Windows 7.

cd /vmfs/volumes/iSCSI-DS3/’Windows 7′

b. Copia i file VMDK di origine nella cartella della VM precedentemente creata, nel mio caso Windows-Clone.
Dobbiamo copiare i file VMDK – sia il descrittore sia il file flat – annotati nel passaggio 2. Sto saltando la copia del secondo e del terzo VMDK perché sono dischi fittizi creati per questo post solo a scopo illustrativo.

cp ‘Windows 7_1.vmdk’ ../Windows-Clone/
cp ‘Windows 7_1-flat.vmdk’ ../Windows-Clone/

Oppure usare un metodo alternativo

Se per qualsiasi motivo non è possibile o non si desidera utilizzare la shell, è comunque possibile eseguire questi passaggi, utilizzando il browser del datastore.
In tal caso, puoi saltare anche il passaggio 1.

Per copiare i VMDK, è sufficiente accedere al datastore e alla cartella della VM di origine, fare clic con il tasto destro del mouse sui VMDK e selezionare Copia.
Viene quindi richiesto di selezionare la cartella di destinazione, che nel nostro caso corrisponde all’archivio dati e alla cartella della macchina di destinazione (clonata).

Passaggio 5: collegare il VMDK copiato alla VM di destinazione

Ora che abbiamo finito di copiare i VMDK nella cartella della VM di destinazione, dobbiamo utilizzarli tramite le impostazioni hardware della VM.
Prima di accendere la VM, assicurarsi di disabilitare prima la scheda di rete.
Questo ci consente di modificare la configurazione di rete evitando così un potenziale conflitto IP con la VM di origine.

Per aggiungere il disco, ho utilizzato il client host ESXi come segue:

Una volta terminato tutto, come previsto, la VM clonata si è avviata correttamente dopo averla accesa.

Se la macchina fa parte di un dominio via apparirà dopo l’avvio un errore di SID clonato, dando problemi alla macchina e alla rete. Per ovviare alla cosa vi basterà eseguire un sysprep della macchina appena clonata.

Spero di esservi stato d’aiuto.

Un Saluto

Adam

 

Pubblicato da appuntidiadam

Sistemista informatico, e grande appasionato di astronomia e fisica, ricercatore indipendente in cosmologia

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.