VMware ESXi : Forcer l’extinction d’une VM
I. Présentation
Lors de l'utilisation de machines virtuelles sous VMware ESXi, il peut arriver qu'une machine virtuelle soit visuellement allumée dans le client vSphere mais que le vSphere lui estime qu'elle est allumée. Cet état intermédiaire et plutôt curieux oblige une extinction forcée et manuelle en ligne de commandes de la VM concernée.
Lorsque l'on tentera d'éteindre depuis le client vSphere la VM, on obtiendra le message d'erreur suivant : "L'opération tentée ne peut être effectué dans l’état actuel (Désactivé)."
Avant de commencer, vous devez activer le SSH et le Shell sur votre serveur ESXi pour initier une connexion à distance en SSH (port 22).
II. Procédure
Commencez par lister toutes les VMs exécutées sur cet ESXi :
vim-cmd vmsvc/getallvms
On obtient une liste :
On repère l'identifiant (ID) de la VM que l'on souhaite éteindre, ici 268. On demande à obtenir l'état de cette VM :
vim-cmd vmsvc/power.getstate 268
Du point de vue de l'ESX, cette VM est allumée :
"Retrieved runtime info
Powered on"
On va tenter d'éteindre la machine virtuelle proprement mais il y a de fortes chances pour que ça ne fonctionne pas... Indiquez la commande ci-dessous avec votre ID :
vim-cmd vmsvc/power.off 268
Ceci ne fonctionne pas :
"Powering off VM:
Power off failed"
Désormais nous allons réaliser un arrêt forcé mais pour cela il faut obtenir le "World ID" correspondant à la VM. On va lister les processus VM en fonctionnement :
esxcli vm process list
On repère la ligne WorldID de la VM ciblée :
Ma VM avec l'ID 268 dispose du WorldID 4365, donc pour forcer l'arrêt cela donnera :
esxcli vm process kill -t force -w 4365
Enfin, on vérifie que la VM est bien éteinte avec la commande que l'on a utilisée précédemment :
vim-cmd vmsvc/power.getstate 268
C'est tout bon puisque la VM est éteinte :
"Retrieved runtime info
Powered off"
Il ne reste plus qu'à démarrer votre VM depuis le client vSphere et tout doit rentrer dans l'ordre !
Bonjour,
J’ai le même problème mais à l’envers. La machine est éteinte et ne veux pas s’allumer avec le même message d’erreur.
Donc je n’ai pas de worldID.
Une idée?
D’avance merci.
Yvon
Bonjour,
Merci pour votre article, ça m’a aidé à résoudre mon problème, j’ai pu redémarrer la VM après export en OVF et en vmdk.
Je commençais à paniquer, car il s’agit de la prod.
Bonne journée
Bonsoir,
Petit coup de pression j’imagine ! 🙂
Bonne soirée, tu peux dormir tranquille ! 🙂
Bonjour à tous et à toutes,
J’aimerais savoir s’il est possible de planifier l’arrêt de un ESXi via ligne de commande ou SSH, sans s’y connecter quoi ^^.
Merci d’avance pour vos réponses.
Bonne journée !