Архив

Публикации с меткой ‘Intel-VT’

Ограничения для Fault Tolerance

Технологию высокой доступности Fault Tolerance уже знают многие, с ней приходилось работать многим, кому было необходимо обеспечить виртуальную среду гостевыми машинами с отсутствием потерь информации в случае падения серверного оборудования. Технология очень интересная, если кратко, то FT создает на другом сервере из кластера HA (High Availability) теневую копию ВМ, которая в случае падения сервера с основной ВМ берет на себя все ее функции. Сразу же на последующем сервере поднимается другая ВМ, которая становится теневой, а наша бывшая теневая основной. Вот описание этого процесса:

Как уже понятно, для этого нужно несколько серверов (минимум два), а также кластер HA. И также понятно, что теневая ВМ постоянно синхронизируется с нашей основной, то есть в случае падения моментально начинает работать. Это значит, что она должна постоянно задействовать ресурсы второго сервера. Вот бывает так, что эти ресурсы (CPU, RAM) не всегда совместимы с нашим первым сервером, ведь чтобы обе одинаковые ВМ работали на двух серверах, эти сервера должны быть одинаковыми, или близкими по своим критериям. Оперативная память понятно, должна быть зарезервирована и по ней лишь то ограничение, чтобы ее хватало. А вот с CPU все гораздо сложнее. Далее расскажу о том, какие ограничения нас ждут, если мы решили устанавливать FT.

У этой функции довольно много ограничений, начну, пожалуй, с самых важных. Самым важным ограничением, является совместимость CPU:

FT до сих пор не научился работать между процессорами разных производителей. То есть, если у Вас кластер HA с гибридными серверами, где есть и Intel и AMD процессора, то это не очень хорошо. Если их много, то лучше разнести ВМ на два кластера, где будут сервера с разными процессорами. Но и процессора одного производителя, в частности это относится к Intel не всегда будут поддерживать FT, приведу таблицу совместимости процессоров для FT:

Intel
3100
Intel
3300
Intel
5200
Intel
5400
Intel
5500
Intel
7400
AMD
1300
AMD
2300
AMD
8300
Intel 3100

V

V

V

V

X

V

X

X

X

Intel 3300

V

V

V

V

X

V

X

X

X

Intel 5200

V

V

V

V

X

V

X

X

X

Intel 5400

V

V

V

V

X

V

X

X

X

Intel 5500

X

X

X

X

V

X

X

X

X

Intel 7400

V

V

V

V

X

V

X

X

X

AMD 1300

X

X

X

X

X

X

V

V

V

AMD 2300

X

X

X

X

X

X

V

V

V

AMD 8300

X

X

X

X

X

X

V

V

V

Из этого можно заключить следующее, все процессора AMD из этого списка работают друг с другом, а также все процессора Intel работают друг с другом, кроме серии Intel 5500. Процессора этой серии работают лишь с такими же из серии 5500.

Стоит также отметить ограничения на частоту процессора, FT работает только с процессорами с частотой 400 MHz и выше, хотя теперь это уже не особо актуально.

До патча ESX(i)400-200906401-BG FT переводил работоспособность на вторую ВМ спустя пару секунд, что значительно мешало бесперебойной работе. ESX/ESXi для работы FT требуются одинаковой версии.

В логах биоса серверов можно найти следующие ошибки, свидетельствующие о неработоспособности FT, означать они могут следующее:

  • IncompatibleProduct – на сервере запущен продукт, отличающийся от официальных ESX/ESXi (сторонний продукт или продукт без подписи VMware);
  • IncompatibleCpu – ESX/ESXi сервер не поддерживает аппаратную виртуализацию (Intel-VT, AMD-V), необходимую для работы FT;
  • hvDisabled – сервер поддерживает виртуализацию, но она отключена в настройках BIOS, на котором исполняется FT;
  • cpuidLimitSet – на сервере ESX/ESXi включена опция, которая осуществляет максимальный предел на CPUID, препятствующий тому, чтобы FT работал;
  • oldBIOS – BIOS старой версии, требуется обновление;
  • Unknown — неизвестная конфигурация BIOS препятствует тому, чтобы FT работал должным образом.

Существует требование по сетевому оборудованию. У каждого ESX/ESXi должно быть минимум по 2 сетевые карты скоростью минимум 1 Гбит/сек., находящиеся в одной сети. 1 сетевая карта должна быть выделена для FT, вторая для vMotion.

Само собой, так как ВМ, защищенная FT, использует технологию HA для данного процесса, то ВМ должна находиться на общей СХД.

В данный момент у ВМ может быть лишь 1 vCPU, но VMware обещает в ближайшее время исправить этот момент.

Технология FT не поддерживает тонкие диски. Если ВМ находится в выключенном состоянии, и Вы включаете FT, тонкий диск автоматически будет преобразован в толстый.

Все снимки (snapshots) должны быть удалены у ВМ, так как с ними FT работать не будет.

Само собой, для использования FT должна быть лицензия Enterprise или Enterprise Plus.

