Объединение групп кластера в наборы в Windows 2016 Failover Cluster (Cluster Group Sets)


Продолжаем рассмотрение нового функционала кластера https://blogs.technet.microsoft.com/wfcruteam/2017/04/03/new-features-windows-failover-cluster-2016.

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

Например, вы имеете группу, содержащую SQL Server и группу, содержащую портальное решение. Вы хотите, чтобы в случае падения узла и переката этих групп на другой узел, сначала стартовал SQL Server, а потом группа, содержащая портальное решение.

Новая концепция в Windows Server 2016 называется “Set” (Набор) позволяет реализовать такой сценарий.

Set может содержать одну или несколько групп и Set-ы могут зависеть друг от друга, что позволяет создавать зависимости между кластерными группами и управлять порядком старта групп. Хотя изначально Set-ы ориентированы на виртуальные машины, но они могут работать и с другими видами ресурсов.

4-1

Управление Наборами производится при помощи PowerShell.

Чтобы создать Set (Набор) используется команда New-ClusterGroupSet.

Создадим два Набора. Группы WebApp и SQLServer должны быть созданы предварительно.

New-ClusterGroupSet -Name SetForWebApp -Group WebApp
New-ClusterGroupSet -Name SetForSQLServer -Group SQLServer

Для просмотра созданных Наборов используется Get-ClusterGroupSet.

4-2

Т.о у нас есть два независимых набора, каждый из которых состоит из одной группы, хотя в реальной практике вы можете поместить любое (разумное) количество групп в Набор (Set).

Добавим зависимость между этими Наборами, так, чтобы портальное решение зависело от группы SQL Server.

Add-ClusterGroupSetDependency -Name SetForWebApp -Provider SetForSQLServer

Для просмотра зависимостей используется Get-ClusterGroupSetDependency.

4-3

При конфигурация по-умолчанию зависящая группа стартует через 20 секунд только после того, как стартовали все группы, от которых она зависит.

Можно настроить ряд дополнительных свойств группы, влияющих на зависимости и не устанавливаемых по-умолчанию.

Рассмотрим эти свойства.

StartupDelayTrigger – Определяет какое событие должно вызвать начало действия и может принимать одно из двух значений:
Online – ожидать, пока группа не перейдет в положение Online.
Delay – ожидать столько времени, сколько определено в свойстве StartupDelay.
StartupDelay - определяет задержку старта зависящей группы в секундах (по-умолчанию 20 секунд) по триггеру StartupDelayTrigger события Delay.
StartupCount - определяет количество групп в наборе, которые достигли условия описанного в StartupDelayTrigger прежде, чем набор считается стартованным.
Значение этого свойства равное -1 означает “Все группы” и установлено по-умолчанию.
Значение этого свойства равное 0 означает “Большинство групп”.
Если вы установите StartupCount больше, чем количество групп в наборе, то это будет означать “Все группы”.

Установка свойств производится через Set-ClusterGroupSet.

У вас могут быть некие инфраструктурные Наборы, от которых зависят все остальные. Например, DNS сервера, контроллеры домена или приложения, обеспечивающие доступ к хранилищам данных и пр. Для таких Set-ов предусмотрено свойство IsGlobal, которое определяет, что Set должен стартовать первым. Свойство может иметь значения False или True.

Set-ClusterGroupSet -name SetForDns -IsGlobal 1

Ниже приведен перечень всех cmdlet-от, которые могут использоваться для управления Наборами.

New-ClusterGroupSet
Remove-ClusterGroupSet
Set-ClusterGroupSet
Get-ClusterGroupSet
Get-ClusterGroupSetDependency
Add-ClusterGroupToSet
Add-ClusterGroupSetDependency
Remove-ClusterGroupSetDependency

Т.о. данное усовершенствование является давно ожидаемой возможностью кластера и будет очень полезно для развертывания сложных кластеризованных сред с множеством зависимостей между приложениями.

В следующей статье мы продолжим разговор о новом функционале кластера как и было объявлено в  https://blogs.technet.microsoft.com/wfcruteam/2017/04/03/new-features-win…ver-cluster-2016/

Александр Каленик, Senior Premier Field Engineer (PFE), MSFT (Russia)

Comments (0)

Skip to main content