Технология vMotion позволяет перенести запущенную виртуальную машины VMWare с одного физического хоста ESXi на другой без прерывания ее работы и остановки сервисов. В этой статье мы рассмотрим особенности технологии VMWare vMotion: как работает vMotion, какие виды vMotion бывают, как настроить vMotion в VMWare vSphere и как вручную смигрировать виртуальную машину между хостами ESXi или хранилищами с помощью vMotion. Рассмотрим основные способы оптимизации vMotion и решения проблем.
Как мы уже сказали, vMotion позволяет выполнить “ живую миграцию ” виртуальных машин без простоя и прерывания работы пользователей. Технология vMotion позиционируется не как средство обеспечения высокой доступности ВМ при авариях. В первую очередь это простое и удобное средство переноса продуктивных ВМ, когда вам нужно выполнить обслуживание/обновление/замену физических серверов с установленным гипервизором ESXi или дисковых массивов. Также vMotion является основой технологии распределения (выравнивания) нагрузки на физические сервера — DRS (Dynamic Resource Scheduler)).
Для миграции ВМ между физическим хостами с помощью vMotion используются следующие компоненты VMWare:
Как происходит vMotion? Сначала на целевом хосте создается теневой клон исходной ВМ с такой-же конфигурацией из vmx файла. Эта ВМ-клон видит все файлы ВМ на общем хранилище. Содержимое оперативной памяти и состояние запущенной ВМ передается по сети между исходным и целевым хостом ESXi. vMotion делает снапшот состояния памяти ВМ, копирует его на целевой сервер по сети. vMotion при этом отслеживает изменения в страницах памяти, а затем до-копирует модифицированные сегменты памяти (это может происходить в несколько этапов, каждый раз копируется все меньший объем данных и за меньшее время).
В какой-то момент состояние исходной ВМ замораживается, выполняется копированию изменённых сегментов памяти и команд процессора, и ВМ запускается на целевом ESXi. Весь процесс для 1/10 Гб Ethernet сети для средних размеров ВМ занимает несколько секунд.
VMWare под названием vMotion понимает целый стек различных технологий, позволяющих переместить на лету запущенные ВМ между серверами, дисковыми массивами, городами или между наземной и облачной инфраструктурой.
Виды vMotion:
Как мы уже сказали, технология Storage VMotion позволяет переместить файлы запущенной виртуальной машины (виртуальные диски и файлы конфигурации) на другое VMFS/NFS хранилище (LUN, дисковый массива) без остановки ВМ.
Требования для успешного выполнения Storage VMotion:
Режим Enhanced vMotion Compatibility (EVC) для кластеров VMware HA/DRS используется, если кластер построен на хостах с процессорами разных поколений (но не разных производителей!!). При включении EVC для кластера, гипервизор начинает маскировать инструкции CPU, которые поддерживаются не на всех хостах. При включении EVC все функции процессоров хостов ESXi в кластере начинают соответствовать некому базовому минимальному набору инструкций CPU, который задал администратора vSphere в настройках.
Таким образом благодаря EVC вы можете мигрировать ВМ между хостами с разными наборами инструкций процессора.
Вы можете включить VMWare EVC на уровне кластера. Перейдите в раздел Configure -> Configuration -> VMWare EVC и нажмите кнопку Edit .
При включении 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 :
Get-VM | Select Name,HardwareVersion,
@{Name='VM_EVC_Mode';Expression={$_.ExtensionData.Runtime.MinRequiredEVCModeKey}},
@{Name='Cluster_Name';Expression={$_.VMHost.Parent}},
@{Name='Cluster_EVC_Mode';Expression={$_.VMHost.Parent.EVCMode}} | ft
Чтобы получить максимально поддерживаемый режим EVC на:
Get-VMHost | Select-Object Name,ProcessorType,MaxEVCMode
Рассмотрим, как включить vMotion на примере VMWare vSphere 6.7. Для использования vMotion достаточно лицензии Essentials Plus .
vMotion включается на уровне VMkernel виртуального коммутатора хоста ESXi. Выберите хост, перейдите на вкладку Configure -> Networking -> VMkernel adapters .
Выберите ваш VMkernel интерфейс и откройте его свойства ( Edit ).
В свойствах vmk порта в секции Enabled Service включите опцию vMotion .
Чтобы с помощью vMotion перенести запущенную ВМ между двумя ESXi хостами, запустите vSphere Client, щелкните по ВМ и выберите Migrate .
Выберите тип миграции, который вы хотите использовать:
Я выбрал первый вариант.
Мастер миграции предложит выбрать хост, кластер, resourse pool или vApp, в который нужно перенести данную виртуальную машину. Выберите хост. Если vMotion настроен правильно, и не обнаружено конфликтов, в секции Compatibility будет указано: Compatibility checks succeeded .
Нажмите Next.
Мастер миграции ВМ предложит выбрать в какую сети нужно поместить vNIC сетевой ВМ при миграции. Если вы хотите, чтобы ВМ была доступна после миграции, она должна быть помещена в тот же самый сегмент (VLAN), как и на исходном хосте. Если у вас используется стандартный vSphere Switch, нужно создать одинаковые группы портов (Port Group) на всех ESXi хостах. При использовании VDS, группы портов на всех хостах кластера одинаковые.
На последнем этапе нужно выбрать приоритет задачи миграции vMotion. По-умолчанию используется наивысший приоритете ( Schedule vMotion with high priority ). Я всегда использую именно его.
Осталось нажать Next -> Finish и запустится процедура миграции ВМ на другой хост. За статусом миграции можно следить в панели Recent Tasks (задание Relocate virtual machine ). В моем случае процесс миграции ВМ с помощью vMotion по 10 Гб Ethernet занял около 3 секунд.
Убедитесь, что ваша ВМ теперь запущена на другом хосте ESXi.
Можно переместить запущенную ВМ на другой хост с помощью PowerShell командлета Move-VM из PowerCLI. Например, мы хотим перенести все ВМ с хоста esxi-1 на esxi-2:
Get-VMHost esxi-1|Get-Vm| Move-VM –Destination (Get-VMHost esxi-2)
Перечислим основные причины, из-за которых vMotion может завершаться с ошибкой или миграция ВМ выполняться очень медленно:
Вы можете ускорить миграцию ваших виртуальных машин несколькими способами.
Чтобы предоставить для процессов vMotion более одного ядра CPU, нужно создать несколько VMkernel интерфейсов с включенной опцией vMotion и привязать их к одному NIC интерфейсу. Один поток vMotion имеет среднюю пропускную способность около 15 GbE, соответственно, чтобы загрузить сеть 100 GbE вам нужно 6 потоков.
Клиент удаленного рабочего стола (rdp) предоставляет нам возможность войти на сервер терминалов через консоль. Что…
В VMware Workstation есть несколько способов настройки сети гостевой машины: 1) Bridged networking 2) Network…
Встроенный брандмауэр Windows может не только остановить нежелательный трафик на вашем пороге, но и может…
Вопреки распространенному мнению, отключить IPv6 в Windows Vista и Server 2008 это не просто снять…
Параметры экранной заставки для текущего пользователя можно править из системного реестра, для чего: Запустите редактор…
В этой статье расскажу про возможность просмотра журналов событий из командной строки. Эти возможности можно…