Много-сайтовый кластер имеет особенности в своем функционировании относительно одно-сайтового и, поэтому, в текущей версии поддержка многосайтовых кластеров продолжена и расширена дополнительными полезными опциями
Впервые понятие много-сайтовых кластеров была введено в Windows 2008, где было определено понятие подсетей (sudnets) с возможностью закрепления нескольких IP адресов за одним сетевым именем (соединенных зависимостью типа “OR”), а также введены параметры управления heartbeat-пакетами между подсетями (свойства кластера: CrossSubnetDelay и CrossSubnetThreshold).
Однако понятие сайта более широкое, чем понятие подсети, поскольку сайт может состоять из множества подсетей. С понятием сайт сопоставимо понятие здание, площадка, город.
Для рассмотрения этих возможностей мы воспользуемся ниже приведенной структура типичного много-сайтового кластера.
Что же изменилось в Windows 2016 с точки зрения много-сайтовых кластеров?
Итак начнем рассмотрение.
По умолчанию все узлы размещены в одном сайте (присвоены одному сайту), поэтому для присвоения узлов сайтам сначала необходимо создать сайты.
Создание сайтов производится с использованием PowerShell.
Создаем сайты, используя New-ClusterFaultDomain. Обратите внимание, что создается Fault Domain типа Site. Поля Description и Location являются не обязательными.
New-ClusterFaultDomain -Name "Moscow" –Type Site –Description “Primary” -Location “Moscow Center Datacenter”
New-ClusterFaultDomain -Name "Saint Petersburg" –Type Site –Description “Secondary” –Location “Saint Petersburg Datacenter”
Проверим наличие сайтов.
Get-ClusterFaultDomain -Type Site
Присвоим сайты узлам (Поместим узлы в созданные сайты).
Set-ClusterFaultDomain -Name "W2K16-N1" -Parent "Moscow"
Set-ClusterFaultDomain -Name "W2K16-N2" -Parent "Moscow"
Set-ClusterFaultDomain -Name "W2K16-N3" -Parent "Saint Petersburg"
Set-ClusterFaultDomain -Name "W2K16-N4" -Parent "Saint Petersburg"
Проверим закрепление узлов за сайтами.
Get-ClusterFaultDomain -Type Site
Для любого узла можно получить имя сайта, где он размещен.
(Get-ClusterFaultDomain -Name "W2K16-N4").Parent
Также для любого сайта можно получить размещенные в нем узлы.
(Get-ClusterFaultDomain -Name "Moscow").Children
Для удоства управления ресурсами возможна также установка предпочтительного сайта (Preferred Site), который будет использован в дальнейшем при настройке других возможностей кластера.
Предпочтительный сайт используется при реализации нового функционала Windows 2016 Failover Cluster.
При функционировании системы Dynamic Quorum Daemon. В случае разрыве соединения между сайтами, сначала будут понижены до нуля "веса голосов" для узлов вторичного сайта, сохраняя "веса голосов" для узлов предпочтительного сайта.
Если вы имеете кластер с четным количеством узлов размещенный в двух сайтах. То при разрыве коммуникации межу сайтами и при установленом предпочтительном (Preferred) сайте, узлы предпочтительного сайта продолжат функционирование как кластер, а на узлах другого сайта "веса голосов" узлов будут понижены до нуля и кластерная служба остановлена.
Предпочтительный сайт, также может быть определен для групп (ролей, виртуальных машин), причем свой для каждой. При этом группы буду размещаться на узлах сначала исходя из установленного предпочтительного сайта группы и далее из предпочтительного сайта кластера.
Установка предпочтительного сайта для кластера.
(Get-Cluster).PreferredSite = "Moscow"
Установка предпочтительного сайта для группы
(Get-ClusterGroup -Name "Cluster Group").PreferredSite = "Moscow"
В текущей версии ОС коммуникации между узлами управляются шестью свойствами кластера, а не четырьмя как было ранее.
Каким образом принимается решение о недоступности узла, при наличии этих шести свойств?
Изменение свойств производится с использованием команд PowerShell, как это и было в предыдущих версиях кластера.
(Get-Cluster).CrossSiteDelay = 2000
(Get-Cluster).CrossSiteThreshold = 20
Таким образом мы рассмотрели вопросы, связанные с изменениями внесенными в кластер под управлением Windows 2016 Server с точки зрения работы с территориально разнесенными (много-сайтовыми) кластерами.
В следующей статье мы продолжим разговор о новом функционале кластера как и было объявлено ранее.
Александр Каленик, Senior Premier Field Engineer (PFE), MSFT (Russia)
3 авг. 2017 г.