Я использую ESXi 6.5 (бесплатная лицензия). Иногда один из моих виртуальных серверов (ubuntu 18.04), работающий на хосте esxi, зависает. Симптомы: сервер больше не доступен через http (s) или ssh и не отвечает на ping. Он также не доступен через консоль. Статус инструментов vmware меняется с «Да» на «Установлено, но не запущено»). ВМ остается включенным. Хост esxi и другие запущенные на нем виртуальные машины остаются полностью функциональными. Явных проблем с ресурсами нет. Я могу вручную перезапустить виртуальную машину через веб-интерфейс esxi или удаленно перезапустить отказавшую виртуальную машину через приложение vSphere Mobile.
Очевидно, мне нужно исследовать причину, по которой этот vm периодически дает сбой, но это отдельный вопрос, а не о чем этот пост.
У меня такой вопрос: есть ли функция сторожевого таймера, которую я могу включить для автоматического перезапуска виртуальной машины Linux? При сбое встроенной функции сторожевого таймера (я не могу найти ее через веб-интерфейс), есть ли способ добиться этого, подключившись к службе ssh хоста esxi и перезапустив виртуальную машину с помощью скриптовой команды cli? (Я могу использовать пинг для мониторинга)
Спасибо, Джон
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. Лицензия накладывает серьезные ограничения на функции хоста, и у меня сейчас нет хоста с бесплатной лицензией, который можно было бы протестировать.
Если это разрешено, вы можете использовать его для перезапуска виртуальной машины с внешним мониторингом.