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

Как безопасно перезапустить KVM-хост Centos 7 без повреждения гостевых виртуальных машин / данных?

Я хочу иметь виртуализованный сервер KVM с несколькими виртуальными машинами (с разными гостевыми ОС) в производстве. Теперь, когда я хочу установить обновления ядра / пакетов для хост-машины, как перезапустить гипервизор без повреждения данных виртуальной машины? (когда на виртуальных машинах происходит некоторая запись SQL / диска)

Я знаю, что это очень простой вопрос, но в основном я хочу знать, KernelCare должен быть лучшим вариантом для хоста, чтобы быть в курсе. Я не наблюдаю повреждения данных / таких серьезных проблем, но минимальное прерывание для виртуальных машин в порядке (в среде сервера размещения приложений).

Лучше всего для обновления серверов использовать динамическую миграцию. Имейте запасной хост, которому предоставляется полностью обновленный программный стек, затем перенесите все работающие виртуальные машины на этот хост. Теперь вы можете безопасно обновить и перезагрузить исходный хост. Именно так большинство общедоступных облаков обрабатывают обновления своих хостов без простоя виртуальных машин клиентов.

Конечно, гостевым виртуальным машинам в какой-то момент также потребуется их собственное обновление программного обеспечения и перезагрузка.

Я вижу несколько вариантов с разными затратами, временем простоя и риском.

  1. Живая миграция. Это дает минимальное время простоя и означает, что вы рискуете только одной виртуальной машиной за раз. Тем не менее, существует некоторый риск того, что миграция будет неправильной, что приведет к проблемам, и, конечно же, вам понадобится второй хост-сервер.
  2. Неживая миграция, вы выключаете виртуальные машины по одной и перемещаете их. Возможно, стоит подумать, если вы не можете заставить живую миграцию работать в вашей среде.
  3. Выключите виртуальные машины и снова запустите их после перезагрузки хоста. Любая достойная платформа виртуальных машин должна иметь возможность отправлять сигналы отключения ACPI виртуальным машинам, и любая достойная современная ОС должна понимать, что означает сигнал отключения ACPI. Если вы пойдете по этому маршруту, а гостевые виртуальные машины не перезагружались некоторое время, я бы предложил выполнить тестовое выключение и перезапустить каждую виртуальную машину по очереди, прежде чем отключать их все для перезагрузки хоста.
  4. Приостановите виртуальные машины на диск и возобновите их после перезагрузки хоста. Риск заключается в том, что произойдет, если изменения, внесенные во время обновлений, сделают невозможным возобновление. Затем вы имеете дело с нечистым завершением работы всех ваших виртуальных машин.