Поделиться через


Создание правил аффинности машин и сайтов для виртуальных машин

Область применения: Azure Local 2311.2 и более поздних версий

С помощью Центра администрирования Windows или Windows PowerShell можно легко создавать правила сходства и защиты от сходства для виртуальных машин в локальном экземпляре Azure.

Примечание.

Рекомендуемый способ создания виртуальных машин и управления ими в локальной среде Azure — использование плоскости управления Azure Arc. Используйте механизм, описанный ниже, для управления виртуальными машинами только в том случае, если вам нужны функциональные возможности, недоступные в виртуальных машинах Azure Arc.

Сходство — это правило, которое устанавливает связь между двумя или несколькими группами ресурсов или ролями, такими как виртуальные машины, для их объединения на одном компьютере, системе или сайте. Анти-совместность представляет собой противоположность, поскольку используется для обеспечения, чтобы указанные виртуальные машины или группы ресурсов находились отдельно друг от друга, например, два контроллера домена, размещенные на отдельных компьютерах или на различных площадках в целях аварийного восстановления.

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

Используя правила сходства и защиты от сходства, любая кластерная виртуальная машина либо останется на одном компьютере, либо не будет совместно размещена на одном компьютере. Таким образом, единственным способом перемещения виртуальной машины из компьютера было бы сделать это вручную. Вы также можете хранить виртуальные машины вместе с собственным хранилищем, например общий том кластера (CSV), на котором находится VHDX.

Использование Windows Admin Center

Вы можете создать базовые правила сходства и анти-сходства с помощью Windows Admin Center.

Экран

  1. На домашней странице Windows Admin Center в разделе "Все подключения" выберите компьютер или систему, для которой нужно создать правило виртуальной машины.
  2. В разделе "Сервис" выберите "Параметры".
  3. В разделе "Параметры" выберите "Правила сходства", а затем выберите "Создать правило " в разделе "Правила сопоставления".
  4. В разделе "Имя правила" введите имя правила.
  5. В разделе "Тип правила" выберите "Вместе" (один и тот же компьютер) или "Отдельно", чтобы разместить виртуальные машины на одном компьютере или на разных компьютерах.
  6. В разделе "Область применения" выберите виртуальные машины, к которым применяется это правило. Нажмите кнопку "Добавить", чтобы добавить дополнительные виртуальные машины в правило.
  7. По завершении нажмите кнопку "Создать правило".
  8. Чтобы удалить правило, выберите его и выберите пункт "Удалить".

Использование Windows PowerShell

Вы можете создавать более сложные правила с помощью Windows PowerShell, чем с помощью Центра администрирования Windows. Как правило, правила настраиваются с удаленного компьютера, а не на хост-компьютере в системе. Этот удаленный компьютер называется компьютером управления.

При выполнении команд Windows PowerShell с компьютера управления включите -Name или -Cluster параметр с именем системы, которой вы управляете. При необходимости необходимо также указать полное доменное имя (FQDN) при использовании -ComputerName параметра для компьютера.

Новые командлеты PowerShell

Чтобы создать правила сходства для кластеров, используйте следующие новые командлеты PowerShell:

Новое правило привязки кластера

Командлет New-ClusterAffinityRule используется для создания новых правил. С помощью этой команды вы укажите имя правила и тип правила, где:

-Name — имя правила

-RuleType значения — SameFaultDomain | SameNode | DifferentFaultDomain | DifferentNode

Пример:

New-ClusterAffinityRule -Name Rule1 -RuleType SameFaultDomain

УстановитьПравилоСвязиКластера

Командлет Set-ClusterAffinityRule используется для включения или отключения правила, где:

-Name — имя правила для включения или отключения

-Enabled | Disabled включает или отключает правило

Пример:

Set-ClusterAffinityRule -Name Rule1 -Enabled

Get-ClusterAffinityRule

Командлет Get-ClusterAffinityRule используется для отображения указанного правила и определения его типа. Если -Name не указан, перечисляются все правила.

Пример:

Get-ClusterAffinityRule -Name Rule1

Add-ClusterGroupToAffinityRule

Командлет Add-ClusterGroupToAffinityRule используется для добавления роли виртуальной машины или имени группы в определенное правило привязанности, где:

-Groups — имя группы или роли, добавляемой в правило.

