Spostare VM VMware ESXi nel nuovo archivio dati - preservare il thin provisioning


27

Sto cercando una buona soluzione a un problema di ambiente VMware ESXi in cui non è disponibile vCenter.

Qual è il modo migliore per spostare una VM da un archivio dati a un singolo host ESXi, mantenendo il thin provisioning VMDK?

Questo è un server autonomo che è stato espanso con un altro array di unità / archivio dati. Vorrei spostare i dati contenuti nel vecchio array nel nuovo.

Modifica: la dimensione dell'archivio dati di destinazione è in realtà più piccola dell'origine. Non ho abbastanza spazio per copiare il file spesso.


Pensi davvero che sia saggio spostare una VM in un archivio dati su cui è troppo piccola per adattarsi? Cosa succede di un processo anomalo in cui la VM decide di utilizzare tutto lo spazio di archiviazione?
Zoredache,

In generale, no ... ma questo è un caso speciale. La VM non crescerà.
ewwhite,

Se la VM non cresce, non vi è alcun motivo per mantenerla thin provisioning.
Jim B,

Quale versione di ESXi?
Jed Daniels,

Questo è ESXi 5.
ewwhite

Risposte:


21

Puoi anche usare File -> Esporta -> Esporta modello OVF

e quindi importarlo. L'ultima volta che l'ho provato, penso che questo preservi il formato vmdk. Non sono così sicuro ora perché è passato un po 'di tempo.


3
Supponendo la versione 4.1 o successiva, ti verrà richiesto di utilizzare thin o thick quando viene importato.
Jed Daniels,

2
Avete capito bene! L'esportazione OVF in un file sparso compresse è stata rapida e indolore. Mi è stata data un'opzione per la fornitura sottile o spessa al momento dell'importazione e l'importazione è stata rapida; 5 minuti per una macchina virtuale da 72 GB (8 GB utilizzati).
ewwhite,

3
FWIW, puoi anche farlo da una riga di comando usando ovftool.
Jed Daniels,

28

Ho appena trovato un modo per farlo da solo. Ecco una guida, si spera, facile da seguire su come spostare la VM in un nuovo archivio dati preservando il thin provisioning durante il trasferimento (riducendo così anche i tempi di trasferimento):

