vMotion — живая миграция ВМ без простоя в VMware | Глоссарий FREEHOSTING

vMotion

VMware vMotion
vMotion — vMotion — технология VMware для живой миграции виртуальных машин между физическими хостами без остановки работы. ВМ переносится с сохранением состояния памяти, сетевых соединений и активных сессий.

Определение простыми словами

vMotion — функция платформы VMware ESXi и vSphere, которая позволяет перенести работающую виртуальную машину с одного физического сервера на другой без её выключения. С точки зрения пользователя или приложения внутри ВМ — ничего не происходит: соединения не рвутся, сессии не сбрасываются, время простоя равно нулю или измеряется единицами миллисекунд.

Под капотом vMotion копирует страницы оперативной памяти ВМ на целевой хост итеративно, пока работает исходная машина. Когда объём «грязных» (изменённых) страниц становится достаточно мал, происходит финальная «заморозка» на несколько миллисекунд, передаётся остаток состояния, и управление переключается на новый хост. Диски при этом остаются на общем хранилище (SAN/NAS) или мигрируют отдельно через Storage vMotion.

Сравнение

Технология Платформа Простой при миграции Требования к хранилищу
vMotion VMware vSphere ~0 мс (миллисекунды) Shared storage или Storage vMotion
Live Migration Hyper-V / KVM ~50–200 мс Shared storage или NBD-копирование
Migrate (cold) Любая Полный останов ВМ Локальный или сетевой диск

Кейсы использования

  • Плановое обслуживание хоста — перед обновлением прошивки или заменой компонентов все ВМ эвакуируются на другие хосты через vMotion без уведомления пользователей.
  • Балансировка нагрузки (DRS) — VMware Distributed Resource Scheduler автоматически запускает vMotion, когда один хост перегружен по CPU или памяти.
  • Аварийное переключение — при предсказуемом отказе оборудования (перегрев, деградация диска) администратор вручную эвакуирует ВМ за секунды.
  • Оптимизация энергопотребления (DPM) — в ночное время ВМ консолидируются на меньшем числе хостов, остальные уходят в режим энергосбережения.

Негативный пример: vMotion не заменяет резервное копирование. Если в гостевой ОС произошёл сбой приложения или повреждение файловой системы — миграция перенесёт проблему на новый хост в неизменном виде. Для защиты от логических сбоев нужны снапшоты и полноценные бэкапы.

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

Для работы vMotion необходимо: VMware vCenter Server, выделенный VMkernel-порт с включённым флагом vMotion на каждом хосте, а также общее хранилище (для базовой миграции без Storage vMotion). Пропускная способность сети vMotion — рекомендуется минимум 10 Гбит/с для быстрого завершения миграции объёмных ВМ.

# Проверить сетевые адаптеры VMkernel на хосте ESXi
esxcli network ip interface list
# Посмотреть теги VMkernel (vmotion должен быть включён)
esxcli network ip interface tag get -i vmk1
# Запустить тест vMotion из CLI через govc (VMware vSphere CLI)
govc vm.migrate -host /datacenter/host/esxi02 /datacenter/vm/myvm

Параметр stun time (время заморозки) при vMotion обычно составляет менее 10 мс для ВМ с памятью до 64 ГБ при сети 10 Гбит/с. Enhanced vMotion Convergence (EVC) позволяет мигрировать ВМ между хостами с разными поколениями CPU, маскируя расширенные наборы инструкций.

Частые вопросы

Можно ли использовать vMotion без общего хранилища?

Да — через Storage vMotion диски копируются одновременно с переносом памяти. Это занимает больше времени и требует достаточной пропускной способности сети хранилища.

Чем vMotion отличается от Live Migration в Hyper-V или KVM?

Принцип идентичен: итеративное копирование памяти с финальной заморозкой. Разница в экосистеме: vMotion тесно интегрирован с vCenter и DRS, тогда как Live Migration в KVM настраивается вручную или через oVirt/Proxmox.

Влияет ли vMotion на производительность приложений внутри ВМ?

Во время копирования памяти возможно незначительное снижение производительности (5–15%) из-за отслеживания изменений страниц. Финальная заморозка длится миллисекунды и практически незаметна для большинства приложений.