Живая миграция виртуальных машин (Live Migration)
Живая миграция (Live Migration) — это перенос работающей виртуальной машины с одного физического сервера на другой без её остановки и без разрыва сессий пользователей. Для приложений и людей, которые с ними работают, перенос проходит практически незаметно — машина «переезжает» прямо на ходу.
Зачем это нужно бизнесу
Любой физический сервер рано или поздно требует внимания: обновить прошивку, заменить планку памяти, поставить заплатки безопасности, вывести из эксплуатации старое железо. Без живой миграции всё это означает остановку: «завтра в 2 часа ночи сервис будет недоступен на час». Для нагруженного бизнеса каждое такое окно — это либо ночные работы, либо реальные потери.
Живая миграция убирает эту дилемму. Нужно обслужить сервер — все работающие на нём виртуальные машины переезжают на соседние узлы кластера прямо в рабочее время, пользователи ничего не замечают. Сервер освобождается, его чинят, обновляют, возвращают в строй — и при желании машины возвращают обратно. Никаких ночных окон, никаких уведомлений «сервис недоступен».
Это превращает обслуживание инфраструктуры из стрессового события в рутинную операцию и напрямую влияет на доступность сервисов — то, что измеряется девятками в SLA (соглашении об уровне сервиса).
Как это работает
Главная сложность живой миграции — перенести состояние работающей машины так, чтобы не потерять ни байта и не прервать выполнение. Делается это в несколько фаз.
1. Подготовка. Гипервизор на сервере-источнике и сервере-получателе договариваются о переносе, проверяют совместимость процессоров и доступность общего хранилища, где лежит диск виртуальной машины.
2. Копирование памяти на ходу (pre-copy). Содержимое оперативной памяти машины копируется на новый сервер, пока исходная продолжает работать. Поскольку во время копирования память меняется, гипервизор отслеживает «грязные» страницы (изменённые) и копирует их повторно — итерация за итерацией, пока объём изменений не станет совсем маленьким.
3. Финальное переключение (cutover). Когда остаётся скопировать минимум, машина на доли секунды приостанавливается, переносятся последние изменённые страницы памяти и состояние процессора, после чего управление передаётся новому серверу. Эта микропауза обычно измеряется миллисекундами и для пользователей незаметна.
4. Завершение. Машина продолжает работу уже на новом сервере, сетевые соединения переключаются на него, ресурсы на старом узле освобождаются.
Важная деталь: при классической живой миграции переносится только память и состояние процессора, а диск виртуальной машины остаётся на общем хранилище, доступном обоим серверам. Если нужно перенести и диск (между разными хранилищами), это отдельная разновидность — миграция хранилища (Storage Migration), она тяжелее и дольше.
Что нужно, чтобы это работало
- Общее хранилище — диск виртуальной машины должен быть доступен и старому, и новому серверу (SAN, NAS или распределённое хранилище кластера).
- Совместимые процессоры — серверы должны иметь совместимые по набору инструкций CPU; платформы решают это режимами совместимости.
- Быстрая сеть между узлами — память переносится по сети, поэтому отдельный быстрый сегмент под миграцию заметно ускоряет процесс.
- Кластер под управлением гипервизора — серверы должны быть объединены в кластер с единой панелью управления.
Живая миграция — штатная функция зрелых платформ виртуализации: VMware vSphere (vMotion), KVM и Proxmox (live migration), а также отечественных решений.
Роль в отказоустойчивости и кластере
Живую миграцию часто путают с автоматическим восстановлением после сбоя, но это разные вещи. Живая миграция — это плановый перенос работающей машины (для обслуживания или балансировки нагрузки). А вот что делать при внезапном отказе сервера — это уже задача механизмов высокой доступности (HA) и балансировки ресурсов (DRS). Подробно эта связка разобрана в вики про HA и DRS кластер.
В связке это работает так: DRS использует живую миграцию, чтобы автоматически распределять нагрузку — переносит машины с перегруженных узлов на свободные. А HA срабатывает уже после сбоя — перезапускает машины упавшего сервера на живых узлах (здесь происходит короткий простой, потому что машина не «переехала», а была перезапущена). Живая миграция — это про «без простоя при планируемых событиях», HA — про «минимальный простой при аварии».
Когда важно компании
- Есть сервисы, простой которых даже на час в ночь нежелателен или дорог
- Инфраструктура виртуализирована и работает на кластере из нескольких серверов
- Нужно регулярно обслуживать железо без согласования технологических окон
- Требуется балансировать нагрузку между серверами в часы пик
- В SLA зафиксирована высокая доступность (несколько девяток)
Для одиночного сервера живая миграция невозможна в принципе — нужен как минимум кластер из двух узлов и общее хранилище. Поэтому решение о ней принимается на этапе проектирования инфраструктуры и считается через TCO: дополнительные серверы и хранилище против стоимости простоев.
Что включает наша услуга
- Аудит текущей виртуализации: возможна ли живая миграция на вашей платформе и железе
- Проектирование кластера с общим хранилищем и сетью под миграцию
- Настройка живой миграции, HA и балансировки нагрузки
- Перевод на регламентное обслуживание без простоев для пользователей
- Мониторинг 24/7 из нашего NOC и сопровождение по SLA
Связанные термины
- VMware vSphere — платформа серверной виртуализации — живая миграция реализована здесь как vMotion
- KVM и Proxmox — открытая виртуализация — живая миграция в открытых платформах
- HA и DRS — высокая доступность и балансировка — механизмы, использующие живую миграцию
Получить расчёт
Хотите перейти на обслуживание инфраструктуры без простоев? Мы проектируем кластеры с живой миграцией под конкретную нагрузку — состав и стоимость рассчитываются индивидуально. Сравнение «арендовать или купить серверы под такой кластер» — в статье аренда сервера vs покупка.
Хотите оценить стоимость под свою инфраструктуру?
Откройте калькулятор, отметьте нужные услуги — получите ориентир за минуту. Финальная смета после обследования (±15%).
Открыть калькулятор Получить КП