Изящное завершение работы гостя 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

Если распространение не поддерживается, не рекомендуется использовать их в производстве. Даже если есть способы реализовать поддержку в не перечисленных дистрибутивах.

Другие вопросы по тегам