Миграция виртуальной машины esxi на другой сервер
FAQ по vMotion в VMWare vSphere: особенности, типы, настройка
Технология vMotion позволяет перенести запущенную виртуальную машины VMWare с одного физического хоста ESXi на другой без прерывания ее работы и остановки сервисов. В этой статье мы рассмотрим особенности технологии VMWare vMotion: как работает vMotion, какие виды vMotion бывают, как настроить vMotion в VMWare vSphere и как вручную смигрировать виртуальную машину между хостами ESXi или хранилищами с помощью vMotion. Рассмотрим основные способы оптимизации vMotion и решения проблем.
Как мы уже сказали, vMotion позволяет выполнить “живую миграцию” виртуальных машин без простоя и прерывания работы пользователей. Технология vMotion позиционируется не как средство обеспечения высокой доступности ВМ при авариях. В первую очередь это простое и удобное средство переноса продуктивных ВМ, когда вам нужно выполнить обслуживание/обновление/замену физических серверов с установленным гипервизором ESXi или дисковых массивов. Также vMotion является основой технологии распределения (выравнивания) нагрузки на физические сервера — DRS (Dynamic Resource Scheduler)).
Как работает VMWare vMotion?
Для миграции ВМ между физическим хостами с помощью vMotion используются следующие компоненты VMWare:
Как происходит vMotion? Сначала на целевом хосте создается теневой клон исходной ВМ с такой-же конфигурацией из vmx файла. Эта ВМ-клон видит все файлы ВМ на общем хранилище. Содержимое оперативной памяти и состояние запущенной ВМ передается по сети между исходным и целевым хостом ESXi. vMotion делает снапшот состояния памяти ВМ, копирует его на целевой сервер по сети. vMotion при этом отслеживает изменения в страницах памяти, а затем до-копирует модифицированные сегменты памяти (это может происходить в несколько этапов, каждый раз копируется все меньший объем данных и за меньшее время).
В какой-то момент состояние исходной ВМ замораживается, выполняется копированию изменённых сегментов памяти и команд процессора, и ВМ запускается на целевом ESXi. Весь процесс для 1/10 Гб Ethernet сети для средних размеров ВМ занимает несколько секунд.
Виды VMware vMotion
VMWare под названием vMotion понимает целый стек различных технологий, позволяющих переместить на лету запущенные ВМ между серверами, дисковыми массивами, городами или между наземной и облачной инфраструктурой.
Особенности VMware Storage vMotion
Как мы уже сказали, технология Storage VMotion позволяет переместить файлы запущенной виртуальной машины (виртуальные диски и файлы конфигурации) на другое VMFS/NFS хранилище (LUN, дисковый массива) без остановки ВМ.
Требования для успешного выполнения Storage VMotion:
Enhanced vMotion Compatibility (EVC) в VMWare
Режим Enhanced vMotion Compatibility (EVC) для кластеров VMware HA/DRS используется, если кластер построен на хостах с процессорами разных поколений (но не разных производителей!!). При включении EVC для кластера, гипервизор начинает маскировать инструкции CPU, которые поддерживаются не на всех хостах. При включении EVC все функции процессоров хостов ESXi в кластере начинают соответствовать некому базовому минимальному набору инструкций CPU, который задал администратора vSphere в настройках.
Таким образом благодаря EVC вы можете мигрировать ВМ между хостами с разными наборами инструкций процессора.
При включении EVC для кластера вам нужно выбрать режим EVC (для AMD или Intel) и выбрать в выпадающем списке минимальное поколение процессоров вендора, которые имеются в вашем кластере.
В VMware vSphere 6.7 появились технологии миграции между облаком и on-prem (Cross-Cloud Cold и Hot Migration). Для реализации ВМ в облако теперь можно включать в настройках ВМ Per-VM EVC (доступно в vSphere 6.7 с Hardware Version 14).
Можно получить базовые уровни EVC выставлены для ВМ в кластере из PowerCLI:
Чтобы получить максимально поддерживаемый режим EVC на:
Get-VMHost | Select-Object Name,ProcessorType,MaxEVCMode
Как включить vMotion в VMWare vSphere?
Выберите ваш VMkernel интерфейс и откройте его свойства (Edit).
В свойствах vmk порта в секции Enabled Service включите опцию vMotion.
vMotion: как мигрировать ВМ между серверами
Чтобы с помощью vMotion перенести запущенную ВМ между двумя ESXi хостами, запустите vSphere Client, щелкните по ВМ и выберите Migrate.
Выберите тип миграции, который вы хотите использовать:
Я выбрал первый вариант.
Мастер миграции предложит выбрать хост, кластер, resourse pool или vApp, в который нужно перенести данную виртуальную машину. Выберите хост. Если vMotion настроен правильно, и не обнаружено конфликтов, в секции Compatibility будет указано: Compatibility checks succeeded.
Мастер миграции ВМ предложит выбрать в какую сети нужно поместить vNIC сетевой ВМ при миграции. Если вы хотите, чтобы ВМ была доступна после миграции, она должна быть помещена в тот же самый сегмент (VLAN), как и на исходном хосте. Если у вас используется стандартный vSphere Switch, нужно создать одинаковые группы портов (Port Group) на всех ESXi хостах. При использовании VDS, группы портов на всех хостах кластера одинаковые.
На последнем этапе нужно выбрать приоритет задачи миграции vMotion. По-умолчанию используется наивысший приоритете (Schedule vMotion with high priority). Я всегда использую именно его.
Убедитесь, что ваша ВМ теперь запущена на другом хосте ESXi.
Можно переместить запущенную ВМ на другой хост с помощью PowerShell командлета Move-VM из PowerCLI. Например, мы хотим перенести все ВМ с хоста esxi-1 на esxi-2:
Get-VMHost esxi-1|Get-Vm| Move-VM –Destination (Get-VMHost esxi-2)
Почему не работает vMotion?
Перечислим основные причины, из-за которых vMotion может завершаться с ошибкой или миграция ВМ выполняться очень медленно:
Как ускорить/оптимизировать vMotion для быстрой миграции ВМ?
Вы можете ускорить миграцию ваших виртуальных машин несколькими способами.
Чтобы предоставить для процессов vMotion более одного ядра CPU, нужно создать несколько VMkernel интерфейсов с включенной опцией vMotion и привязать их к одному NIC интерфейсу. Один поток vMotion имеет среднюю пропускную способность около 15 GbE, соответственно, чтобы загрузить сеть 100 GbE вам нужно 6 потоков.
Как перенести виртуальную машину VMware с одного хоста на другой, НЕ ИСПОЛЬЗУЯ VMware vMotion
VMware vMotion — это функция vSphere, которая позволяет переносить работающую виртуальную машину (ВМ) VMware с одного хоста на другой, не мешая работе производственной среды. VMware vMotion была впервые представлена в 2003 году и сейчас входит в состав практически всех редакций VMware vSphere, кроме vSphere Essentials Kit, предназначенного для небольших виртуальных сред.
VMware vMotion может использоваться в самых различных ситуациях, начиная с планового обслуживания аппаратного обеспечения, когда нужно ненадолго перенести ВМ на другой хост ESX(i), не останавливая ее, и до миграции рабочих ВМ на более мощные серверы. Если ваша лицензия vSphere включает VMware vMotion — поздравляю, вам повезло! А что делать, если ваша лицензия не предусматривает эту функциональность ИЛИ если она нужна вам только на один проект? В этом случае вам поможет технология Quick Migration от Veeam.
Что такое Quick Migration? Quick Migration — это функция Veeam Backup Free Edition, бесплатной редакции Veeam Backup & Replication (без ограничений по сроку действия!). Quick Migration входит во все редакции бэкап-систем Veeam, но здесь речь пойдет только о бесплатном продукте, поскольку эта статья описывает вариант миграции работающих ВМ VMware без дополнительных затрат:
Готово. Следующий вопрос: Как перенести ВМ VMware с помощью технологии Quick Migration?
Технология Quick Migration позволяет переносить работающие ВМ между различными хостами и/или хранилищами. Выберите нужную ВМ, затем в контекстном меню выберите Quick Migration:
Дополнительные замечания:
Надеюсь, эта статья была вам полезна. Если у вас остались вопросы или нужна помощь — обращайтесь, буду рад помочь.
Миграция виртуальной машины esxi на другой сервер
Всем привет! Сегодня я познакомлю вас с тем, что такое VMotion в vmware Sphere и как ее включить на вашем хосте виртуализации, ну и расскажу принципы его работы. Уверен, что для многих начинающих инженеров по виртуализации, эта информация будет очень полезной и нужной, для понимания процессов на вашем гипервизоре. Без vMotion сейчас очень сложно представить кластер Vmware.
Как работает vmotion vmware
Ниже представлена картинка, как работает технология vmotion при миграции виртуальной машины на хосте Vmware ESXI.
Виды VMware vMotion
У компании VMware есть целый пласт технологий, который относится к vMotion, давайте я покажу из каких видом он состоит и для чего используется:
Требования к Vmware vmotion
Ниже представлена картинка с основными требованиями к данной технологии
Требования для одновременной миграции vMotion
Вы должны убедиться, что сеть vMotion имеет выделенную полосу пропускания не менее 250 Мбит/с на одновременный сеанс vMotion. Большая пропускная способность позволяет быстрее выполнять миграции. Увеличение пропускной способности в результате применения методов оптимизации WAN не учитывается при ограничении 250 Мбит/с.
Ограничения на одновременные миграции
vCenter Server устанавливает ограничения на количество одновременных операций миграции и подготовки виртуальных машин, которые могут выполняться на каждом узле, сети и хранилище данных. Каждой операции, такой как миграция с помощью vMotion или клонирование виртуальной машины, назначается стоимость ресурсов. Каждый хост, хранилище данных или сетевой ресурс имеет максимальную стоимость, которую он может поддерживать в любой момент. Любая новая операция миграции или подготовки, которая приводит к превышению максимальной стоимости ресурса, не выполняется немедленно, а ставится в очередь до тех пор, пока другие операции не завершатся и не освободят ресурсы. Для продолжения операции должны быть соблюдены все ограничения для сети, хранилища данных и хоста.
vMotion без общего хранилища, одновременная миграция виртуальных машин на другой хост и хранилище данных, представляет собой комбинацию vMotion и Storage vMotion. Эта миграция наследует затраты на сеть, хост и хранилище данных, связанные с этими операциями. vMotion без общего хранилища эквивалентен Storage vMotion с сетевой стоимостью 1.
Сетевые ограничения применяются только к миграции с vMotion. Сетевые ограничения зависят от версии ESXi и типа сети. Все миграции с vMotion имеют стоимость сетевых ресурсов 1.
Ограничения хранилища данных применяются к миграции с vMotion и Storage vMotion. Миграция с vMotion требует ресурсов, равных 1, по сравнению с хранилищем данных общей виртуальной машины. Миграция с помощью Storage vMotion требует ресурсов 16 по отношению к исходному хранилищу данных и 16 по отношению к целевому хранилищу данных.
Long-Distance vMotion миграция на большие расстояния
Если у вас есть соответствующая лицензия, примененная к вашей среде, вы можете выполнять надежные миграции между узлами, разделенными большим временем задержки при передаче в оба конца сети. Максимальное поддерживаемое время приема-передачи по сети для миграции vMotion составляет 150 миллисекунд. Это время возврата позволяет вам переносить виртуальные машины в другое географическое место на большее расстояние.
VMotion с несколькими сетевыми картами
Как включить Vmotion в ESXI 5.5
Открываем сферу, выбираем нужный хост и переходим в Configuration
Выбираем Networking.- нужный свитч и Properties
Как включить VMotion В vmware Sphere 5.x и мигрировать vm-02
Management Network-Edit и ставим заветную галку на против пункта vMotion
Как включить VMotion В vmware Sphere 5.x и мигрировать vm-03
Теперь в суммарной конфигурации видно, что все включено, об этом говорит статус «Vmotion Enable».
Как включить VMotion В vmware Sphere 5.x и мигрировать vm-04
Как включить Vmotion в vCenter 7
Далее вам остается просто активировать на данном VMkernel нужную галку «vMotion«. Так, что если вы до этого не знали, где активируется vMotion в vCenter 7, то вам придется попотеть в поисках данной кнопки.
Если у вас остались вопросы, то пишите их в комментариях, либо можете посмотреть видео, там рассказано, немного подробнее.
Перенос серверов с одного хоста VMWare ESXi на другой
В платном варианте VMWare есть инструменты для горячего переноса работающих серверов с одного хоста VMWare на другой без перерыва в работе. Мы пока используем бесплатную версию VMWare ESXi. Т.е. нет никакой организованной фермы, а есть отдельно стоящие серверы с VMWare ESXi. Нам потребовалось перенести виртуальные серверы на другое железо, чтобы освободить текущий физический сервер (host) для ремонта (возникла непонятная проблема с корзиной HDD). В работе уже есть малозагруженный сервер под VMWare ESXi и еще один поднимем временно рядом. Итак, по шагам.
1. Железо для «нового» сервера VMWare ESXi. К счастью, под рукой был вполне приличный новый сервер, который пока не было времени запустить в промышленную эксплуатацию. Конфигурация: HP ML350 G6, 3 HDD по 300 Гб, 8 Гб ОЗУ. Раньше уже был описан процесс установки и первичной настройки VMWare ESXi, повторяться нет смысла.
2. Инструментарий. Не смотря та то, что виртуальные машины являются набором файлов, которые можно скопировать с одного сервера на другой, я отказался от этой идеи по двум причинам:
— Версии исходной виртуальной системы и новой не совпадали. Перенос происходил с VMWars ESXi 4 на ESXi 5. В пятой версии изменился и формат файловой системы и формат самих виртуальных машин.
— VMWare выпустила прекрасный и бесплатный конвертер «VMware vCenter Converter», который позволяет решить данную задачу, так сказать, штатными средствами. Скачиваем конвертер с сайта производителя, предварительно войдя на сайт под своим именем (напомню, регистрация бесплатная). Установка «VMware vCenter Converter» достаточно тривиальная.
3. Перенос виртуальных машин с одного физического хоста на другой происходит одновременно с конвертацией. «VMware vCenter Converter» может работать с разными источниками, в том числе и восстанавливать виртуальные машины из образов «чужих» форматов. В нашем случае было 2 основных варианта переноса:
— перенос включенного сервера, независимо от того, физическая это машина или виртуальная;
— перенос виртуальной машины, как части инфраструктуры VMWare.
У нас была возможность временно (в нерабочее время) выключать все серверы, подлежащие переносу, поэтому выбран второй вариант, чтобы не тратить время на синхронизацию и упростить процесс.
В интерфейсе «VMware vCenter Converter» нажимаем кнопку Convert machine, выбираем source type: «VMware Infrastructure virtual machine». Вводим адрес исходного сервера и учетные данные для подключения. Выбираем из списка сервер для переноса. Если этот сервер включен, то кнопка Next будет недоступна, т.к. в этом режиме можно конвертировать только выключенные виртуальные машины. Теперь выбираем destination type: «VMware Infrastructure virtual machine», вводим адрес и учетные данные для подключения к «новому» хосту VMWare ESXi. Задаем название виртуальной машины, как оно будет отображаться в консоли «vSphere Client», Next. На следующем экране мастера выбираем хранилище на хосте назначения (если оно не одно), и версию виртуальной машины. Для VMWare ESXi 4 — это Version 4 или Version 7. Если нет веской причины придерживаться старой версии, то выбираем последнюю, Next. А вот здесь ВНИМАТЕЛЬНЕЕ!
На экране Options НЕ нужно сразу же, не глядя, нажимать кнопку Next. Даже если исходная виртуальная машина имела «тонкий» (thin) жесткий диск, размер файла которого на физическом диске увеличивается по мере необходимости, конвертер задаст тип диска thick. По этому щелкаем мышью по разделу Data to copy и выбираем нужный тип из выпадающего списка. Размер диска здесь поменять не возможно. Еще один важный раздел конфигурации, на который нужно обратить здесь внимание — Advanced options. Если нужно, чтобы перенесенная виртуальная машина автоматически запустилась после конвертации, то ставим верхнюю галочку «Power on destination machine». Также здесь можно задать автоматическую установку VMware Tools. Особого внимания здесь заслуживает переключатель «Customize guest preferences for the virtual machine». Если он установлен, то для новой виртуальной машины будет автоматически сгенерирован НОВЫЙ SID. Важно установить этот переключатель при клонировании, когда в работе планируется оставить как исходную, так и сконвертированную виртуальные машины. При эего установке в мастере конвертации появляется дополнительный этап Customizations, предлагающий задать новое DNS имя для машины и настроить другие параметры, включая параметры сети. В версии VMWare ESXi 4 задавать здесь параметры принадлежности к домену оказалось бесполезно, после конвертации приходилось вводить в домен повторно. Но в нашем случае нужно было именно перенести машину с одного хоста на другой «как есть». Поэтому переключатель «Customize guest preferences for the virtual machine» оставляем сброшенным. Next, Finish. Конвертер добавляет новую задачу в свой список и показывает ход её выполнения. По опыту, оставшееся время, которое показывает «VMware vCenter Converter», недостоверно, даже когда прогресс-индикатор уже на середине.
Пока происходит конвертация нужно сделать еще одно важное дело — отключить на исходной хосте виртуализации автоматический запуск переносимой виртуальной машины, чтобы она впоследствии не запустилась случайно, например, после перебоев с питанием. Переходим в корень исходной системы, закладка Configuration, в разделе Software щелкаем по пункту Virtual Machine Startup/Shutdown, в правом верхнем углу ссылка Properties…, в появившемся окне с помощью кнопки Move Down переносим конвертируемую виртуальную машину из раздела Automatic Startup в раздел Manual Startup.
4. Настройка сконвертированной виртуальной машины. При переносе между разными платформами и даже между разными версиями одной платформы виртуализации может измениться виртуальное железо, на котором установлена виртуальная машина. В данном случае, при переносе с VMWare ESXi 4 на VMWare ESXi 5 изменились сетевые адаптеры. В четвертой версии это были адаптеры Intel, а в пятой версии — AMD. В результате, несмотря на то, что мы оставили переключатель «Customize guest preferences for the virtual machine» сброшенным и не переконфигурировали систему, статический IP-адрес у виртуальной машины не сохранился. IP-адрес принадлежит адаптеру, а он изменился. Мало того, если мы сейчас попытаемся ввести прежний адрес для нового адаптера, то получим предупреждение о том, что такой адрес уже используется на другом адаптере и может возникнуть конфликт адресов. На самом деле, это предупреждение можно проигнорировать, но для порядка, можно и удалить настройки несуществующего адаптера. Только для этого нам нужно отобразить скрытые устройства, которые по умолчанию не видны в диспетчере оборудования.
Отображение скрытых устройств. В командной строке введите команду
В открывшемся окне в меню Вид выберите пункт Показать скрытые устройства.
Разверните дерево Сетевые адаптеры. Недоступные адаптеры будут отображены затененными. Удалите их. После этого можно спокойно задавать настройки новых сетевых адаптеров.
После переноса на другую версию VMWare ESXi в результате изменения виртуального оборудования, возможно потребуется повторная активация Windows 2008 и Windows 7. Для активации в локальной сети полезно иметь сервер KMS. Если его нет в сети, то самое время об этом задуматься, т.к. KMS не учитывает количество активаций, а счетчик ключей MAK при каждой активации уменьшается.
Как перенести виртуальную машину ESXI на другой хост по ssh
Есть простой и быстрой способ перенести виртуальную машину esxi с хоста на хост используя ssh.
Чтобы мигрировать vm с хоста на хост первое что нам понадобится — это включить SSH доступ на обоих узлах.
Для этого заходим в VMware vSphere Client или веб интерфейс, если версия esxi 6.0 и выше, и включаем в разделе Manage — Services службу TSM-SSH.
На хосте назначения нужно создать каталог на datastore в который мы переместим файлы vm. Лучше сделать через клиент vmware или веб интерфейс.
Далее на исходном хосте нужно проверить разрешение firewall.
Заходим по ssh на хост с нашей vm и проверяем правило брандмауэра:
Если написано false, то разрешаем подключение клиента ssh:
Далее используем команду ls для отображения списка файлов виртуальной машины:
Нас интересуют 3 файла с расширениями:
*.vmx — главный конфигурационный файл
*.vmdk — файл с описанием параметров виртуального диска
*-vmdk — диск с данными виртуальной машины
Более подробное описание файлов виртуальной машины здесь.
И непосредственно команды для копирования файлов vm на другой хост, у меня получилось:
После выполнения первой команды целевой хост запросит принятие сертификата и ввод пароля. Прошу заметить, что копирование может занять достаточно долгое время.
После копирования файлов нужно добавить виртуальную машину в клиенте vmware, используя пункт Register an existing virtual machine.
В случае, если конфигурация оборудования изменилась, то после добавления vm нужно будет поправить ее настройки.
На этом перенос виртуальной машины esxi на другой хост закончен. Думаю было не сложно 🙂