Иногда, в VMware vSphere Client виртуальная машина на ESXi не подчиняется командам
Shut Down / Power Off
и остается «зависшей». Ниже описано как «убить» непокорную виртуальную машину с помощью командной строки на VMware ESXi.
Подобие сервисной консоли в VMware ESXi все-таки существует. Поэтому входим в нее следующим способом:
В консоли хоста VMware ESXi нажмите ALT-F1
Напечатайте unsupported (текста видно не будет), вы войдете в режим Tech Support Mode и появится запрос пароля. Введите пароль пользователя root
Появится приглашение ко вводу ~#.
Теперь выполняем следующую команду:
# vm-support -x
для получения списка виртуальных машин и их идентификаторов (VMID). После чего выключаем виртуальную машину с заданным идентификатором следующей командой (будет создан дамп с отладочной информацией в своп-разделе ESXi, с помощью параметра
-w <vmfs volume path>
можно задать VMFS-том и папку, куда будет положен дамп):
# vm-support -X <VMID>
Затем снова проверяем состояние виртуальной машины командой:
# vm-support -x
Для выхода из режима обслуживания напечатайте «exit» и нажмите Alt-F2.
Если и это не помогло, тогда надо напрямую пытаться убить процесс, который реализует виртуальную машину на ESXi. Для этого снова заходим в «сервисную консоль», как в предыдущем пункте и вводим команду:
#ps -g | grep <virtualmachinename>
далее ищем идентификатор группы процесса (process group ID, PGID), который находится в четвертой колонке результатов вывода. Далее убиваем процессы с виртуальной машиной командой:
#kill -9 <PGID>
опять-таки, проверяем состояние ВМ, которая должна быть уже выключена, командой
vm-support -X.