-Name — имя добавляемого правила.

Пример:

Add-ClusterGroupToAffinityRule -Groups Group1 -Name Rule1

Add-ClusterSharedVolumeToAffinityRule

Компонент Add-ClusterSharedVolumeToAffinityRule позволяет вашим виртуальным машинам находиться на общем томе кластера, на котором расположен VHDX.

-ClusterSharedVolumes — это csv-диск, который требуется добавить в правило.

-Name — название правила для добавления

Пример:

Add-ClusterSharedVolumeToAffinityRule -ClusterSharedVolumes CSV1 -Name Rule1

Remove-ClusterAffinityRule

Remove-ClusterAffinityRule удаляет указанное правило, где -Name — это имя правила.

Пример:

Remove-ClusterAffinityRule -Name Rule1

Remove-ClusterGroupFromAffinityRule

Компонент Remove-ClusterGroupFromAffinityRule удаляет группу виртуальных машин или роль из определенного правила, но не отключает и не удаляет его.

-Name — имя правила

-Groups — это группы или роли, которые вы хотите удалить из правила.

Пример:

Remove-ClusterGroupFromAffinityRule -Name Rule1 -Groups Group1

Remove-ClusterSharedVolumeFromAffinityRule

Командлет Remove-ClusterSharedVolumeFromAffinityRule используется для удаления общих томов кластера из определенного правила, но не отключает или не удаляет правило, где:

-ClusterSharedVolumes — это csv-диск, который требуется удалить из правила.

-Name — имя добавляемого правила.

Пример:

Remove-ClusterSharedVolumeFromAffinityRule -ClusterSharedVolumes CSV1 -Name Rule1

Существующие командлеты PowerShell

С появлением новых командлетов мы также добавили дополнительные новые коммутаторы в несколько существующих командлетов.

Move-ClusterGroup

Новый -IgnoreAffinityRule коммутатор игнорирует правило и перемещает группу ресурсов кластера на другой компьютер. Дополнительные сведения об этом командлете см. в разделе Move-ClusterGroup.

Пример:

Move-ClusterGroup -IgnoreAffinityRule -Cluster Cluster1

Примечание.

Если правило перемещения допустимо (поддерживается), все группы и роли, затронутые, также будут перемещаться. Если перемещение виртуальной машины будет сознательно нарушать правило, но оно необходимо на однократной временной основе, используйте -IgnoreAffinityRule переключатель, чтобы разрешить перемещение. В этом случае отобразится предупреждение о нарушении для виртуальной машины. После этого можно включить правило снова.

Start-ClusterGroup

Новый -IgnoreAffinityRule переключатель игнорирует правило и активирует группу ресурсов кластера в сети в текущем расположении. Дополнительные сведения об этом командлете см. в разделе Start-ClusterGroup.

Пример:

Start-ClusterGroup -IgnoreAffinityRule -Cluster Cluster1

Примеры правил сопоставления

Правила аффинитета — это правила объединения, которые удерживают ресурсы на одном компьютере, системе или сайте. Ниже приведены несколько распространенных сценариев настройки правил сходства.

Сценарий 1

Предположим, у вас есть виртуальная машина SQL Server и виртуальная машина веб-сервера. Эти две виртуальные машины должны всегда оставаться на одном сайте, но не обязательно должны находиться на одном компьютере. Используя SameFaultDomain, это возможно, как показано.

New-ClusterAffinityRule -Name WebData -Ruletype SameFaultDomain -Cluster Cluster1

Add-ClusterGroupToAffinityRule -Groups SQL1,WEB1 –Name WebData -Cluster Cluster1

Set-ClusterAffinityRule -Name WebData -Enabled 1 -Cluster Cluster1

Чтобы просмотреть это правило и как оно настроено, используйте Get-ClusterAffinityRule командлет, чтобы просмотреть выходные данные:

Get-ClusterAffinityRule -Name WebData -Cluster Cluster1

Name        RuleType          Groups        Enabled
----        ---------         ------        -------
WebData     SameFaultDomain   {SQL1, WEB1}     1

Сценарий 2

Давайте будем использовать тот же сценарий, за исключением того, что виртуальные машины должны находиться на том же компьютере. При использовании SameNodeзадайте его следующим образом:

