1.8.8 Перенос виртуальных машин между хостами
Предварительные условия для живой миграции
Оптимизация живой миграции
Хуки для гостевого агента
Автоматическая миграция виртуальной машины
Предотвращение автоматической миграции виртуальной машины
Перенос виртуальных машин вручную
Установка приоритета миграции
Отмена текущей миграции виртуальных машин
Перенос виртуальных машин между хостами
Живая миграция дает возможность перемещать работающую виртуальную машину между физическими хостами без остановки виртуальной машины. Виртуальная машина остается включенной, а пользовательские приложения продолжают работать, пока виртуальная машина перемещается на другой физический хост. В фоновом режиме оперативная память виртуальной машины копируется с исходного хоста на целевой. Хранилище дисков и сетевые подключения не изменяются.
Виртуальную машину нельзя мигрировать на другой хост, если к ней подключены устройства хоста – vGPU, USB диски или токены, виртуальные функции сетевых адаптеров и прочее.
Предварительные условия для живой миграции
Вы можете использовать живую миграцию для беспрепятственного перемещения виртуальных машин для поддержки ряда общих задач обслуживания. РЕД ВИРТ должна быть правильно настроена для поддержки живой миграции до ее использования.
Как минимум, для успешной миграции виртуальных машин в реальном времени должны быть выполнены следующие предварительные условия:
- Исходный и целевой хосты являются членами одного кластера, что обеспечивает совместимость ЦП между ними.
- Хосты источника и назначения имеют статус Включено.
- Хосты источника и назначения имеют доступ к одним и тем же виртуальным сетям и VLAN.
- У хоста назначения достаточно ЦП для поддержки требований виртуальной машины.
- У хоста назначения достаточно свободной ОЗУ для поддержки требований виртуальной машины.
- У переносимой виртуальной машины нет cache!=none настраиваемых свойств.
Живая миграция выполняется через сеть кластера, настроенной для миграции. Если сеть миграции не задана, то процесс миграции будет проходить через сеть управления. Данный процесс вызывает передачу больших объемов данных между хостами. Параллельные миграции могут привести к перегрузке сети управления. Для достижения максимальной производительности создайте отдельные логические сети для управления, хранения, отображения и данных виртуальных машин, чтобы минимизировать риск перегрузки сети.
Настройка виртуальных машин с vNIC с поддержкой SR-IOV для уменьшения сбоев сети во время миграции.
Виртуальные машины с vNIC, непосредственно подключенные к виртуальной функции (VF) сетевой карты хоста с поддержкой SR-IOV, могут быть дополнительно сконфигурированы для уменьшения простоев сети во время динамической миграции:
- Убедитесь, что на хосте назначения есть доступный VF.
- Установите параметры Проброс устройств и Мигрируемый в профиле vNIC.
- Включите горячее подключение для сетевого интерфейса виртуальной машины.
- Убедитесь, что виртуальная машина имеет резервную копию VirtIO vNIC, в дополнение к сквозной vNIC, чтобы поддерживать сетевое соединение виртуальной машины во время миграции.
- Перед настройкой связи установите параметр VirtIO vNIC No Network Filter.
- Добавьте оба vNIC в качестве ведомых устройств под связью активного резервного копирования на виртуальной машине, а pass through venice - в качестве основного интерфейса.
Профили подключения и vNIC могут иметь одну из следующих конфигураций:
- Рекомендуется: связь не настроена, fail_over_mac=active и VF vNIC
является основным ведомым устройством.
Отключите фильтр подмены MAC-адресов профиля VirtIO vNIC, чтобы гарантировать, что трафик, проходящий через VirtIO vNIC, не будет отброшен, поскольку он использует MAC-адрес VF vNIC.
- Связь настроена с помощью fail_over_mac=active.
Эта политика аварийного переключения гарантирует, что MAC-адрес связи всегда является MAC-адресом активного ведомого устройства. Во время аварийного переключения MAC-адрес виртуальной машины изменяется с небольшим нарушением трафика.
Оптимизация живой миграции
Миграция виртуальной машины в реальном времени может потребовать значительных ресурсов. Чтобы оптимизировать живую миграцию, вы можете установить следующие два глобальных параметра для каждой виртуальной машины в среде, для каждой виртуальной машины в кластере или для отдельной виртуальной машины.
Параметр Миграция автоматического схождения позволяет указать, будет ли автоконвергенция использоваться во время живой миграции виртуальных машин. Большие виртуальные машины с высокими рабочими нагрузками могут загрязнять память быстрее, чем скорость передачи, достигаемая во время живой миграции, и предотвращать конвергенцию миграции. Возможности автоматической конвергенции в QEMU позволяют форсировать конвергенцию миграции виртуальных машин. QEMU автоматически обнаруживает отсутствие конвергенции и запускает ограничение количества виртуальных ЦП на виртуальной машине.
Параметр Включить сжатие при миграции позволяет указать, используется ли сжатие миграции во время живой миграции виртуальной машины. Эта функция использует Xor Binary Zero Run-Length-Encoding для сокращения времени простоя виртуальных машин и общего времени живой миграции для виртуальных машин, на которых выполняются рабочие нагрузки с интенсивной записью в память, или для любого приложения с шаблоном обновления разреженной памяти.
Оба параметра по умолчанию отключены глобально.
Настройка автоконвергенции и сжатия при миграции для миграции виртуальных машин:
Профили подключения и vNIC могут иметь одну из следующих конфигураций:
- Настройте параметры оптимизации на глобальном уровне:
- Включите автоконвергенцию на глобальном уровне:
engine-config -s DefaultAutoConvergence=True
- Включите сжатие миграции на глобальном уровне:
engine-config -s DefaultMigrationCompression=True
- Перезапустите службу ovirt-engine, чтобы изменения вступили в силу:
systemctl restart ovirt-engine.service
- Включите автоконвергенцию на глобальном уровне:
- Настройте параметры оптимизации для кластера:
- Нажмите Виртуализация → Кластеры и выберите кластер.
- Нажмите кнопку Изменить.
- Перейдите на вкладку Политика миграции.
- В списке Миграция автоматического схождения выберите Наследовать из глобальных настроек, Автоматическое схождение или Не использовать автоматическое схождение.
- В списке Включить сжатие при миграции, выберите Наследовать из глобальных настроек, Сжимать или Не сжимать.
- Нажмите кнопку ОК.
- Настройте параметры оптимизации на уровне виртуальной машины:
- Нажмите Виртуализация → Виртуальные машины и выберите виртуальную машину.
- Нажмите кнопку Изменить.
- Перейдите на вкладку Хост.
- В списке Миграция автоматического схождения, выберите Наследовать из настроек кластера, Автоматическое схождение или Не использовать автоматическое схождение.
- В списке Включить сжатие при миграции, выберите Наследовать из настроек кластера, Сжимать или Не сжимать.
- Нажмите кнопку ОК.
Хуки для гостевого агента
Хуки — это скрипты, которые запускают активность на виртуальной машине при возникновении ключевых событий:
- До миграции;
- После миграции;
- Перед спячкой;
- После гибернации.
Базовый каталог конфигурации хуков находится /etc/ovirt-guest-agent/ hooks.d в системах Linux и C:\Program Files\Redhat\RHEV\Drivers\Agent в Windows.
Каждое событие имеет соответствующий подкаталог: before_migration и after_migration, before_hibernation и after_hibernation. Все файлы или символические ссылки в этом каталоге будут выполнены.
Исполняющим Пользователем в системах Linux является ovirtagent. Если для сценария требуются разрешения root, повышение прав должно быть выполнено создателем сценария-перехватчика.
В системах Windows исполняющим пользователем является пользователь System Service.
Автоматическая миграция виртуальной машины
Engine РЕД ВИРТ автоматически инициирует динамическую миграцию всех виртуальных машин, работающих на хосте, когда хост переводится в режим обслуживания. Целевой хост для каждой виртуальной машины оценивается по мере миграции виртуальной машины, чтобы распределить нагрузку по кластеру.
Engine РЕД ВИРТ автоматически инициирует динамическую миграцию виртуальных машин, чтобы поддерживать уровни балансировки нагрузки или энергосбережения в соответствии с политикой планирования. Укажите политику планирования, которая лучше всего соответствует потребностям вашей среды. Вы также можете отключить автоматическую или даже ручную живую миграцию определенных виртуальных машин, если это необходимо.
Если ваши виртуальные машины настроены для обеспечения высокой производительности и/или если они были закреплены (с помощью параметра Проброс устройств Host CPU, Закрепление CPU или Привязка NUMA), для режима миграции устанавливается значение Разрешить только ручную миграцию. Однако при необходимости его можно изменить на Разрешить ручную и автоматическую миграцию режим. Следует проявлять особую осторожность при изменении параметра миграции по умолчанию, чтобы это не привело к миграции виртуальной машины на хост, который не поддерживает высокую производительность или закрепление.
Предотвращение автоматической миграции виртуальной машины
Engine РЕД ВИРТ позволяет отключить автоматическую миграцию виртуальных машин. Вы также можете отключить перенос виртуальных машин вручную, настроив виртуальную машину для работы только на определенном хосте.
Возможность отключить автоматическую миграцию и требовать, чтобы виртуальная машина работала на определенном хосте, полезна при использовании продуктов высокой доступности приложений, таких как Высокая доступность или Cluster Suite.
Для предотвращения автоматической миграции виртуальных машин выполните следующие действия:
- Нажмите Виртуализация → Виртуальные машины и выберите виртуальную машину.
- Нажмите кнопку Изменить.
- Перейдите на вкладку Хост.
- В разделе Запускается выберите Любой Хост-сервер в Кластере или Указанные хосты, что позволяет выбрать несколько хостов. Явное назначение виртуальной машины конкретному хосту и отключение миграции являются взаимоисключающими с высокой доступностью РЕД ВИРТ.
- Выберите Разрешить только ручную миграцию или Не разрешать миграцию из Параметры миграции в раскрывающемся списке.
- При необходимости установите флажок Использовать пользовательское время простоя при миграции и укажите значение в миллисекундах.
- Нажмите кнопку ОК.
Перенос виртуальных машин вручную
Работающую виртуальную машину можно в реальном времени перенести на любой хост в назначенном кластере хостов. Живая миграция виртуальных машин не вызывает прерывания обслуживания. Перенос виртуальных машин на другой хост особенно полезен, если нагрузка на конкретный хост слишком высока.
Для виртуальных машин высокой производительности и/или виртуальных машин, определенных с Проброс CPU хоста, Закрепление CPU или Привязка NUMA, режим миграции по умолчанию Ручной. Выберите хост автоматически, чтобы виртуальная машина переместилась на хост с максимальной производительностью.
Когда вы переводите хост в режим обслуживания, виртуальные машины, работающие на этом хосте, автоматически переносятся на другие хосты в том же кластере. Вам не нужно вручную переносить эти виртуальные машины.
Для переноса виртуальных машин вручную выполните следующие действия:
- Нажмите Виртуализация → Виртуальные машины и выберите одну или несколько (удерживая нажатым клавишу CTRL) работающих виртуальных машин.
- Нажмите кнопку Перенести.
- В открывшемся окне Перенести виртуальную машину(ы) (рисунок 1)
используйте переключатели, чтобы выбрать, следует ли Выбрать хост автоматически или
Выбрать хост назначения, указав хост в раскрывающемся
списке.

