454080, г. Челябинск, ул. Энтузиастов, 14/В, e-mail: Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. , тел.: (351) 734-94-54

Тестируем кластер виртуальных машин на базе Hyper-V и дисковой полки Intel

В лаборатории компании Алиас проведено тестирование кластера виртуальных машин на базе Hyper-V и дисковой полки Intel JBOD

Задача:

Изучить надёжность 2-узлового кластера виртуальных машин (ВМ), построенного на базе продуктов Microsoft и Intel. Протестировать производительность дисковой подсистемы такого решения.

Технологии

Аппаратная конфигурация

  • Сервер Intel – 2 шт.:
    • платформа Intel Server System R1304BB4DC: LGA1356, S2400BB4, 12xDDR3, 4 x 3.5" hot plug SATA/SAS, 4 x 1 GbE, 2 x 460W, 1U
      • микрокод BIOS обновлён до версии 02.03.0003;
      • микрокод BMC обновлён до версии 01.21.6038;
      • микрокод SDR обновлён до версии 1.06;
      • микрокод ME обновлён до версии 02.01.07.328;
    • процессор Intel Xeon E5-2407: 2.20GHz, 10MB, 4C/4P, 80W – 2 шт.
    • память Kingston KVR16R11D4/8: 8GB 1600MHz DDR3 CL11 ECC Reg – 6 шт.;
    • жёсткий диск Seagate ST1000NM0033: Seagate Constellation ES.3 1TB, SATA 6Gb/s, 128MB, 7200 rpm, 3.5" – 2 шт.;
    • модуль Intel Remote Management Module 4 (AXXRMM4R);
    • контроллер SAS HBA LSI Logic SAS9207-8E: PCI-E 3.0 x8, LP, SAS 6Gb/s, 8-port
      • микрокод BIOS обновлён до версии 7.37.00.00;
      • микрокод контроллера обновлён до версии 19.00.00.00.
  • Дисковая полка Intel – 2 шт.:
    • Intel Storage System JBOD JBOD2224S2DP: 24 x 2.5" Hot-swap HDD bays, 2 x 460W, 2U
      • микрокод экспандера RES2CV360-R обновлён до версии 0.13.0.8;
      • микрокод MFG обновлён до версии 1.04.
    • жёсткий диск Seagate ST600MM0006: Enterprise Performance 10K, SAS 2.0 6Gb/s, 64MB, 10000 rpm, 2.5" – 6 шт. (всего);
    • Кабель SAS CBL-SFF8088SAS-10M: внешний, 1 м – 6 шт. (всего).

Настройка ОС

  1. На узлы Node1 и Node2 будущего кластера виртуальных машин (ВМ) установлена ОС Windows Server 2012 R2 Datacenter Russian с обновлениями по состоянию на 19 июня 2014 г.
  2. Физические сетевые платы Ethernet, Ethernet 2, Ethernet 3, Ethernet 4 агрегированы в объединение (team) “4x1GbE”.
  3. Установлены роль “Hyper-V”, компоненты “MPIO” и “Отказоустойчивая кластеризация”.
  4. Создан виртуальный коммутатор vSwitch:
    New-VMSwitch vSwitch -MinimumBandwidthMode Weight -NetAdapterName 4x1GbE -AllowManagementOS 1
  5. Для управляющей (основной) ОС созданы виртуальные сетевые адаптеры Management (для управление ОС), Migration (для миграции ВМ) и Cluster (для взаимодействия узлов кластера).
    Add-VMNetworkAdapter -ManagementOS -SwitchName vSwitch -Name Management
    Add-VMNetworkAdapter -ManagementOS -SwitchName vSwitch -Name Migration
    Add-VMNetworkAdapter -ManagementOS -SwitchName vSwitch -Name Cluster
    Адаптерам присвоены статические IP-адреса (см. Приложение 1).
  6. Сетевой поток разделён на 4 группы: Management, Migration, Cluster и группа по умолчанию (все прочие виды трафика, в т. ч. трафик всех ВМ). Им присвоены веса 5, 40, 5 и 50, соответственно:
    Set-VMSwitch vSwitch -DefaultFlowMinimumBandwidthWeight 50
    Set-VMNetworkAdapter -ManagementOS -Name Management -MinimumBandwidthWeight 5
    Set-VMNetworkAdapter -ManagementOS -Name Cluster -MinimumBandwidthWeight 5
    Set-VMNetworkAdapter -ManagementOS -Name Migration -MinimumBandwidthWeight 40
  7. Добавлена поддержка многопутевых SAS-устройств в MPIO.

