2008-09-17 10 views
21

J'ai une machine virtuelle fonctionnant 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 en utilisant la console du serveur VMware. Il y a d'autres machines virtuelles en cours d'exécution, le redémarrage de l'hôte est donc hors de question. Y a-t-il un autre moyen de forcer une machine à s'arrêter?Comment est-ce que je tue une machine virtuelle de VMware qui ne mourra pas?

Répondre

13

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

13

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

ps axuw | grep vmware-vmx 

Comme @Dubas a souligné, vous devriez être en mesure de choisir le processus errante par le nom de chemin vers le VMD

+2

Grand. En utilisant cette commande, vous pouvez voir le chemin de la machine pour sélectionner le PID correct facilement. – Dubas

3

Voici ce que je ne basé sur

a) les commentaires de @Espo et
b) le fait que je n'avais Gestionnaire des tâches Windows pour jouer avec ....

J'ai ouvert une session sur la machine hôte, 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 en utilisant la console VMWare. Quand je l'ai repris, je pouvais alors identifier le processus vmware-vmx qui correspondait à ma machine et qui pouvait le tuer.

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

+1

Il n'y aura aucun effet néfaste. VMWare gère les processus séparément pour chaque machine virtuelle. En fait, il gère aussi le VM Engine et les VM Graphics. Ainsi, votre graphique pourrait tomber en panne, mais votre machine virtuelle continuera de fonctionner. –

+0

Bon de voir que cela a aidé. Si vous aviez utilisé l'Explorateur de Processus, vous auriez pu voir le titre de la fenêtre et le nom du fichier-disque qui vous aurait sauvé la frappe. (Qui utilise Pen & Paper ces jours-ci? :)) – Espo

3

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

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

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

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

2

Pour ESXi 5, vous allez tout d'abord souhaitez activer ssh via la console vSphere et puis connectez-vous et utilisez la commande suivante pour trouver l'ID de processus

ps -c | grep -i "machine name" 

Vous pouvez trouver l'ID de processus et de mettre fin à la processus utilisant kill

4

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

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

Passez à l'onglet Performances et démarrez le "Moniteur de ressources". Développez le "Disk Activity" panneau. Triez la colonne "Fichier". Recherchez le fichier vmdk approprié pour la machine virtuelle que vous souhaitez détruire.La colonne "Image" affichera le processus "vmware-vmx". Notez le PID.

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

1

voir ce qui suit de 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 du 5.x ESXi esxcli commande pour mettre hors tension une machine virtuelle

La commande esxcli peut être utilisé localement ou à distance pour mettre hors tension une machine virtuelle fonctionnant sur ESXi 5. X. Pour plus d'informations, reportez-vous à 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" 
Questions connexes