Рисунок 1 – Окно «Перенести виртуальную машину(ы)» Когда выбран параметр Выбрать хост автоматически, система определяет хост, на который переносится виртуальная машина, в соответствии с правилами балансировки нагрузки и управления питанием, установленными в политике планирования.
- При необходимости установите флаг Перенести виртуальные машины с
такими же метками.
Примечание.
Установка этого свойства приведёт к переносу ВМ, отсутствующих в списке, но имеющих такие же метки. Также это может вызвать появление ошибок в журнале, из-за множественных попыток переноса.
- Нажмите кнопку ОК.
Во время миграции прогресс отображается на индикаторе выполнения миграции. После завершения миграции столбец Хост обновится, чтобы отобразить хост, на который была перенесена виртуальная машина.
Установка приоритета миграции
Engine РЕД ВИРТ ставит в очередь одновременные запросы на перенос виртуальных машин с заданного хоста. Процесс балансировки нагрузки выполняется каждую минуту. Хосты, уже вовлеченные в событие миграции, не включаются в цикл миграции, пока не завершится их событие миграции. Когда в очереди есть запрос на миграцию и доступные хосты в кластере для его выполнения, событие миграции запускается в соответствии с политикой балансировки нагрузки для кластера.
Вы можете повлиять на порядок очереди миграции, задав приоритет каждой виртуальной машины; например, настройка критически важных виртуальных машин для миграции раньше других. Миграции будут упорядочены по приоритету; сначала будут перенесены виртуальные машины с наивысшим приоритетом.
Для установки приоритета миграции выполните следующие действия:
- Нажмите Виртуализация → Виртуальные машины и выберите виртуальную машину.
- Нажмите кнопку Изменить.
- Выберите вкладку Высокая доступность.
- В раскрывающемся списке Приоритет выберите Низкий, Средний, или Высокий.
- Нажмите кнопку ОК.
Отмена текущей миграции виртуальных машин
Миграция виртуальной машины занимает больше времени, чем вы ожидали. Прежде чем вносить какие-либо изменения в среду, вы должны знать, где работают все виртуальные машины.
Для отмены текущей миграции виртуальной машины выполните следующие действия:
- Выберите мигрирующую виртуальную машину. Она отображается в Виртуализация → Виртуальные машины со статусом Перемещение из.
- Нажмите кнопку Дополнительные действия (⋮), затем Отменить миграцию.
Состояние виртуальной машины возвращается из состояния Отменить миграцию на Включено.
Дата последнего изменения: 24.09.2026
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.