web-dev-qa-db-fra.com

Comment tuer une machine virtuelle VMware qui ne mourra pas?

J'ai une machine virtuelle en cours d'exécution sur un serveur que je ne peux pas arrêter ou redémarrer - je ne peux plus me connecter et je ne peux pas l'arrêter à l'aide de la console du serveur VMware. Il existe d'autres VM en cours d'exécution, il est donc hors de question de redémarrer l'hôte. Existe-t-il un autre moyen de forcer une machine à s'arrêter?

24
Rikalous

Si vous utilisez Windows, la machine virtuelle doit avoir son propre processus visible dans le gestionnaire de tâches. Utilisez sysinternals Process Explorer pour trouver le bon, puis tuez-le à partir de là.

15
Espo

Si vous êtes sous Linux, vous pouvez saisir les processus invités avec

ps axuw | grep vmware-vmx

Comme l'a souligné @Dubas, vous devriez être en mesure de sélectionner le processus erroné par le nom du chemin vers le VMD

15
Ian

Dans certains cas, il se peut que vous ne puissiez pas suspendre ou, par ailleurs, effectuer l'une des actions "Power" sur la machine virtuelle. Vous pouvez également avoir déjà plusieurs machines virtuelles en cours d'exécution. Utilisez ce processus pour identifier le PID correct à tuer.

Sous Windows 7 - Ouvrez le Gestionnaire des tâches - Recherchez les processus portant le nom "vmware-vmx.exe", notez les PID.

Basculez vers l'onglet Performances et démarrez le "Moniteur de ressources". Développez le panneau "Activité du disque". Triez la colonne "Fichier". Recherchez le fichier vmdk approprié pour le VM que vous voulez tuer. La colonne "Image" aura le processus "vmware-vmx" répertorié. Notez le PID.

Revenez à l'onglet "Processus" et tuez le PID.

5
EJ2020

Voici ce que j'ai fait sur la base

a) les commentaires de @Espo et
b) le fait que je n'avais que Windows Task Manager pour jouer avec ....

Je me suis connecté à la machine hôte, j'ai ouvert le Gestionnaire des tâches et utilisé le menu Affichage pour ajouter la colonne PID à l'onglet Processus.

J'ai écrit (oui, avec du papier et un stylo) les PID pour chaque instance du processus vmware-wmx.exe qui s'exécutait sur la boîte.

À l'aide de la console VMWare, j'ai suspendu la machine virtuelle errante.

Quand je l'ai repris, j'ai pu identifier le processus vmware-vmx qui correspondait à ma machine et je pouvais le tuer.

Il ne semble pas y avoir eu d'effets nocifs jusqu'à présent.

4
Rikalous

Similaire, mais en utilisant la ligne de commande WMIC pour obtenir l'ID et le chemin du processus:

WMIC /OUTPUT:C:\ProcessList.txt PROCESS get Caption,Commandline,Processid

Cela créera un fichier texte avec chaque processus et ses paramètres. Vous pouvez rechercher dans le fichier votre chemin d'accès au fichier VM, et obtenir l'ID de processus correct pour terminer la tâche avec.

Merci à http://windowsxp.mvps.org/listproc.htm pour les paramètres de ligne de commande corrects.

4
Daniel Tallentire

Pour ESXi 5, vous devez d'abord activer ssh via la console vSphere, puis vous connecter et utiliser la commande suivante pour trouver l'ID de processus

ps -c | grep -i "machine name"

Vous pouvez ensuite trouver l'ID de processus et terminer le processus à l'aide de kill

3
saschabeaumont

voir ce qui suit sur la page Web de VMware

Mise hors tension d'une machine virtuelle sur un hôte ESXi (1014165) Symptômes

Vous rencontrez ces problèmes:

You cannot power off an ESXi hosted virtual machine.
A virtual machine is not responsive and cannot be stopped or killed.

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1014165

"Utilisation de la commande ESXi 5.x esxcli pour mettre une machine virtuelle hors tension

La commande esxcli peut être utilisée localement ou à distance pour mettre hors tension une machine virtuelle exécutée sur ESXi 5.x. Pour plus d'informations, consultez la section Commandes esxcli vm de la Référence de l'interface de ligne de commande vSphere.

Open a console session where the esxcli tool is available, either in the ESXi Shell, the vSphere Management Assistant (vMA), or the location where the vSphere Command-Line Interface (vCLI) is installed.

Get a list of running virtual machines, identified by World ID, UUID, Display Name, and path to the .vmx configuration file, using this command:

esxcli vm process list

Power off one of the virtual machines from the list using this command:

esxcli vm process kill --type=[soft,hard,force] --world-id=WorldNumber

Notes:
Three power-off methods are available. Soft is the most graceful, hard performs an immediate shutdown, and force should be used as a last resort.
Alternate power off command syntax is: esxcli vm process kill -t [soft,hard,force] -w WorldNumber

Repeat Step 2 and validate that the virtual machine is no longer running.

Pour ESXi 4.1:

Get a list of running virtual machines, identified by World ID, UUID, Display Name, and path to the .vmx configuration file, using this command:

esxcli vms vm list

Power off one of the virtual machines from the list using this command:

esxcli vms vm kill --type=[soft,hard,force] --world-id=WorldNumber"
3
Jocelyn

Pour la fusion VmWare, maintenez la alt pendant que vous cliquez sur "redémarrer la machine virtuelle"

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1006215

2
spuder