Изрядно нахлебавшись, решил раскрыть тему, ранее отданную читателям блога на самостоятельное изучение, – какие нюансы могут всплыть при настройке виртуальной среды VMware vSphere при использовании кластеризации в Windows Server 2008(R2). Также советую прочитать обзор Андрея “Поддержка кластеризации в виртуальных средах“.
Тема очень обширна, поэтому рассмотрю проблемы и их решения в моей инфраструктуре.
Что имеем:
- сеть хранения FC-SAN;
- несколько IBM BladeCenter HS22V;
- кластер MSCS(WSFC) with Shared Disk;
- систему хранения EMC VNX 5700 с прошивкой 05.31.000.5.726;
- vSphere 5.1b.
Проблема первая. Суровая.
Симптомы: после настройки MSCS время загрузки хостов увеличилось примерно на 25 минут; стали проявляться проблемы с запуском/рестартом агентов управления на хостах; возникли длительные задержки при вызове свойств дисковых устройств, подключенных в MCSC-кластер на пассивных нодах.
Причины: выяснение причин оказалось делом несложным, в базе знаний VMware есть статья описывающая данное поведение “ESXi/ESX hosts with visibility to RDM LUNs being used by MSCS nodes with RDMs may take a long time to boot or during LUN rescan“. При включении серверов, несущих пасивные ноды, происходит опрос дисков, в это время диски, подключенные к активным нодам, зарезервированы нодами по SCSI.
Решение: достаточно уведомить все хосты о том, что часть дисков находится в SCSI-reservation, для этого необходимо выставить у данных дисков параметр perennially-reserved равный true.
Так как “лень – матушка, да PowerShell – батюшка”, то накидал примитивный скрипт:
|
Connect-VIServer -Server vcenter Get-VMHost | foreach { $myesxcli=get-esxcli -VMHost $_ $myesxcli.storage.core.device.setconfig($false,"naa.идентификатор устройства", $true) } Disconnect-VIServer -Server * -Force |
Проверить статус можно следующей командой:
|
$myesxcli.storage.core.device.list("naa.идентификатор устройства") |
Идентификатор устройства получаем кликом правой кнопки мыши по нужному MSCS-диску в хост-Сonfiguration-Storage-Devices и выбором пункта “Copy identifier to clipboard”.
Проблема вторая. Весёлая.
Откуда ноги растут: при выходе vSphere 5.1 EMC и VMware стали поддерживать режима выбора пути RoundRobin для систем VNX. Как это круто читаем статью “FIXED/Round Robin in 5.1 and A Simple PowerCLI Block Pathing Module“. На грабли я встать не успел, но суть в следующем: при обновлении до версии 5.1 политика выбора пути по умолчанию для VNX поменяется с VMW_PSP_FIXED на VMW_PSP_RR. В итоге для MSCS-дисков вы получите неподдерживаемую конфигурацию, так как смена пути приводит к ошибке в работе механизма SCSI reservation. Соль ситуации – всё это получается автоматом.
Решение: установить на MSCS-дисках режим выбора пути в Fixed. Засада возникает при желании сделать это вручную – симптомы описаны в первой проблеме.
Предлагаю очередной примитивный скриптик:
|
Connect-VIServer -Server vcenter Get-VMHost | foreach { $myesxcli=get-esxcli -VMHost $_ $myesxcli.storage.nmp.device.set($null,"naa.идентификатор устройства","VMW_PSP_FIXED") } Disconnect-VIServer -Server * -Force |
Проверить статус можно следующей командой:
|
$myesxcli.storage.nmp.device.list("naa.идентификатор устройства") |
Напоминалка.
При любых внедрениях Windows Server 2008(R2) MSCS(WSFC) обязательно перечитайте документацию по последней версии vSphere, так как выход каждой новой версии вносит новые требования к дополнительной тонкой настройке: