Иногда сталкиваюсь с тем, что виртуальная машина на хосте VMWare ESXi зависает и не отвечает на команды перезагрузки или выключения из веб-интерфейса клиента vSphere. В этой статье разберемся как принудительно остановить зависшей виртуальную машину VMWare.
Если процесс виртуальной машины на сервере ESXi завис, она перестает реагировать на команды Reset/Power Off, и на любое действие выдает ошибку вида:
The attempted operation cannot be performed in the current state
; Another task is already in progress
; The virtual machine might be performing concurrent operations. Actions: Complete the concurrent operation and retry the power-off operation. The virtual machine is in an invalid state
. Вы можете вручную остановить процесс зависшей ВМ на хосте ESXi из локального командной строки ESXi Shell или PowerCLI без перезагрузки сервера. Имейте в виду, что принудительное выключение ВМ может привести к потере данных в гостевой ОС (аналогично ситуации с отключением кабеля питания на физическом компьютере).
$ esxcli vm process list
$ esxcli vm process kill --type=[soft,hard,force] --world-id=WorldNumber
Есть три типа завершения процесса виртуальной машины:
kill -SIGTERM
); kill -9
); Попробуйте мягко остановить ВМ с указанным ID:
$ esxcli vm process kill --type=soft -w=25089429
ВМ должна выключиться.
$ esxcli vm process kill -t=soft -w=`esxcli vm process list | grep -A2 "hq-rds01" | grep World | awk '{print $3}'`
Можно отключить зависшую виртуальную машину с помощью PowerShell (это удобно, т.к. при подключении к vCenter вам не нужно искать хост, на котором запушена ВМ и включать SSH доступ). Подключитесь к vCenter с помощью PowerCLI и проверьте, что ВМ запущена:
get-vm 'web2' | select name,PowerStates
Принудительно остановите процесс ВМ:
stop-vm -kill "web2" -confirm:$false
Также вы можете остановить зависшую виртуальную машину с помощью консольной утилиты ESXTOP .
В SSH сессии введите команду esxtop
, затем нажмите c
для отображения ресурсов CPU и shift + V
, чтобы отображать только процессы вириальных машин
Затем нажмите f
(выбрать отображаемы поля), c
(отобразить поле LWID- Leader World Id) и нажмите Enter
.
Найдите вашу ВМ в списке и запомните ее LWID. Чтобы остановить процесс ВМ, нажмите k
(kill) и наберите LWID идентфикатор ВМ, которую нужно выключить.
Последний способ жёсткого выключения виртуальной машины – воспользоваться утилитой kill . Такой способ позволит остановить не только ВМ, но и все дочерние процессы.
Получите ID родительского процесса ВМ:
ps | grep "hq-rds01"
Завершите процесс ВМ:
kill -9 527888
После такого “hard reset”, установленная ОС запустится в режиме восстановления (в случае гостевой Windows, запустится среда Windows Recovery Environment ).
$ /etc/init.d/hostd restart
$ /etc/init.d/vpxa restart
Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…
Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…
Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…
Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…
YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…
Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…