Сценарий 1: 2-узловой кластер и две дисковые полки

В каждую дисковую полку было подключено 3 жёстких диска ST600MM0006. Схема подключения представлена на рис. 1

Рис. 1. Каскадное подключение дисковых полок к 2-узловому кластеру

  1. Создан пул “pool1” из 6 дисков в дисковых полках.
  2. На пуле созданы виртуальные диски “quorum” (1 ГБ) и “vd1” (1 ТБ): каждый диск представляет собой 2-стороннее зеркало фиксированного размера. Включён параметр Enclosure Awareness, позволяющий создавать зеркало между дисками, расположенными в разных дисковых полках:
    New-VirtualDisk -StoragePoolFriendlyName StoragePool -FriendlyName vd1 -ResiliencySettingName Mirror -ProvisioningType Fixed -Size 1TB -IsEnclosureAware $True
  3. На виртуальных дисках созданы тома, которые отформатированы в ФС NTFS.
  4. На локальном хранилище созданы 2 виртуальные машины: SR-DC1 и SR-DC2.
  5. На ВМ SR-DC1 и SR-DC2 назначены статические IPv4-адреса, установлена роль Active Directory, произведено обновление Windows.
  6. На ВМ SR-DC1 создан домен vmc.local (SR-DC1 — владелец ролей FSMO). На ВМ SR-DC2 поднят дополнительный контроллер домена для домена vmc.local.
  7. Узлы NODE1 и NODE2 включены в домен vmc.local. Под учётной записью администратора домена произведено тестирование и создание кластера VMCluster.
  8. Диск “quorum” выбран в качестве диска-свидетеля.
  9. Виртуальный диск “vd1” добавлен в общие тома кластера.
  10. Задано действие по умолчанию, предпринимаемое при извлечении диска из дисковой полки (из пула “pool1”): в этом случае будет происходить перестроение пула (зеркало будет реализовано на оставшихся дисках при наличии достаточной свободной ёмкости):
    Set-StoragePool pool1 -RetireMissingPhysicalDisks Always
  11. Выбраны приоритетные сети для живой миграции и CSV.
  12. На общем хранилище создана виртуальная машина SR-Test1.

Производительность

Замеры производительности проводились из ВМ SR-Test1, расположенной на томе CSV, в 3 конфигурациях:

    1. 2 дисковые полки, по 3 диска в каждой, используется прямой ввод-вывод (владельцем тома CSV и ВМ является один и тот же узел);
    2. 2 дисковые полки, по 2 диска в каждой, используется прямой ввод-вывод;
    3. 2 дисковые полки, по 3 диска в каждой, используется перенаправленный (блочный) ввод-вывод (владельцами тома CSV и ВМ являются разные узлы).

Рис. 2. Производительность дисковых операций, в % к конфигурации 1.1

Здесь и далее дополнительной настройки дисковой подсистемы не производилось. Все параметры, влияющие на её производительность, оставлены со значениями по умолчанию.

Как следует из диаграммы, среднее снижение производительности при уменьшении общего числа дисков с 6 (конфигурация 1.1) до 4 (конфигурация 1.2) составляет около 30 %. Использование перенаправленного ввода-вывода (конфигурация 1.3), когда узел-владелец ВМ отправляет запросы на дисковые операции по локальной сети узлу-владельцу CSV-тома, может ещё больше сказаться на скорости работы ВМ. В первую очередь это касается сервисов с преобладающими операциями последовательного чтения/записи.

Отказоустойчивость

Для оценки надёжности системы имитировался сбой (физическое отключение) одного из её компонентов. Отключение одного из SAS-кабелей не повлияло на работу системы. Отключение узла, на котором была запущена ВМ, привело к остановке работы данной ВМ, она автоматически была запущена на втором узле через ~2 мин.

Фатальным оказалось отключение одной из дисковых полок. Теоретически, система должна была продолжать работать, однако в действительности все диски, подключенные к дисковым полкам, оказались недоступны, перестал работать том CSV и находившаяся на нём тестовая ВМ. Анализ причин показал, что дисковые полки имеют одинаковые идентификаторы (0), что не позволяет ОС их различить. Данная проблема зафиксирована Intel в техническом бюллетене ТА-1042-2 от 21 марта 2014 г. Для её решения необходима гарантийная замена платы распределения питания (PDB). Следует отметить, что для восстановления работы кластера недостаточно было вновь подключить дисковую полку (в этом случае все диски оказывались в состоянии Starting, которое не менялось на протяжении суток). Потребовалась поочерёдная перезагрузка обоих узлов.

