Изящное завершение работы гостя Linux в Hyper-V
Какой механизм использует Hyper-V, чтобы сигнализировать гостю Linux о корректном завершении работы?
Каким-то образом CoreOS корректно завершает работу, но другой Linux этого не делает (он просто внезапно отключается)
3 ответа
Я понял. drivers/hv/hv_util.c
звонки orderly_poweroff()
от kernel/reboot.c
который впоследствии не может найти /sbin/poweroff
и делает только минимальную уборку.
Если я не ошибаюсь, интеграция Hyper v является причиной этого. Я не использовал CoreOS, но обычно именно это заставляет ваш виртуальный сервер корректно завершать работу.
В терминале введите команду lsmod. В CoreOS вы увидите (если я прав), что в нем перечислены службы Hyperv (hv_vmbus, hv_netvsc и т. Д.), А в других нет. Некоторые дистрибутивы Linux поставляются со встроенным, а другие вы можете добавить его. Если это не так, прокомментируйте ниже, и я удалю этот ответ.
Это не отвечает на ваш вопрос так подробно, как вы могли бы знать. Тем не менее, я хочу добавить это в качестве ответа, поскольку подробные технические ответы не соответствуют теме (неподдерживаемая среда).
Вы хотите посмотреть документацию о виртуальных машинах Linux и FreeBSD на Hyper-V о том, какие дистрибутивы поддерживаются. Проверьте раздел отдельного дистрибутива и версии и посмотрите, поддерживается ли Core.
ядро
Интегрированное отключение:
С помощью этой функции администратор может отключить виртуальные машины из диспетчера Hyper-V. Для получения дополнительной информации см. Завершение работы операционной системы.
Источник: описания функций для виртуальных машин Linux и FreeBSD в Hyper-V
Если распространение не поддерживается, не рекомендуется использовать их в производстве. Даже если есть способы реализовать поддержку в не перечисленных дистрибутивах.