Как включить EVC (Enhanced vMotion Compatibility) в vMware Esxi 5.x.x
Что такое EVC (Enhanced vMotion Compatibility) описано тут первый способ мы рассмотрели ранее. Теперь посмотри второй и третий способ.
В этой статье собрал основные моменты и рецепты по конфигурированию VMotion и связанных с этим процессом побочных действий, а также некоторые рекомендации. В свое время, когда я знакомился с живой миграцией, то столкнулся с некоторыми подводными камнями, пришлось читать много доков и информации. Поехали!
Функционал VMotion доступен начиная с редакции vSphere Advanced.
Для VMotion надо:
- vCenter;
- Кластер в vCenter (нужен для активации EVC, если EVC не используется, то можно и без кластера);
- Общее хранилище ВМ (iSCSI, NFS, FC), необходимо чтобы все хосты в кластере с VMotion имели доступ к хранилищу;
- Одинаковая конфигурация виртуальной сети на всех хостах в кластере с VMotion (название порт групп, VLAN ID и т.п.). Необязательно идентичная должна быть конфигурация сетки. Главное чтобы совпадала конфигурация основных порт групп к которым привязаны мигрируемые ВМ. Ну и порт группы на хостах должны иметь одинаковый доступ к физической сети;
- Процессоры на хостах должны иметь одинаковый набор инструкций и быть близкими друг к другу по функциям и инструкциям. В идеале один тип CPU или же одно поколение и один и тот же набор инструкций (например, линейка Intel Xeon 54XX). Это главное и главный подводный камень. Частота и другие параметры CPU не важны. Также важна основная архитектура и производитель, например, совместить хосты с Intel и AMD CPU не получится;
- Интерфейс VMkernel с включенной опцией VMotion;
Теперь немного о CPU и совместимости.
О совместимости процессоров VMotion CPU Compatibility Requirements for Intel Processors и VMotion CPU Compatibility Requirements for AMD Processors.
Если у Вас одна линейка CPU с одинаковыми инструкциями на всех хостах, то проблем нет. А вот если разные, то тут будут проблемы. При миграции ВМ мастер сразу выдаст предупреждение на несовпадение масок CPU. Это можно обойти при условии, что CPU находятся близко друг к другу по функциям и инструкциям.
Второй способ.
Править вручную маску CPU и ВМ. Основным плюсом можно назвать, что конфигурировать можно более гибко. Например, в кластере с разношерстными хостами по CPU и ВМ по функциям. Но и главный недостаток в том, что конфигурировать придется каждую ВМ по отдельности. Плюс ко всему данный способ официально не поддерживается VMware, так что скажем buy сапорту VMware.
И так как править маски CPU у ВМ.
Первое, что нужно сделать это прочитать вот этот KB от VMware.
Если с английским плохо, читаем дальше. Опишу, как изменить маску по примеру приведенному выше для CPU x5400 и x5500.
Из KB для Intel CPU дана вот такая таблица.
Отличие инструкций между семействами CPU x5400 и x5500 только в поддержки SSE 4.2 у последнего. Поэтому в маске нужно указать, чтобы не использовались данные инструкции. Все очень просто. Выключаем нужную ВМ. Идем в ее свойства. Вкладка Options -> CPUID Mask.
Жмем Advanced. Далее исходя из таблички выше нам нужно подправить маску в уровнях 1, строку ecx и 800000001, строку edx. Кликаем на нужную строчку, в нашем случае edx строка и пишем туда следующее —- 0— —- —- —- —- —- —-
Далее находим следующую строчку, и пишем как указано в таблице из KB —- —- 0—0 —- —- —- —- —-
Все применяем нужные изменения. Ждем когда закончится реконфигурация ВМ и запускаем ее. Все теперь данную ВМ можно спокойно мигрировать. Мастер VMotion не должен выдавать предупреждений по поводу несовпадения масок.
Способ третий.
Глобальное изменение масок в файле конфигурации vCenter’а. Если Вам не подходит EVC, а нужен VMotion, а также у Вас разные поколения CPU и много ВМ, то это именно, то что доктор прописал. Описание способа доступо в этом KB и начинается с пункта Global Masking with ESX Server 2.x and Later.
Теперь о самой настройки VMotion.
Тут все просто. Выше я уже приводил что необходимо для работы VMotion. И так у нас есть общий LUN с ВМ, кластере в vCenter. Также настройки сетевой конфигурации идентичны на всех хостах. На всех хостах идентичные CPU по инструкциям или же включено EVC/подправлены маски. Осталось малое, сконфигурировать VMotion для работы.
Первое, что нужно сделать это добавить порт VMkernel и при конфигурировании поставить галочку VMotion на всех хостах. Подробно описывать сей процесс не буду, так как уже делал заметку о VMkernel ранее. В принципе на этом и все с конфигурацией. Далее еще проще. Выбираем нужную ВМ в клиенте vSphere, клик правой кнопкой мыши — >Migrate.
Открывается мастер. Выбираем Change host.
Далее выбираем нужный хост, на который будет переезжать ВМ. При правильной конфигурации, мастер скажет, что валидация успешна.
Далее будут еще две странички мастера. Страничка приоритета VMotion, тут можно оставить то что предлагает мастер, и последняя страница со сводной инфой. Все жмем Finish и ждем когда ВМ мигрируется на новый хост.
Вот и все. Ах да еще напишу основные рекомендации относительно VMotion.
- Гигабитная сеть как минимум;
- Хороший коммутатор (физический)" /> ) с поддержкой VLAN и хорошей пропускной способностью;
- В идеале выделенный, как минимум один физический сетевой адаптер под нужды VMotion, а лучше два;
- Отдельная сеть со своим VLAN для VMotion;
- Отдельный vSwitch и отдельный порт VMkernel с VMotion. Но это не обязательно, просто я так обычно стараюсь конфигурировать;