Сценарий 2: 2-узловой кластер и одна дисковая полка

В дисковую полку подключено 6 жёстких дисков. Схема подключения представлена на рис. 3.

Рис. 3. Подключение дисковой полки к 2-узловому кластеру.

Остальные настройки аналогичны тем, что были сделаны в сценарии 1 (за исключением параметра Enclosure Awareness, которому присвоено значение $False).

Производительность

Замеры производительности проводились из ВМ SR-Test1, расположенной на томе CSV, в 3 конфигурациях (во всех случаях использовался прямой ввод-вывод):

  1. 6 дисков в дисковой полке;
  2. 5 дисков в дисковой полке (после извлечения одного диска и завершения автоматической отработки его отказа и восстановления информации на оставшиеся диски);
  3. 4 диска в дисковой полке (после извлечения второго диска и завершения автоматической отработки его отказа и восстановления информации на оставшиеся диски).

Рис. 4. Производительность дисковых операций, в % к конфигурации 2.1

С уменьшением количества дисков в пуле производительность дисковых операций каждый раз снижалась примерно на 10 %. Наибольшее падение зафиксировано на случайных операциях записи блоками по 4 и 512 КБ.

Отказоустойчивость

Для оценки надёжности системы имитировался сбой физических дисков. Отключение одного из них тут же фиксировалось в журнале событий Windows, а через 5 минут начиналась операция восстановления (данные, которые были на сбойном диске, копировались с рабочей копии на оставшиеся диски).

Выводы

  1. Использование дисковых полок Intel JBOD2224S2DP для построения надёжного отказоустойчивого кластера, по словам производителя, возможно, но требует замены платы PDB. В рамках текущего тестирования проверить это не удалось из-за отсутствия обновлённых версий платы.
  2. В случае использования одной дисковой полки замена PDB не требуется. Однако необходимо учитывать, что такая дисковая полка является единой точкой отказа.
  3. Производительность дисковой подсистемы напрямую зависит от количества жёстких дисков в пуле. Наиболее заметным эффект будет в приложениях с преобладающими операциями случайной записи.
  4. Огромное влияние оказывает использование перенаправленного ввода-вывода (в случаях, когда пропускная способность и задержки в локальной сети несопоставимы с SAS-интерфейсом). Наиболее заметным эффект будет в приложениях с преобладающими операциями последовательного чтения/записи.

Литература

  1. Cluster Shared Volume (CSV) Inside Out. 2 декабря 2013 г.
  2. Deploy Clustered Storage Spaces. В ред. от 18 июня 2014 г.
  3. Intel Storage Server System JBOD 2000 Family. Hardware Guide. Rev. 1.3. Март 2014 г.
  4. Performance Tuning Guidelines for Windows Server 2012 R2. В ред. от 29 апреля 2014 г.

Приложение 1. IP-адресация

IP-адрес

Сервер

Назначение

10.105.10.1 –
10.105.10.9
Специальное использование (ядро сети, удалённое управление и т. п.)
- - -
10.105.10.10 –
10.105.10.19
Кластерная инфраструктура
10.105.10.10 VMCluster (node1, node2) Адрес кластера
10.105.10.11 node1 Адрес интерфейса локальной сети для управляющей ОС на первом узле кластера, vEthernet (Management).
10.105.10.12 node2 Адрес интерфейса локальной сети для управляющей ОС на втором узле кластера, vEthernet (Management).
10.105.10.20 –
10.105.10.29
Доменная инфраструктура
10.105.10.21 sr-dc1 Адрес интерфейса локальной сети первого контроллера домена
10.105.10.22 sr-dc2 Адрес интерфейса локальной сети второго контроллера домена
192.168.10.1 –
192.168.10.254
Изолированные службы: живая миграция
192.168.10.11 Node1 Адрес интерфейса живой миграции на первом узле кластера, vEthernet (Migration).
192.168.10.12 node2 Адрес интерфейса живой миграции на втором узле кластера, vEthernet (Migration).
192.168.11.1 –
192.168.11.254
Изолированные службы: внутрикластерное взаимодействие (CSV, heartbeat)
192.168.11.11 node1 Адрес интерфейса внутрикластерного взаимодействия на первом узле кластера, vEthernet (Cluster).
192.168.11.12 node2 Адрес интерфейса внутрикластерного взаимодействия на втором узле кластера, vEthernet (Cluster).
  • Маска сети: 255.255.255.0
  • Адрес шлюза: 10.105.10.1
  • DNS-серверы: 10.105.10.21, 10.105.10.22