hostprofi.ru
Подобрать хостинг
Термин·буква L

Live migration

краткое определение

Live migration — перенос работающей виртуальной машины с одного физического хоста на другой без остановки гостевой ОС и работающих приложений, с прерыванием сервиса на миллисекунды или без него.

Live migration (живая миграция) — ключевая функция виртуализированной инфраструктуры, позволяющая переносить виртуальные машины между физическими серверами без перезагрузки. Это критично для обслуживания оборудования: можно вывести физический хост из эксплуатации на техработы, не прерывая сервисы, работающие на его VM.

Как работает

Стандартный алгоритм live migration (pre-copy):

  1. Создаётся VM на целевом хосте без запуска.
  2. Страницы RAM передаются на целевой хост итерационно, пока VM продолжает работать.
  3. Изменённые страницы (dirty pages) копируются снова.
  4. Когда объём dirty pages достигает минимума, VM на источнике ставится на паузу (stop-and-copy) — на единицы миллисекунд.
  5. Оставшиеся страницы и состояние CPU передаются. VM возобновляется на целевом хосте.
  6. Сетевые соединения переключаются через ARP-announcement нового MAC-адреса.

Реализации: VMotion в VMware vSphere, Live Migration в Hyper-V, Proxmox через QEMU/KVM. Для миграции необходим shared storage (iSCSI, NFS, Ceph) — чтобы диск VM был доступен на обоих хостах, или storage migration (копирование диска параллельно с RAM).

История

Концепция live migration разработана в Кембриджском университете в 2002–2003 годах в рамках проекта Xen. Первая демонстрация live migration ВМ на Xen состоялась в 2003 году. VMware анонсировала VMotion в 2003 году (коммерческая реализация). Live migration в KVM/QEMU появилась около 2007–2008 года. Сегодня это стандартная функция всех enterprise-гипервизоров.

Типы миграции

  • Live migration (pre-copy) — копирование RAM итерационно, минимальный downtime
  • Live migration (post-copy) — VM запускается на цели, страницы подгружаются по запросу
  • Cold migration — VM останавливается, диск и конфиг копируются, VM стартует на цели
  • Storage migration — живое копирование диска VM без остановки

На что обращать внимание

Live migration требует одинакового типа CPU на исходном и целевом хостах (или использования CPU compatibility mode). Высокая утилизация RAM замедляет миграцию: при 128 ГБ RAM и 80% dirty page rate процесс может занять несколько минут. Сетевые соединения на базе TCP переживают миграцию, UDP-потоки могут прерваться.

Технические детали Live migration

Процесс Live migration в KVM происходит в несколько фаз: precopy — грязные страницы памяти непрерывно отправляются на целевой хост; затем краткая пауза 50--200 мс, передаётся финальное состояние CPU и памяти; наконец ВМ запускается на целевом хосте. Для хранения используется общий SAN или iSCSI. Сеть между хостами должна быть 10 GbE+; через 1 GbE миграция ВМ с 16 ГБ RAM займёт несколько минут. Инструментарий Proxmox VE автоматизирует Live migration через GUI одним кликом.

История Live migration

Live migration впервые реализована в VMware ESX 2.0 в 2003 году под названием VMotion. Xen добавил Live migration в версии 2.0 (2004). KVM получил поддержку в 2010 году. Сегодня Live migration — стандарт для production-виртуализации, обеспечивающий плановое обслуживание серверов без простоя гостей.

Другие термины