Guida dettagliata che utilizza vmkfstools nella CLI

  1. Spegnere la VM
  2. (Facoltativo) Consolidare le istantanee, se necessario.
  3. Rimuovere la macchina virtuale dall'inventario di vCenter
    • Fare clic con il tasto destro del mouse su VM e fare clic su "Rimuovi da inventario" inserisci qui la descrizione dell'immagine
  4. Abilita SSH sul computer ESXi
    • Nel client vSphere andare a: Configurazione -> Profilo di sicurezza -> Proprietà (accanto a Servizi) -> SSH (nell'elenco) -> Opzioni -> Avvia
  5. Accedi tramite SSH come root
  6. Preparare una directory sull'archivio dati di destinazione
    • mkdir "/vmfs/volumes/destination_datastore/Some VM"
  7. Clonare i file .vmdk usando il thin provisioning
    • vmkfstools -i "/vmfs/volumes/source_datastore/Some VM/Some VM.vmdk" -d thin "/vmfs/volumes/destination_datastore/Some VM/Some VM.vmdk"
  8. Copia tutti i file rimanenti (evitando di sovrascrivere i file .vmdk)
    • find "/vmfs/volumes/source_datastore/Some VM" -maxdepth 1 -type f | grep -v ".vmdk" | while read file; do cp "$file" "/vmfs/volumes/destination_datastore/Some VM"; done
  9. Se non hai consolidato le istantanee nel passaggio 2, potrebbero esserci dei file delta .vmdk delta, dobbiamo anche copiarli (ciò potrebbe richiedere del tempo):
    • find "/vmfs/volumes/source_datastore/Some VM" -maxdepth 1 -type f | grep [0123456789][0123456789][0123456789][0123456789][0123456789][0123456789] | grep ".vmdk" | while read file; do cp "$file" "/vmfs/volumes/destination_datastore/Some VM"; done
  10. Una volta terminata la clonazione e la copia di tutti i file necessari, aggiungere la macchina virtuale dal nuovo archivio dati all'inventario
    • Nel client vSphere vai su: Configurazione-> Archiviazione-> Browser dati , fai clic con il pulsante destro del mouse sull'archivio dati di destinazione in cui hai spostato la VM e fai clic su "Sfoglia archivio dati". inserisci qui la descrizione dell'immagine
  11. Passa alla tua VM e fai clic con il pulsante destro del mouse sul file .vmx , quindi fai clic su "Aggiungi all'inventario" inserisci qui la descrizione dell'immagine
  12. Avvia la VM per vedere se funziona, quando ti viene chiesto se l'hai copiata o spostata, rispondi che l'hai copiata. (Non sono sicuro di cosa significhi, ma penso che abbia a che fare almeno con la modifica dell'indirizzo MAC della vNIC.) inserisci qui la descrizione dell'immagine
  13. Se la VM si avvia correttamente, è possibile rimuovere la VM dal vecchio archivio dati.
    • rm -rf "/vmfs/volumes/source_datastore/Some VM"

Nota: testato solo con ESXi 5

Illustrazioni copiate spudoratamente da questo blog .


1
Questo dovrebbe funzionare, ma anche fornire informazioni su come spostare una macchina virtuale con istantanee è sciocco. Di 'alle persone di rimuovere tutte le istantanee prima di tentare una mossa come questa.
pauska,

2
Il post sopra di ohaal, in esxi 5.5 u1, ha dovuto cambiare -print0 in -print e ha funzionato come un incantesimo! PS. Vorrei votarlo ma nessun rappresentante.
Icereval

2
@ohaal verificato per funzionare su ESXi 6.7. Grazie!
Ed of the Mountain,

C'è un motivo per copiare su qualsiasi altro file oltre a .vmdk e .vmx? In caso contrario, puoi trasformare la findlinea in una semplice cp.
Agustín Lado,

8

Dai un'occhiata a questa risposta . La stessa logica si applica alla tua situazione, vale a dire questa citazione:

Si chiama "Converter", ma in realtà dovrebbe essere chiamato "Data Mover per tutti gli usi del sistema operativo". Tuttavia, non tira fuori la lingua altrettanto bene.

L'unica differenza è che gli host di origine e destinazione saranno gli stessi, ma i datastore differiranno. Ciò significa che i file passeranno dall'host ESXi, alla macchina del convertitore, quindi torneranno all'host. Sarebbe bello se Converter fosse "intelligente" e sapesse che era lo stesso host. Sfortunatamente, ciò costa denaro.

CAVEAT: la conversione della VM genererà un nuovo indirizzo MAC per qualsiasi scheda di rete. La maggior parte dei SO guest lo interpretano come un nuovo dispositivo.


1
Un punto eccellente sugli indirizzi MAC.
JamesBarnett,

3

In realtà basta creare la cartella nella destinazione di destinazione, quindi copiare i file nella cartella dall'origine e rimarrà sottile. Se copi la cartella, passerà da sottile a spesso.


2
Questo non è corretto verificato usando du -h .Thin è diventato spesso quando è stato copiato in una cartella già creata nello stesso archivio dati. cp C* ../newdir
Rowan Hawkins,

0

Vorrei copiare il file e poi riconvertirlo in thin tramite vmkfstools.


La dimensione dell'archivio dati di destinazione è in realtà più piccola dell'origine. Non ho abbastanza spazio per copiare il file spesso.
ewwhite,

In tal caso, copia e riconversione non funzioneranno, ma puoi anche usare vmkfstools per clonarlo direttamente nella destinazione. Ciò ridurrà anche il tempo necessario per trasferirlo, in quanto non trasferisce i GB aggiuntivi di zero. La mia risposta contiene dettagli su come farlo.
ohaal,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.