VM avec deux Datastores appartenant à deux Clusters de Datastores différents

Lors d’un dernier check de routine avant une decomm de Datastore nous avons eu l’agréable surprise  de tomber sur une VM qui avait deux Datastores qui eux-mêmes appartenaient à deux clusters de Datastore différents (jusqu’a là pourquoi pas… mais vu que la dite VM n’avait rien à faire là, nous avons voulu en savoir plus.)

Là où c’est rigolo c’est que le premier Datastore est complètement vide et que le deuxième Datastore contient bien tous les fichiers de notre VM 🙂

On s’aperçoit aussi que toute modification de la VM est impossible (ce qui nous étonne qu’à moitié) et que notre VM a une ISO attachée (ça donne une bonne piste vous l’aurez compris.)

En googlelant nous sommes tombés sur la KB2105343  qui explique en détail comment procéder pour supprimer le Datastore “intrus”.

  1. Vérifier l’emplacement du fichier vmx de la vm
  2. Faire un “Power Off” de la vm
  3. Faire un “Remove from Inventory” de la vm
  4. Inventorier la vm dans le vCenter
  5. Faire un clique droit sur la vm, Edit Setting, dans “CD/DVD drive 1*” choisir “Client Drive” puis cliquer sur le bouton “OK”
  6. Vous pouvez “Power On” la VM si vous le souhaitez
Nous avons désormais un seul Datastore et on va pouvoir décommissionner notre Datastore vide 🙂

Post to Twitter

Error : A specified parameter was not correct……

Lors d’un Storage vMotion en masse nous avons rencontré sur certaines VMs l’erreur ci-dessous.

A specified parameter was not correct: ConfigSpec.files.vmPathName

En regardant de plus près même la suppression d’une des VMs en question n’était pas possible non plus (au préalable on a bien vérifié qu’on avait un backup récent 🙂 ).

Afin de pouvoir terminer notre Storage vMotion nous avons dû faire un “Remove from Inventory”sur les VMs qui posaient problème puis les inventorier dans le vCenter (6.7.0.48000)

Ci-dessous la commande pour afficher les VMs d’un vCenter avec leurs clusters, dossiers et le chemin du vmx.

Get-VM | Select Name, @{N="Cluster";E={Get-Cluster -VM $_}}, @{N="vmx Path";E={$_.ExtensionData.Config.Files.VmPathName}},@{N="VM Folder";E={$_.folder}}

Ci-dessous un exemple de commande pour inventorier une VM qui causait problème.

New-VM -VMFilePath "[datastore0] FolderVm/MyVM1.vmx" -VMHost (Get-Cluster "MyCluster" | Get-VMHost | Get-Random) -Location (Get-Folder MyFolder) -RunAsync

Comme vous savez faire vos boucles, il vous reste plus qu’à….. 😉

Post to Twitter