Создание правил аффинности машин и сайтов для виртуальных машин
Область применения: Azure Local 2311.2 и более поздних версий
С помощью Центра администрирования Windows или Windows PowerShell можно легко создавать правила сходства и защиты от сходства для виртуальных машин в локальном экземпляре Azure.
Примечание.
Рекомендуемый способ создания виртуальных машин и управления ими в локальной среде Azure — использование плоскости управления Azure Arc. Используйте механизм, описанный ниже, для управления виртуальными машинами только в том случае, если вам нужны функциональные возможности, недоступные в виртуальных машинах Azure Arc.
Сходство — это правило, которое устанавливает связь между двумя или несколькими группами ресурсов или ролями, такими как виртуальные машины, для их объединения на одном компьютере, системе или сайте. Анти-совместность представляет собой противоположность, поскольку используется для обеспечения, чтобы указанные виртуальные машины или группы ресурсов находились отдельно друг от друга, например, два контроллера домена, размещенные на отдельных компьютерах или на различных площадках в целях аварийного восстановления.
Правила близости и антиблизости используются аналогично тому, как Azure применяет Зоны доступности. В Azure можно настроить Зоны доступности таким образом, чтобы виртуальные машины размещались в разных зонах и удаленно друг от друга или находились в одной зоне вместе.
Используя правила сходства и защиты от сходства, любая кластерная виртуальная машина либо останется на одном компьютере, либо не будет совместно размещена на одном компьютере. Таким образом, единственным способом перемещения виртуальной машины из компьютера было бы сделать это вручную. Вы также можете хранить виртуальные машины вместе с собственным хранилищем, например общий том кластера (CSV), на котором находится VHDX.
Использование Windows Admin Center
Вы можете создать базовые правила сходства и анти-сходства с помощью Windows Admin Center.
- На домашней странице Windows Admin Center в разделе "Все подключения" выберите компьютер или систему, для которой нужно создать правило виртуальной машины.
- В разделе "Сервис" выберите "Параметры".
- В разделе "Параметры" выберите "Правила сходства", а затем выберите "Создать правило " в разделе "Правила сопоставления".
- В разделе "Имя правила" введите имя правила.
- В разделе "Тип правила" выберите "Вместе" (один и тот же компьютер) или "Отдельно", чтобы разместить виртуальные машины на одном компьютере или на разных компьютерах.
- В разделе "Область применения" выберите виртуальные машины, к которым применяется это правило. Нажмите кнопку "Добавить", чтобы добавить дополнительные виртуальные машины в правило.
- По завершении нажмите кнопку "Создать правило".
- Чтобы удалить правило, выберите его и выберите пункт "Удалить".
Использование 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.