2008-09-17 42 views
21

Tengo una máquina virtual ejecutándose en un servidor que no puedo detener o reiniciar: ya no puedo iniciar sesión y no puedo detenerlo usando la consola del servidor VMware. Hay otras máquinas virtuales en ejecución, por lo que reiniciar el host está fuera de cuestión. ¿Hay alguna otra forma de obligar a una máquina a detenerse?¿Cómo elimino una máquina virtual VMware que no va a morir?

Respuesta

13

Si está utilizando Windows, la máquina virtual debe tener su propio proceso que esté visible en el administrador de tareas. Use sysinternals Process Explorer para encontrar el correcto y luego matarlo desde allí.

13

Si estás en Linux, se puede agarrar los procesos de huéspedes con

ps axuw | grep vmware-vmx 

Como @Dubas señaló, debe ser capaz de elegir el proceso irregular por el nombre de la ruta a la VMD

+2

Grande. Usando este comando puede ver la ruta de la máquina para seleccionar el PID correcto fácilmente. – Dubas

3

Esto es lo que hice basado en

a) comentarios @Espo 's y
b) el hecho de que sólo tenía el Administrador de tareas de Windows para jugar ....

Inicié sesión en el equipo host, abrí el Administrador de tareas y usé el menú Ver para agregar la columna PID a la pestaña Procesos.

Anoté (sí, con papel y un bolígrafo) los PID para cada instancia del proceso vmware-wmx.exe que se estaba ejecutando en el cuadro.

Utilizando la consola VMWare, suspendí la máquina virtual errante.

Cuando lo reanudé, pude identificar el proceso vmware-vmx que correspondía a mi máquina y podría matarlo.

No parece haber habido ningún efecto negativo hasta el momento.

+1

No habrá ningún efecto negativo. VMWare maneja los procesos por separado para cada VM. De hecho, maneja VM Engine y VM Graphics por separado también. Así que su gráfico podría bloquearse, pero su máquina virtual seguirá funcionando. –

+0

Es bueno ver que ayudó. Si hubiera utilizado Process Explorer, podría haber visto el título de la ventana y el nombre del archivo de disco que le habría ahorrado el tipeo. (¿Quién está usando Pen & Paper en estos días? :)) – Espo

3

similares, pero utilizando la línea de comandos de WMIC para obtener el identificador de proceso y la ruta:

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

Esto creará un archivo de texto con cada proceso y sus parámetros. Puede buscar en el archivo su ruta de archivo VM y obtener la ID de proceso correcta para finalizar la tarea.

Gracias a http://windowsxp.mvps.org/listproc.htm para los parámetros correctos de la línea de comandos.

2

Para ESXi 5, primero desea habilitar ssh a través de la consola vSphere y luego entrar y usar el siguiente comando para encontrar el ID del proceso

ps -c | grep -i "machine name" 

A continuación, puede encontrar el ID de proceso y poner fin al proceso usando kill

4

En algunos casos, es posible que no pueda suspender o, en ese caso, realice una de las acciones de "Encendido" en la VM. Es posible que ya tenga múltiples máquinas virtuales en funcionamiento. Use este proceso para identificar el PID correcto para matar.

En Windows 7 - Abrir el Administrador de tareas - Busque los procesos con el nombre, "vmware-vmx.exe", tenga en cuenta los PID.

Cambie a la pestaña Rendimiento e inicie el "Monitor de recursos". Expande el panel "Actividad de disco". Ordene la columna "Archivo". Busque el archivo vmdk apropiado para la VM que desea eliminar.La columna "Imagen" tendrá el proceso "vmware-vmx" en la lista. Tenga en cuenta el PID.

Vuelva a la pestaña "Procesos" y elimine el PID.

1

ver lo siguiente en la página web de VMware

Apagar una máquina virtual en un host ESXi (1014165) Síntomas

Está experimentando estos problemas:

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

"Uso de la 5.x ESXi esxcli comando para apagar una máquina virtual

El comando esxcli se puede utilizar localmente oa distancia para apagar una máquina virtual que se ejecuta en ESXi 5. X. Para obtener más información, consulte la sección de comandos de esxcli vm de la Referencia de la interfaz de la línea de comandos de 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. 

Para 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" 
Cuestiones relacionadas