Я использую ESXi 6.5 (бесплатная лицензия). Иногда один из моих виртуальных серверов (ubuntu 18.04), работающий на хосте esxi, зависает. Симптомы: сервер больше не доступен через http (s) или ssh и не отвечает на ping. К нему также нельзя получить доступ через консоль. Статус инструментов vmware меняется с «Да» на «Установлено, но не запущено»). ВМ остается включенным. Хост esxi и другие запущенные на нем виртуальные машины остаются полностью функциональными. Явных проблем с ресурсами нет. Я могу вручную перезапустить виртуальную машину через веб-интерфейс esxi или удаленно перезапустить отказавшую виртуальную машину через приложение vSphere Mobile.
Очевидно, мне нужно выяснить причину, по которой эта виртуальная машина периодически дает сбой, но это отдельный вопрос, а не о чем этот пост.
У меня такой вопрос: есть ли функция сторожевого пса, которую я могу включить для автоматического перезапуска виртуальной машины Linux? При сбое встроенной функции сторожевого таймера (я не могу найти ее через веб-интерфейс), есть ли способ добиться этого, подключившись к службе ssh хоста esxi и перезапустив виртуальную машину с помощью скриптовой команды cli? (Я могу использовать ping для мониторинга)
Спасибо, Джон
vSphere может перезапускать виртуальные машины, когда инструменты VMware не отвечают с его функциональностью высокой доступности:
Бесплатная версия ESXi не способна на это.
Обычно вы можете перезапустить виртуальную машину через SSH с помощью команды vim-cmd
.
~ # vim-cmd vmsvc/power.reset
Insufficient arguments.
Usage: power.reset vmid
Reset the specified virtual machine.
Вы можете получить vmid с помощью этой команды:
vim-cmd vmsvc/getallvms
Однако я не совсем уверен, разрешено ли это в бесплатной лицензии ESXi. Лицензия налагает серьезные ограничения на функции хоста, и у меня сейчас нет хоста с бесплатной лицензией, под рукой, чтобы протестировать его.
Если это разрешено, вы можете использовать его для перезапуска виртуальной машины с внешним мониторингом.