Главная Вики Виртуализация

Живая миграция виртуальных машин (Live Migration)

Живая миграция (Live Migration) — это перенос работающей виртуальной машины с одного физического сервера на другой без её остановки и без разрыва сессий пользователей. Для приложений и людей, которые с ними работают, перенос проходит практически незаметно — машина «переезжает» прямо на ходу.

Зачем это нужно бизнесу

Любой физический сервер рано или поздно требует внимания: обновить прошивку, заменить планку памяти, поставить заплатки безопасности, вывести из эксплуатации старое железо. Без живой миграции всё это означает остановку: «завтра в 2 часа ночи сервис будет недоступен на час». Для нагруженного бизнеса каждое такое окно — это либо ночные работы, либо реальные потери.

Живая миграция убирает эту дилемму. Нужно обслужить сервер — все работающие на нём виртуальные машины переезжают на соседние узлы кластера прямо в рабочее время, пользователи ничего не замечают. Сервер освобождается, его чинят, обновляют, возвращают в строй — и при желании машины возвращают обратно. Никаких ночных окон, никаких уведомлений «сервис недоступен».

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

Как это работает

Главная сложность живой миграции — перенести состояние работающей машины так, чтобы не потерять ни байта и не прервать выполнение. Делается это в несколько фаз.

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

2. Копирование памяти на ходу (pre-copy). Содержимое оперативной памяти машины копируется на новый сервер, пока исходная продолжает работать. Поскольку во время копирования память меняется, гипервизор отслеживает «грязные» страницы (изменённые) и копирует их повторно — итерация за итерацией, пока объём изменений не станет совсем маленьким.

3. Финальное переключение (cutover). Когда остаётся скопировать минимум, машина на доли секунды приостанавливается, переносятся последние изменённые страницы памяти и состояние процессора, после чего управление передаётся новому серверу. Эта микропауза обычно измеряется миллисекундами и для пользователей незаметна.

4. Завершение. Машина продолжает работу уже на новом сервере, сетевые соединения переключаются на него, ресурсы на старом узле освобождаются.

Важная деталь: при классической живой миграции переносится только память и состояние процессора, а диск виртуальной машины остаётся на общем хранилище, доступном обоим серверам. Если нужно перенести и диск (между разными хранилищами), это отдельная разновидность — миграция хранилища (Storage Migration), она тяжелее и дольше.

Что нужно, чтобы это работало

Живая миграция — штатная функция зрелых платформ виртуализации: VMware vSphere (vMotion), KVM и Proxmox (live migration), а также отечественных решений.

Роль в отказоустойчивости и кластере

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

В связке это работает так: DRS использует живую миграцию, чтобы автоматически распределять нагрузку — переносит машины с перегруженных узлов на свободные. А HA срабатывает уже после сбоя — перезапускает машины упавшего сервера на живых узлах (здесь происходит короткий простой, потому что машина не «переехала», а была перезапущена). Живая миграция — это про «без простоя при планируемых событиях», HA — про «минимальный простой при аварии».

Когда важно компании

Для одиночного сервера живая миграция невозможна в принципе — нужен как минимум кластер из двух узлов и общее хранилище. Поэтому решение о ней принимается на этапе проектирования инфраструктуры и считается через TCO: дополнительные серверы и хранилище против стоимости простоев.

Что включает наша услуга

Связанные термины

Получить расчёт

Хотите перейти на обслуживание инфраструктуры без простоев? Мы проектируем кластеры с живой миграцией под конкретную нагрузку — состав и стоимость рассчитываются индивидуально. Сравнение «арендовать или купить серверы под такой кластер» — в статье аренда сервера vs покупка.

Связанные термины
Расчёт стоимости

Хотите оценить стоимость под свою инфраструктуру?

Откройте калькулятор, отметьте нужные услуги — получите ориентир за минуту. Финальная смета после обследования (±15%).

Открыть калькулятор Получить КП