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?
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à.
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
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.
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.
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.
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
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.
"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"
Pour la fusion VmWare, maintenez la alt pendant que vous cliquez sur "redémarrer la machine virtuelle"