Как мне отключить виртуальную машину VMware, которая не умрет?[закрыто]
-
09-06-2019 - |
Вопрос
У меня есть виртуальная машина, запущенная на сервере, которую я не могу остановить или перезагрузить - я больше не могу войти в нее и не могу остановить ее с помощью консоли сервера VMware.Запущены другие виртуальные машины, поэтому о перезагрузке хоста не может быть и речи.Есть ли какой-нибудь другой способ заставить одну машину остановиться?
Решение
Если вы используете Windows, виртуальная машина должна иметь свой собственный процесс, который виден в диспетчере задач.Используйте sysinternals Обозреватель процессов чтобы найти нужного, а затем убить его оттуда.
Другие советы
Если вы используете Linux, то вы можете использовать гостевые процессы с помощью
ps axuw | grep vmware-vmx
Как указал @Dubas, вы должны быть в состоянии определить ошибочный процесс по имени пути к VMD
В некоторых случаях вы можете быть не в состоянии приостановить или, если уж на то пошло, выполнить какие-либо "Силовые" действия на виртуальной машине.Возможно, у вас также уже запущено несколько виртуальных машин.Используйте этот процесс, чтобы определить правильный PID для уничтожения.
В Windows 7 - Откройте диспетчер задач - Найдите процессы с именем "vmware-vmx.exe", обратите внимание на PID.
Перейдите на вкладку Производительность и запустите "Монитор ресурсов".Разверните панель "Активность на диске".Отсортируйте столбец "Файл".Найдите соответствующий файл vmdk для виртуальной машины, которую вы хотите уничтожить.В столбце "Изображение" будет указан процесс "vmware-vmx".Обратите внимание на PID.
Вернитесь на вкладку "Процессы" и отключите PID.
Вот что я сделал, основываясь на
а) комментарии @Espo и
б) тот факт, что у меня был только диспетчер задач Windows, с которым я мог играть....
Я вошел в систему на главном компьютере, открыл диспетчер задач и использовал меню "Вид", чтобы добавить столбец PID на вкладку "Процессы".
Я записал (да, с помощью бумаги и ручки) идентификаторы PID для каждого экземпляра процесса vmware-wmx.exe, который был запущен на коробке.
Используя консоль VMware, я приостановил работу сбойной виртуальной машины.
Когда я возобновил его, я смог идентифицировать процесс vmware-vmx, который соответствовал моей машине, и смог его отключить.
Похоже, до сих пор не было никаких побочных эффектов.
Аналогично, но с использованием командной строки WMIC для получения идентификатора процесса и пути:
WMIC /OUTPUT:C:\ProcessList.txt PROCESS get Caption,Commandline,Processid
При этом будет создан текстовый файл с каждым процессом и его параметрами.Вы можете выполнить поиск в файле пути к файлу вашей виртуальной машины и получить правильный идентификатор процесса для завершения задачи.
Благодаря http://windowsxp.mvps.org/listproc.htm для получения правильных параметров командной строки.
Для ESXi 5 вам сначала нужно включить ssh через консоль vSphere, а затем войти в систему и использовать следующую команду, чтобы найти идентификатор процесса
ps -c | grep -i "machine name"
Затем вы можете найти идентификатор процесса и завершить его, используя kill
смотрите следующее на веб-странице VMware
Отключение виртуальной машины на хосте ESXi (1014165) Симптомы
Вы сталкиваетесь с этими проблемами:
You cannot power off an ESXi hosted virtual machine.
A virtual machine is not responsive and cannot be stopped or killed.
"Использование команды ESXi 5.x esxcli для выключения виртуальной машины
Команда esxcli может использоваться локально или удаленно для выключения виртуальной машины, работающей на ESXi 5.x.Дополнительные сведения см. в разделе Команды виртуальной машины esxcli справочника по интерфейсу командной строки 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.
Для 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"
Для VMware fusion удерживайте кнопку альт нажимайте клавишу, пока вы нажимаете "перезагрузить виртуальную машину"