Назад | Перейти на главную страницу

Плавное завершение работы гостевой системы Linux в Hyper-V

Какой механизм использует Hyper-V, чтобы сообщить гостю Linux о необходимости корректного завершения работы?

Каким-то образом CoreOS корректно завершает работу, а другой Linux - нет (он просто резко выключается)

Я понял. 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 на каких дистрибутивах поддерживаются. Проверьте раздел индивидуального дистрибутива и версии и посмотрите, есть ли Ядро поддерживается.

Ядро
Комплексное отключение:
С помощью этой функции администратор может выключать виртуальные машины из диспетчера Hyper-V. Для получения дополнительной информации см. Завершение работы операционной системы.
Источник: Описание функций виртуальных машин Linux и FreeBSD на Hyper-V

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