web-dev-qa-db-fra.com

Déplacer VMware ESXi VM vers une nouvelle banque de données - préserver le provisionnement fin

Je suis à la recherche d'une bonne solution à un problème d'environnement VMware ESXi où aucun vCenter n'est disponible.

Quelle est la meilleure façon de déplacer une VM d'une banque de données à une autre sur un seul hôte ESXi, tout en conservant le provisionnement fin VMDK?

Il s'agit d'un serveur autonome qui a été étendu avec une autre matrice de disques/magasin de données. Je voudrais déplacer les données contenues dans l'ancien tableau vers le nouveau.

Modifier: la taille du magasin de données de destination est en fait plus petite que la source. Je n'ai pas assez de place pour copier le fichier épais.

28
ewwhite

Vous pouvez également utiliser Fichier -> Exporter -> Exporter le modèle OVF

puis importez-le. La dernière fois que je l'ai essayé, je pense que cela conserve le format vmdk. Pas si sûr maintenant que cela fait longtemps.

21
johnshen64

Je viens de trouver un moyen de le faire moi-même. Voici un guide facile à suivre sur la façon de déplacer votre VM vers une nouvelle banque de données tout en préservant l'allocation dynamique pendant le transfert (réduisant ainsi également les temps de transfert):

Guide étape par étape à l'aide de vmkfstools dans la CLI

  1. Éteignez la VM
  2. (Facultatif) Consolider les instantanés si nécessaire.
  3. Supprimer VM de l'inventaire vCenter
    • Clic droit VM et cliquez sur "Supprimer de l'inventaire" enter image description here
  4. Activez SSH sur la machine ESXi
    • Dans le client vSphere, allez dans: Configuration -> Profil de sécurité -> Propriétés (à côté de Services) > SSH (dans la liste) -> Options -> Démarrer
  5. Connectez-vous via SSH en tant que root
  6. Préparez un répertoire sur le magasin de données de destination
    • mkdir "/vmfs/volumes/destination_datastore/Some VM"
  7. Clonez les fichiers .vmdk à l'aide de l'allocation dynamique
    • vmkfstools -i "/vmfs/volumes/source_datastore/Some VM/Some VM.vmdk" -d thin "/vmfs/volumes/destination_datastore/Some VM/Some VM.vmdk"
  8. Copiez tous les fichiers restants (en évitant d'écraser les fichiers .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. Si vous n'avez pas consolidé les instantanés à l'étape 2, il peut y avoir des fichiers delta d'instantané .vmdk, nous devons également les copier (cela peut prendre un certain temps):
    • 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. Une fois le clonage et la copie de tous les fichiers nécessaires terminés, ajoutez le VM du nouveau magasin de données à l'inventaire
    • Dans le client vSphere, allez dans: Configuration-> Stockage-> Navigateur de données, cliquez avec le bouton droit sur la banque de données de destination vers laquelle vous avez déplacé votre VM vers et cliquez sur "Parcourir la banque de données ". enter image description here
  11. Accédez à votre VM et faites un clic droit sur le fichier . Vmx , puis cliquez sur "Ajouter à l'inventaire" enter image description here
  12. Démarrez le VM pour voir si cela fonctionne, lorsqu'on vous demande si vous l'avez copié ou déplacé, répondez simplement que vous l'avez copié. (Je ne suis pas sûr de ce que cela signifie, mais je pense qu'il a à faire au moins avec l'adresse MAC du vNIC en cours de modification.) enter image description here
  13. Si le VM démarre correctement, vous pouvez supprimer le VM de l'ancien magasin de données.
    • rm -rf "/vmfs/volumes/source_datastore/Some VM"

Remarque: testé uniquement avec ESXi 5

Illustrations copiées sans vergogne de ce blog .

28
ohaal

Découvrez cette réponse . La même logique s'applique à votre situation, à savoir cette citation:

Il s'appelle "Converter" mais il devrait vraiment s'appeler "All-Purpose OS Data Mover". Mais ça ne roule pas aussi bien.

La seule différence est que les hôtes source et de destination seront les mêmes, mais les banques de données seront différentes. Cela signifie que les fichiers iront de l'hôte ESXi à la machine du convertisseur, puis reviendront à l'hôte. Ce serait bien si Converter était "intelligent" et savait qu'il s'agissait du même hôte. Malheureusement, cela coûte de l'argent.

CAVEAT: La conversion du VM générera une nouvelle adresse MAC pour tous les adaptateurs réseau. La plupart des systèmes d'exploitation invités interprètent cela comme un nouveau périphérique.

8
Joel E Salas

En fait, créez simplement le dossier à la destination cible, puis copiez les fichiers dans le dossier à partir de la source et il restera mince. Si vous copiez le dossier, il sera converti de fin en épais.

3
Vidar

Je copierais le fichier puis le reconvertirais en mince via vmkfstools.

0
Jim B