Глава 33. Миграция ВМ и контейнеров
В случае, если PVE управляет не одним физическим узлом, а кластером узлов, должна обеспечиваться возможность миграции ВМ с одного узла на другой.
Миграция — это процесс сохранения состояния ВМ на одном узле, переноса её данных и конфигурации на другой узел и восстановления состояния на новом месте.
Возможные сценарии, при которых может потребоваться миграция:
Существуют два механизма миграции:
Миграция контейнеров без перезапуска в настоящее время не поддерживается.
При миграции запущенного контейнера он будет остановлен, перемещён и затем снова запущен на целевом узле. Поскольку контейнеры являются легковесными, простой обычно составляет несколько сотен миллисекунд
Для выполнения онлайн-миграции ВМ должны соблюдаться следующие условия:
у ВМ отсутствуют локальные ресурсы, которые невозможно перенести. Например, напрямую проброшенные устройства PCI или USB блокируют Live Migration. Локальные диски могут быть перенесены при указании целевого хранилища;
хосты входят в один кластер PVE;
между хостами имеется надежное сетевое соединение;
на целевом хосте установлены те же или более новые версии пакетов PVE.
Миграция в реальном времени обеспечивает минимальный простой ВМ, однако занимает больше времени. В процессе Live Migration (без выключения ВМ) копируется всё содержимое оперативной памяти на целевой узел. Чем больше объём выделенной памяти, тем дольше будет выполняться перенос.
Если ВМ использует локальные ресурсы, её можно перенести в офлайн-режиме при условии, что все диски находятся в хранилище, доступном на обоих хостах. В этом случае при миграции диски будут скопированы на целевой узел по сети — аналогично процессу онлайн-миграции.
Запустить процесс миграции можно как в графическом интерфейсе PVE, так в интерфейсе командной строки.
33.1. Настройка сети миграции
PVE позволяет изолировать трафик миграции ВМ от управляющего трафика (веб-интерфейс, API, SSH). Это повышает безопасность и снижает нагрузку на основную сеть.
Изоляция достигается за счёт:
Указать сеть миграции можно двумя способами:
Через веб-интерфейс ( → → → ):
Напрямую в файле
/etc/pve/datacenter.cfg:
migration: network=10.10.10.150/24,type=secure
В параметре
network указывается подсеть в формате CIDR. Параметр
type=secure означает использование SSH-туннеля для передачи данных миграции.
На каждом узле кластера должен быть настроен сетевой интерфейс с IP-адресом из указанной подсети. Сеть миграции должна обеспечивать низкую задержку и высокую пропускную способность.
При запуске миграции PVE выполняет следующие действия:
Определяет сеть миграции, указанную в /etc/pve/datacenter.cfg.
Находит на исходном и целевом узлах интерфейсы с IP-адресами из этой подсети.
Передаёт данные памяти ВМ через выбранный интерфейс.