Gérer les machines virtuelles affichées comme invalides (parfois appelées inconnues ) dans vSphere peut vite devenir un vrai casse-tête. Ce problème survient généralement après la suppression d’une VM, lorsque sa configuration persiste sur l’hôte ou dans l’inventaire. Vous avez peut-être supprimé manuellement des fichiers de la VM du système de fichiers VMFS ou effectué une migration vMotion, et vous vous retrouvez avec des entrées fantômes dans votre liste. Le plus frustrant ? Impossible de les supprimer depuis le client web : le bouton « Désenregistrer » est inactif, et elles restent là, comme pour vous narguer. Heureusement, il est possible de les supprimer via SSH sur l’hôte ESXi, mais la procédure est loin d’être simple. Une fois l’opération terminée, la VM devrait disparaître de votre inventaire et tout rentrera dans l’ordre.
Comment supprimer les machines virtuelles « invalides » de vSphere
Activez SSH sur l’hôte ESXi
- Allez dans Hôte > Actions > Services, puis recherchez SSH.
- Cliquez sur Actions > Démarrer pour l’activer. Si SSH n’est pas activé, vous pouvez le faire ici — car, comme toujours, VMware a tendance à compliquer les choses inutilement.
Cette étape est cruciale car vous avez besoin d’un accès à la ligne de commande pour effectuer le nettoyage manuellement. Sans connexion SSH, vous serez contraint de tout faire via l’interface graphique, ce qui ne fonctionnera pas dans ce cas précis.
Connexion via SSH
- Utilisez un outil comme PuTTY ou mRemoteNG et connectez-vous en SSH à votre hôte ESXi.
- Connectez-vous avec vos identifiants administrateur. Si vous débutez, pas de panique ! Ce n’est pas la fin du monde, mais soyez prudent avec les commandes.
Trouvez l’ID de la machine virtuelle problématique
- Courir:
vim-cmd vmsvc/getallvms | grep invalid
Cette commande liste toutes les machines virtuelles. En recherchant « invalide », vous repérerez celles qui sont défectueuses. Généralement, vous verrez quelque chose comme :
Skipping invalid VM '22'
Ce nombre (ici, 22) correspond à l’identifiant de la machine virtuelle. Si vous en voyez plusieurs, il est utile de les noter, mais concentrez-vous principalement sur celle qui pose problème.
Essayez de recharger ou de désenregistrer la machine virtuelle.
- Si vous souhaitez d’abord tenter une réparation, exécutez :
vim-cmd vmsvc/reload 22
Cette opération peut parfois réparer l’entrée de la machine virtuelle et la rétablir à son état normal, mais pas systématiquement, surtout si les fichiers de la machine virtuelle ont disparu. Sur certaines configurations, cette commande permet de rétablir une connexion correcte. Il se peut que la machine virtuelle passe à l’état « Éteinte » ou disparaisse de la liste au bout de quelques minutes ; il suffit alors d’actualiser le client Web.
- Si vous souhaitez simplement effectuer un nettoyage, désenregistrez la machine virtuelle avec :
vim-cmd /vmsvc/unregister 22
Il s’agit de l’étape de nettoyage proprement dite. Elle supprime manuellement la machine virtuelle invalide de l’inventaire. La machine virtuelle devrait disparaître du client web peu après. Si elle est toujours présente, vérifiez son ID ; il arrive que la liste soit confuse.
Pour les plus courageux : modification manuelle de la configuration hostd
- En dernier recours, ouvrez-le
/etc/vmware/hostd/vmInventory.xmldans un éditeur de texte comme vi ou nano :
vi /etc/vmware/hostd/vmInventory.xml
Trouvez la section correspondant à votre machine virtuelle invalide et supprimez-la. Effectuez d’abord une sauvegarde, car toute erreur peut être difficile à réparer. Après la modification, redémarrez les services hôtes services.sh restartet vérifiez si la machine virtuelle a disparu.
Remarque : Dans certains cas, la modification manuelle de ce fichier peut entraîner des problèmes si elle est effectuée incorrectement. Par conséquent, ne négligez pas les sauvegardes et soyez prudent.
Gestion des machines virtuelles bloquées avec des configurations corrompues
Si une machine virtuelle refuse de se désenregistrer ou disparaît uniquement après un redémarrage, et que vous obtenez le statut « Invalide » sur une machine virtuelle en cours d’exécution, il se peut que son fichier de configuration soit corrompu. La solution ? Supprimez la machine virtuelle de l’inventaire (via « Supprimer de l’inventaire » ou en la redémarrant), puis recréez-la. Attachez les anciens disques VMDK à une nouvelle machine virtuelle en tant que disques existants, effectuez une migration Storage vMotion pour consolider les fichiers, démarrez la machine virtuelle et vérifiez que tout fonctionne correctement. Enfin, supprimez les anciens fichiers corrompus de la machine virtuelle. Ce n’est pas la solution la plus élégante, mais c’est parfois la seule.
Que se passe-t-il si la machine virtuelle disparaît suite à des problèmes de stockage ?
Si vous perdez l’accès au stockage VMFS, les machines virtuelles arrêtées seront bloquées ou masquées dans l’inventaire. Vous devrez les réenregistrer manuellement en accédant à leur fichier VMX dans le stockage. Faites un clic droit, choisissez « Enregistrer la machine virtuelle », puis redémarrez-la. Tout devrait alors redémarrer.
Le tri de toutes ces informations peut s’avérer fastidieux, mais dans la plupart des cas, les commandes SSH permettent de corriger les entrées erronées. Parfois, il suffit de supprimer l’enregistrement incorrect et de redémarrer, ou de réenregistrer manuellement la machine virtuelle. Bon courage ! J’espère que cela atténuera votre frustration lorsque l’inventaire fait des siennes.
Résumé
- Activez SSH sur l’hôte ESXi s’il n’est pas actif.
- Connexion via SSH
- Utiliser
vim-cmd vmsvc/getallvmspour trouver les ID de machine virtuelle invalides - Essayez de recharger ou de vous désinscrire avec
vim-cmd vmsvc/reloadouunregister - Modifiez manuellement le fichier /etc/vmware/hostd/vmInventory.xml si nécessaire.
- Réenregistrez les machines virtuelles à partir du stockage si elles ont disparu.
Conclure
Supprimer les machines virtuelles invalides se résume généralement à utiliser SSH et à faire preuve d’un peu de patience. Ce n’est pas toujours évident, surtout avec des configurations récalcitrantes ou des problèmes de stockage, mais une fois les bonnes commandes trouvées, c’est beaucoup plus simple. J’espère que cela évitera bien des tracas à certains : j’ai testé la méthode sur plusieurs hôtes et les machines virtuelles fantômes ont enfin disparu.