Не все ОС будут работать с FT. В данный момент выявлено например, что на процессорах AMD Barcelona не будут работать следующие системы:

  • Windows XP (64 bit)
  • Windows XP (32 bit)
  • Windows 2000
  • Solaris 10 (32 bit)

Физические RDM не поддерживаются технологий FT, только виртуальные.

NPIV и VMI ROM не поддерживаются не ОС, защищенных FT.

CD-ROM’ы и Floppy диски, направленные на физические устройства или удаленные также не поддерживаются, с .ISO образами на общем СХД FT работает.

NIC Passthrough и VMXNET2 адаптеры не поддериживаются.

Вот такие ограничения существуют. Далее приведу список всех поддерживающих на данный момент процессоров технологию FT:

Intel Xeon Penryn Category:

  • 31xx Series
  • 33xx Series
  • 52xx Series
  • 54xx Series
  • 74xx Series

Intel Xeon Nehalem Category:

  • 34xx Series (Lynnfield)
  • 35xx Series
  • 55xx Series
  • 65xx Series
  • 75xx Series

Intel Xeon Westmere Category:

  • 34xx Series (Clarkdale)
  • 36xx Series
  • 56xx Series
  • E7-28xx Series
  • E7-48xx Series
  • E7-88xx Series
  • i3/i5 (Clarkdale)

Intel Xeon Sandy Bridge Category 1:

  • E3-12xx Series

Intel Xeon Sandy Bridge Category 2:

  • i3-21xx Series

AMD Opteron Barcelona Category:

  • 13xx Series
  • 23xx and 24xx Series (DP)
  • 41xx Series
  • 61xx Series
  • 83xx and 84xx Series (MP)

А также таблицу с официально поддерживаемыми гостевыми ОС:

Гостевая ОС Поддержка
Windows 7 Поддерживается всеТребуется VSphere 4.0U1 и выше
Windows Server 2008 Поддерживается все
Windows Vista Поддерживается все
Windows Server 2003 (64 bit) Поддерживается все
Windows Server 2003 (32 bit) Intel ПоддерживаетсяЕсли используется процессор AMD, нужен SP2 или выше
Windows XP (64 bit) Поддерживается
Windows XP (32 bit) Intel ПоддерживаетсяAMD не поддерживается
Windows 2000 Intel ПоддерживаетсяAMD не поддерживается
Windows NT 4.0 Intel ПоддерживаетсяAMD не поддерживается
Linux (all ESX-supported distributions) Поддерживается
Netware Server Нет данных
Solaris 10 (64-bit) ПоддерживаетсяЕсли используется процессор AMD, нужен Solaris U1 или выше
Solaris 10 (32-bit) Intel ПоддерживаетсяAMD не поддерживается
FreeBSD (all ESX-supported distributions) Поддерживается все

Вот примерно так обстоят дела. Если не хочется проверять все самому, или не уверены в точности проверки, воспользуйтесь утилитами VMware Site Survey и CPU Identification Utility для проверки на совместимость с FT.

Запуск ESXi внутри виртуальной машины

Очень популярная в последнее время тема, но запишу себе ее в блог, дабы не забыть параметры. Может быть такое, что у нас в наличии есть один сервер ESXi, но в тестовых целях мы хотим использовать несколько гипервизоров, дабы продемонстрировать возможности vSphere. Для этого нам нужно установить гипервизор ESXi как гостевую ОС на ВМ.
Это можно сделать, но по умолчанию аппаратная виртуализация, необходимая для установки гипервизоров VMware, отключена в 4 версии VSphere, нам придется ставить гипервизор и указывать ОС гостевой ВМ, как, например Other Linux (32bit).
Если у Вас уже VSphere 5, то это существенно упрощает задачу, там все гораздо проще.  Нам достаточно лишь выбрать гостевую ОС, как гипервизор ESXi (в ближайшее время выложу скрин, но Вы и сами можете это сделать, найдя в списке гостевых ОС наш гипервизор). Также, чтобы позволить включать внутри виртуального гипервизора ESXi, достаточно добавить внутрь файла /etc/vmware/config параметр (подсказано Михаилом Михеевым):
vhv.allow = «TRUE»
В VSphere 4 нам приходилось изменять конфиг файла .vmx нашей ВМ. Чтобы включить аппаратную виртуализацию на 4 версии, заходим в Edit Settings ВМ (машина должна быть выключена), далее вкладка Options->General->Configuration Parametrs..
Мы попадаем в меню отладки ВМ, вписываем следующие три строки, если их нет в наличии, если какая-то есть, меняем значение:
guestOS = "vmkernel"
monitor_control.vt32 = "TRUE"
monitor_control.restrict_backdoor = "TRUE"
 Выглядеть это будет следующим образом:
После этого сохраняем изменения и включаем ВМ. Теперь ВМ будет считать, что имеет аппаратную виртуализацию, на самом деле мы просто прокинули ее на программном уровне.
Также можно изменить этот файл, зайдя в Tech Support Mode и командой vi изменить .vmx файл нашей ВМ, данные будут расположены там в столбик, разделенные табуляцией. Также можно воспользовавшись просмотром датастора, скачать файл на ПК и изменить его блокнотом.