Изрядно нахлебавшись, решил раскрыть тему, ранее отданную читателям блога на самостоятельное изучение, – какие нюансы могут всплыть при настройке виртуальной среды 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, так как выход каждой новой версии вносит новые требования к дополнительной тонкой настройке: