Миграция виртуальных машин

Миграция виртуальных машин помогает упростить обновление кластеров и балансировку рабочих нагрузок между вычислительными узлами. Кибер Инфраструктура позволяет выполнять два типа миграции:

  • Холодная миграция — для остановленных и приостановленных виртуальных машин.
  • Горячая миграция — для запущенных виртуальных машин (позволяет избежать простоя ВМ).

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

Горячая миграция состоит из следующих этапов:

  1. Вся память ВМ копируется на узел назначения, в то время как виртуальная машина продолжает работать на исходном узле. Если та или иная страница памяти ВМ изменится, она будет скопирована заново.
  2. Когда остается скопировать только несколько страниц памяти, ВМ на исходном узле останавливается, оставшиеся страницы передаются и ВМ перезапускается на узле назначения.

Большие виртуальные машины с интенсивными нагрузками записи записывают новые данные в память быстрее, чем изменения памяти могут быть переданы на узел назначения, что препятствует сходимости миграции. Для таких ВМ применяется механизм автоматической сходимости. При обнаружении отсутствия сходимости во время активной миграции скорость работы виртуального ЦП виртуальной машины снижается, что также замедляет запись в память ВМ. Изначально виртуальный ЦП виртуальной машины замедляется на 20 процентов, а затем еще на 10 процентов при каждой итерации. Этот процесс продолжается до тех пор, пока запись в память ВМ не будет достаточно замедлена для завершения миграции или пока виртуальный ЦП не будет замедлен на 99 процентов.

Ограничения

  • Виртуальные машины по умолчанию создаются с той же моделью ЦП, что и у хоста. Наличие вычислительных серверов с разными типами ЦП может привести к проблемам при динамической миграции. Чтобы избежать этого, можно вручную задать модель ЦП для всех новых ВМ, как описано в разделе Настройка модели ЦП виртуальных машин. Либо можно создать размещение для каждой группы вычислительных серверов с одной моделью ЦП, следуя инструкциям в разделе Управление размещениями для вычислительных узлов.

Предварительные требования

Чтобы произвести миграцию виртуальной машины

Панель администратора

  1. На вкладке Вычисления > Виртуальные машины > Виртуальные машины щелкните по виртуальной машине, которую необходимо перенести.
  2. Щелкните по значку многоточия рядом с виртуальной машиной и выберите Миграция.
  3. В новом окне укажите узел назначения:

    • Автоматически. Оптимальное место назначения будет автоматически выбрано среди узлов кластера в зависимости от доступных на них ресурсов ЦП и ОЗУ.
    • Выберите узел назначения вручную из раскрывающегося списка.

  4. По умолчанию запущенные ВМ переносятся активными. Можно изменить режим миграции на автономный, установив флажок Холодная миграция. Виртуальная машина будет остановлена и перезапущена на сервере назначения после миграции.

  5. Нажмите Мигрировать, чтобы зарезервировать ресурсы на узле назначения и начать миграцию.

Ход миграции будет отображаться на панели администрирования.

Интерфейс командной строки

Используйте следующую команду:

vinfra service compute server migrate [--cold] [--node <node>] <server>
--cold
Выполнение холодной миграции. Если параметр не установлен, тип миграции определяется автоматически.
--node <node>
Идентификатор или имя хоста для сервера назначения
<server>
Идентификатор или имя виртуальной машины

Например, чтобы начать миграцию виртуальной машины myvm на вычислительный сервер node003.vstoragedomain, выполните:

# vinfra service compute server migrate myvm --node node003