New-ClusterAffinityRule -Name WebData1 -Ruletype SameNode -Cluster Cluster1

Add-ClusterGroupToAffinityRule -Groups SQL1,WEB1 –Name WebData1 -Cluster Cluster1

Set-ClusterAffinityRule -Name WebData1 -Enabled 1 -Cluster Cluster1

Чтобы просмотреть правило и его настройку, используйте Get-ClusterAffinityRule командлет, чтобы просмотреть выходные данные:

Get-ClusterAffinityRule -Name WebData1 -Cluster Cluster1

Name    RuleType    Groups        Enabled
----    --------    ------        -------
DC      SameNode    {SQL1, WEB1}     1

Примеры правил антиаффинности

Антиаффинные правила — это «раздельные» правила, которые разделяют ресурсы и размещают их на разных компьютерах, системах или сайтах.

Сценарий 1

У вас есть две виртуальные машины под управлением SQL Server в одной локальной многосайтовой системе Azure. Каждая виртуальная машина использует много ресурсов памяти, ЦП и хранилища. Если оба окажутся на одной машине, это может привести к проблемам с производительностью у одного или обоих, так как они конкурируют за память, процессор и циклы хранения данных. Используя правило антиаффинности с типом DifferentNode, эти виртуальные машины всегда будут находиться на разных компьютерах.

Примеры команд:

New-ClusterAffinityRule -Name SQL -Ruletype DifferentNode -Cluster Cluster1

Add-ClusterGroupToAffinityRule -Groups SQL1,SQL2 –Name SQL -Cluster Cluster1

Set-ClusterAffinityRule -Name SQL -Enabled 1 -Cluster Cluster1

Чтобы просмотреть правило и его настройку, используйте Get-ClusterAffinityRule командлет, чтобы просмотреть выходные данные:

Get-ClusterAffinityRule -Name SQL -Cluster Cluster1

Name    RuleType        Groups        Enabled
----    -----------     -------       -------
SQL     DifferentNode   {SQL1, SQL2}     1

Правила привязки данных

Вы также можете сохранить виртуальную машину, а также её VHDX на общем томе кластера (CSV) на одном компьютере. Это предотвратит перенаправление CSV, которое может замедлить запуск или остановку виртуальной машины. Учитывая ранее рассмотренный объединенный сценарий аффинитета и антиаффинитета, вы можете сохранить виртуальную машину SQL и кластерный общий том на одном и том же узле. Для этого используйте следующие команды:

New-ClusterAffinityRule -Name SQL1CSV1 -Ruletype SameNode -Cluster Cluster1

New-ClusterAffinityRule -Name SQL2CSV2 -Ruletype SameNode -Cluster Cluster1

Add-ClusterGroupToAffinityRule -Groups SQL1 –Name SQL1CSV1 -Cluster Cluster1

Add-ClusterGroupToAffinityRule -Groups SQL2 –Name SQL2CSV2 -Cluster Cluster1

Add-ClusterSharedVolumeToAffinityRule -ClusterSharedVolumes CSV1 -Name SQL1CSV1 -Cluster Cluster1

Add-ClusterSharedVolumeToAffinityRule -ClusterSharedVolumes CSV2 -Name SQL2CSV2 -Cluster Cluster1

Set-ClusterAffinityRule -Name SQL1CSV1 -Enabled 1 -Cluster Cluster1

Set-ClusterAffinityRule -Name SQL2CSV2 -Enabled 1 -Cluster Cluster1

Чтобы просмотреть эти правила и способ их настройки, используйте Get-ClusterAffinityRule командлет без -Name переключателя и просмотрите выходные данные.

Get-ClusterAffinityRule -Cluster Cluster1

Name        RuleType               Groups            Enabled
----        --------               ------            -------
Site1Trio   SameFaultDomain        {SQL1, WEB1, DC1}    1
Site2Trio   SameFaultDomain        {SQL2, WEB2, DC2}    1
TrioApart   DifferentFaultDomain   {DC1, DC2}           1
SQL1CSV1    SameNode               {SQL1, <CSV1-GUID>}  1
SQL2CSV2    SameNode               {SQL2, <CSV2-GUID>}  1

Следующие шаги

Узнайте, как управлять виртуальными машинами. См. статью "Управление виртуальными машинами в локальной среде Azure" с помощью Центра администрирования Windows.