13/12/2024

VMware

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é)."

vmware-erreur-poweroff-1

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 :

vmware-erreur-poweroff-2

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 :

vmware-erreur-poweroff-3

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 !

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

4 commentaires sur “VMware ESXi : Forcer l’extinction d’une VM

  • 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

    Répondre
  • 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

    Répondre
    • Bonsoir,
      Petit coup de pression j’imagine ! 🙂
      Bonne soirée, tu peux dormir tranquille ! 🙂

      Répondre
  • 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 !

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.