Как мигрировать работающую виртуальную машину без общего datastore в VMware vCenter 5.5
Всем привет сегодня расскажу как мигрировать работающую виртуальную машину без общего datastore в VMware vCenter. Если у вас есть кластер на VMware ESXI 5.5, то там проблем нет, так как в кластере все хосты имеют общий датастор, где лежат виртуальные машины, и во время миграции, по сути файлы виртуальной машины остаются на том же датасторе, у нас же ситуация что нет общего starage и холодная миграция, то есть выключенная виртуалка, нас не устраивает, в виду того, что она важная и должна работать без перерывов, смотрим ниже как решить данную проблему.
Что такое vMotion
VMotion это технология, которая помогает виртуальной машине производить миграцию, как на другие хосты ESXI так и datastore. Первое что я вам советую сделать это посмотреть карту vMotion на вашем esxi хосте. Для этого выбираете vm и переходите во вкладку Maps и сразу становится понятно куда можно двигать без проблем а куда нельзя и по каким причинам, либо CPU не соответствует либо не включено перемещение.
Изучив карту vmotion можно понять какой вид миграции нам нужен, их всего три типа.
- Change Host - просто смена хоста, файлы виртуальной машины ни куда не двигаются
- Change datastore - смена только datastore, по сути это тупо фоновое копирование, а затем переключение
- Change both Host and datastore - смена и хоста VMware ESXI и его датастора, по сути миграция без общего диска.
Миграция Change both Host and datastore
Так как нам нужно смигрировать vm в работающем состоянии без общего диска, то нам подходит только Change both Host and datastore. Щелкаем правым кликом по виртуальной машине и выбираем Migrate, у вас откроется окно для выбора метода. Как можете заметить в толстом клиенте VMware ESXI Client для Windows на живую Change both Host and datastore выполнить не дает, функция не активна, такое ограничение, но не спешите отчаиваться, у VMware vCenter есть Web Client, в котором это можно осуществить.
Vmware Web Client
Во первых он у вас должен стоять как вместе с vCenter или отдельно. Его дистрибутив находится на установочном диске с VMware vCentert. Скачать Vmware Web Client можно тут. Заходим по адрес
Так как у меня настроена аутентификация через Active Directory, то вводим формат вот такой домен\логин и пароль. Выбираем там вашу виртуальную машину и жмем Migrate.
Выбираем Change both Host and datastore, как видите все активно. Данная функция еще называется Enhanced vMotion или "Shared-Nothing" vMotion. Ниже мы рассмотрим ее принципы.
Теперь вас попросят указать на какой ESXI Host вы поедите, мастер проверит все ли выполнены требования для vmotion, о них мы поговорим ниже. Если есть проблемы то вам сразу об этом скажут, у меня например на esxi21 не был включен vmotion на виртуальном коммутаторе. Как включить vmotion читайте тут.
Требования к vmotion
- В VMware 5.x нужно было чтобы названия коммутаторов совпадали
- Процессоры должны быть одного вендора, и у них должны в идеале быть минимальные различия. Если VMotion выдает ошибку на несовместимость CPU - это можно попробовать поправить, поигравшись с масками CPU, сразу оговорюсь VMware такое не приветствует.
- Желательно чтобы физическая сеть была 1 ГБ и выше, в идеале под vmotion должна быть выделена отдельная сетевая карта.
- Хосты ESXi должны находиться под управлением одного сервера vCenter, хотя в VMware vCenter 6 уже это поправили
Вот пример ошибки при Enhanced vMotion. Проблема в несовместимости CPU масок. К счастью в vmware vcenter это в большинстве случаев можно поправить, но могут и быть синие экраны.
После того как все требования выполнены все становится зеленым и можно продолжать миграцию
Все будет происходить по обычной сети vMotion, по ней передаются и диск Vm, и ее память с регистрами процессора для обеспечения непрерывной работоспособности виртуальной машины во время миграции
Сначала механизм Enhanced vMotion вызывает подсистему Storage vMotion, которая совершает копирование данных по сети vMotion. Тут важны 2 ключевых компонента - bulk copy и mirror mode driver
Вначале bulk copy делает копирование блоков данных с максимально возможной скоростью. Во время этого часть блоков на исходном хранилище хоста может измениться - тут и вступает в дело mirror mode driver, который начинает поддерживать данные блоки на исходном и целевом хранилище в синхронном состоянии.
Mirror mode driver игнорирует те блоки исходного хранилища, которые меняются, но еще не были скопированы на целевое хранилище. Чтобы удерживать максимальную скорость копирования, Mirror mode driver использует отдельный буфер, чтобы не использовать отложенную запись блоков.
Когда диски на исходном и целевом хранилище и их изменяющиеся блоки приходят в синхронное состояние, начинается передача RAM и CPU. Это делается после Storage vMotion, так как страницы памяти меняются с более высокой интенсивностью. После проведения vMotion наступает операция мгновенного переключения на целевой хост и хранилище (Switch over). Это делается старым способом - когда различия в памяти и регистрах процессора весьма малы, виртуальная машина на мгновение подмораживается, различия до передаются на целевой хост (плюс переброс сетевых соединений), машина размораживается на целевом хосте и продолжает исполнять операции и использовать хранилище с виртуальным диском уже целевого хоста.
После того как вы разобрались с самим процессом, нужно двигаться дальше. Следующим шагом будет указать datastore на новом ESXI хосте.
теперь нужно указать vMotion Priority, советую оставить рекомендуемый, при этом варианте будет установлена оптимальная производительность при vMotion.
Смотрим сводку по заданию и жмем finish.
В правом верхнем углу Vmware Web Client появится задание с переездом виртуальной машины.
Для чистоты эксперимента можете проверить доступность vm во время миграции, запустив команду ping до нее.
Вот так вот просто мигрировать работающую виртуальную машину без общего datastore в VMware vCenter, главное знать функции того чем управляешь.
Материал сайта pyatilistnik.org