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


Управление сетевой автоматизированной диспетчеризацией (Network ATC)

Область применения: Azure Stack HCI версии 22H2

Внимание

Azure Stack HCI теперь является частью Azure Local. Однако старые версии Azure Stack HCI, например 22H2, будут продолжать ссылаться на Azure Stack HCI и не отражают изменение имени. Подробнее.

В этой статье описывается, как управлять сетью ATC после её развертывания. Сетевой ATC упрощает развертывание и управление конфигурацией сети для кластеров Azure Stack HCI. Для управления сетевыми ATC используется Windows PowerShell.

Область применения: Windows Server 2025

В этой статье описывается, как управлять сетевой автоматизированной системой управления (ATC) после её развертывания. Сетевой ATC упрощает управление развертыванием и конфигурацией сети для кластеров Windows Server. Для управления сетевыми ATC используется Windows PowerShell.

Добавление узла сервера

Узлы можно добавить в кластер. Каждый узел в кластере получает одно и то же намерение, повышая надежность кластера. Новый узел сервера должен соответствовать всем требованиям, указанным в разделе "Требования и лучшие практики" межсетевых соединений с Network ATC.

Узлы можно добавить в кластер. Каждый узел в кластере получает одно и то же намерение, повышая надежность кластера. Новый узел сервера должен соответствовать всем требованиям, указанным в разделе «Требования и рекомендации по сетевому взаимодействию хоста с использованием Network ATC».

В этой задаче вы добавите в кластер дополнительные узлы и следите за тем, как согласованная сетевая конфигурация применяется ко всем узлам в кластере.

  1. Используйте командлет Add-ClusterNode, чтобы добавить дополнительные узлы (неконфигурированные) в кластер. В настоящее время вам нужен доступ только к управлению кластером. Каждый узел в кластере должен иметь все pNICs с одинаковыми именами.

    Add-ClusterNode -Cluster CLUSTER01
    Get-ClusterNode
    
  2. Проверьте состояние на всех узлах кластера. Необходимо использовать -ClusterName параметр в версии 21H2. Сетевой ATC автоматически обнаруживает имя кластера, начиная с версии 22H2 и более поздних.

    Get-NetIntentStatus -ClusterName CLUSTER01
    
    Get-NetIntentStatus
    

    Примечание.

    Если один из серверов, добавляемых в кластер, отсутствует сетевой адаптер, который присутствует на других серверах, Get-NetIntentStatus сообщает об ошибке PhysicalAdapterNotFound.

  3. Проверьте состояние настройки всех узлов с помощью Get-NetIntentStatus. Командлет сообщает конфигурацию для обоих узлов. Это может занять похожее количество времени на подготовку, как и исходный узел.

    Get-NetIntentStatus -ClusterName CLUSTER01
    
    Get-NetIntentStatus
    

    Вы также можете добавить несколько узлов в кластер одновременно.

Измените виртуальные локальные сети (VLAN) по умолчанию для систем хранения или управления

Вы можете использовать виртуальные локальные сети по умолчанию, указанные в Network ATC, или использовать значения, специфичные для вашей среды. Для этого используйте параметр -ManagementVLAN и -StorageVLANs в Add-NetIntent.

Add-NetIntent -Name MyIntent -ClusterName CLUSTER01 -StorageVLANs 101, 102 -ManagementVLAN 10
Add-NetIntent -Name MyIntent -StorageVLANs 101, 102 -ManagementVLAN 10

Добавление или удаление сетевых адаптеров из намерения

Эта задача помогает обновить сетевые адаптеры, назначенные для определённой цели. Если в кластере есть изменения в физических адаптерах, можно использовать Update-NetIntentAdapter для обновления соответствующих намерений.

В этом примере мы установили два новых адаптера, pNIC03 и pNIC04, и мы хотим, чтобы они использовались в нашем намерении с именем "Cluster_Compute".

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

    Get-NetAdapter -Name pNIC03, pNIC04 -CimSession (Get-ClusterNode).Name | Select Name, PSComputerName
    
  2. Выполните следующую команду, чтобы обновить намерение, чтобы включить старые и новые сетевые адаптеры.

     Update-NetIntentAdapter -Name Cluster_Compute -AdapterName pNIC01,pNIC02,pNIC03,pNIC04 -ClusterName CLUSTER01
    
    Update-NetIntentAdapter -Name Cluster_Compute -AdapterName pNIC01,pNIC02,pNIC03,pNIC04
    
  3. Убедитесь, что сетевые адаптеры успешно добавлены в задачу.

        Get-NetIntent -Name Cluster_Compute -ClusterName CLUSTER01
    
        Get-NetIntent -Name Cluster_Compute 
    
    

Глобальные переопределения и настройки сети кластера

Применяется к Azure Stack HCI версии 22H2 и более поздних версий.

Глобальные переопределения и настройки сети кластера — это новая функция Network ATC, представленная в версии 22H2 и в более поздних версиях. Network ATC в основном состоит из двух видов глобальных переопределений: конфигураций прокси-сервера и сетевых функций кластера.

Сетевые функции кластера

В этом разделе мы рассмотрим набор новых сетевых функций кластера, которые мы выпускаем с выпуском 22H2. Новые сетевые функции кластера позволяют и оптимизируют именование сети кластера, управляют сетями кластера, управляя параметрами производительности, ограничениями пропускной способности и управлением динамическими миграциями.

Именование сети кластера

Описание. По умолчанию отказоустойчивая кластеризация всегда называет уникальные подсети следующим образом: "Сеть кластера 1", "Сеть кластера 2" и т. д. Это не связано с фактическим использованием сети, так как до сих пор не было никакого способа для кластеризации узнать, как вы намерены использовать сети.

После определения конфигурации с помощью Сетевого ATC теперь мы понимаем, как будут использоваться подсети, и мы можем назвать сети кластера более соответствующим образом. Например, мы знаем, какая подсеть используется для управления, сети хранения 1, сети хранилища 2 (и т. д., если применимо). В результате мы можем назвать сети более контекстно.

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

Снимок экрана: выбор сети кластера.

Выбор сети динамической миграции

Это значение включает или отключает логику выбора сети кластера динамической миграции на основе намерений. По умолчанию это включено ($true) и приводит к выбору сетей кластера на основе отправленных сведений о намерении. Если выбор сети для динамической миграции отключен, пользователь может задать сеть для динамической миграции, и поведение по умолчанию будет таким, каким вы его ожидаете в отсутствие сети ATC.

Включение миграции виртуальных машин: выбор производительности

Это значение включает или отключает выбор на основе намерений транспорта динамической миграции виртуальной машины. По умолчанию эта функция включена и приводит к автоматическому определению оптимального динамического транспорта миграции, например SMB, сжатия, TCP.

Если отключено:

  • Для выбора метода передачи при динамической миграции используется метод, указанный в значении параметра переопределения VirtualMachineMigrationPerformanceOption.
  • Если не указано значение переопределения VirtualMachineMigrationPerformanceOption, Network ATC возвращается к поведению, которое было до его внедрения.
  • Если значение NULL, но VirtualMachineMigrationPerformanceOption настроен, установите этот параметр в $false и используйте вариант, указанный в переопределении VirtualMachineMigrationPerformanceOption.
Параметр производительности миграции виртуальных машин

Сетевой ATC настраивает транспорт живой миграции на TCPIP, сжатие или SMB. Если значение NULL, система вычисляет оптимальный вариант на основе системной конфигурации и возможностей.

Максимальное число одновременных миграций виртуальных машин

Сетевой ATC задает число одновременных миграций виртуальных машин по умолчанию на одно. Диапазон возможных допустимых значений для этого свойства составляет от одного до десяти.

Максимальная пропускная способность миграции SMB

Это значение предписывает определенный предел пропускной способности в Гбит/с для трафика динамической миграции, транспортируемого по SMB, чтобы избежать использования трафика класса SMB. Это значение доступно только в том случае, если транспорт динамической миграции — SMB. Значение по умолчанию вычисляется.

Настройка параметров сети кластера

Функции сети кластера работают по своим определённым значениям по умолчанию. Так как отключение сетевых функций кластера не приводит к неподдерживаемому сценарию, сетевой ATC предоставляет возможность глобального переопределения. Глобальное переопределение можно использовать для настройки свойств и индивидуализации параметров сетевых функций кластера в соответствии с вашими потребностями.

Чтобы добавить GlobalOverride, используя сетевой ATC, выполните следующие действия.

$clusterOverride = New-NetIntentGlobalClusterOverrides

Переменная ClusterOverride имеет следующие свойства:

Снимок экрана: объект переопределения кластера.

После задания любого свойства для переопределения его можно добавить в качестве GlobalOverride для кластера с помощью следующей команды:

Set-NetIntent -GlobalClusterOverrides $clusterOverride

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

Get-NetIntentStatus -Globaloverrides

Чтобы удалить GlobalClusterOverride, выполните следующее:

Remove-NetIntent -GlobalOverrides $clusterOverride

Конфигурации прокси-сервера

Прокси отличается от существующих переопределений ATC, поскольку не привязан к конкретному намерению. На самом деле мы поддерживаем конфигурацию прокси-сервера, если намерения отсутствуют. Мы оптимальным образом поддерживаем этот сценарий за счет внедрения новых глобальных параметров переопределения в Add/Set/Get-NetIntent, аналогичных сетевым функциям кластера.

Эта New-NetIntentGlobalProxyOverrides команда используется для создания переопределения объекта, аналогичного существующим переопределениям QoS, RSS и SwitchConfig. Команда будет иметь два набора параметров:

Набор параметров по умолчанию

ProxyServer: параметр ProxyServer принимает строки в качестве входных данных, которые представляют URL-адрес прокси-сервера, используемого для трафика https. ProxyServer — это обязательный параметр при настройке прокси-сервера.

ProxyBypass: параметр ProxyBypass принимает список сайтов, которые следует посетить, обходя прокси-сервер. Чтобы обойти все короткие узлы имен, используйте local.

AutoDetect: AutoDetect — это истинный или ложный параметр, который определяет, следует ли включить автоматическое обнаружение веб-прокси (WPAD).

Набор параметров автообнаружения

AutoConfigUrl: параметр AutoConfigUrl принимает строку с URL-адресом прокси-сервера, который будет использоваться для трафика http и/или https в качестве входных данных. Для обоих классов трафика используйте точку с запятой для разделения. Это обязательный параметр.

AutoDetect: аналогично приведенному выше параметру AutoDetect, это истинный или ложный параметр, который определяет, следует ли включить автоматическое обнаружение веб-прокси (WPAD).

Настройка прокси-сервера

Конфигурации прокси-сервера можно задать следующим образом:

$ProxyOverride = New-NetIntentGlobalProxyOverrides -ProxyServer https://itg.contoso.com:3128 -ProxyBypass *.foo.com

С помощью коммутатора AutoConfigURL можно настроить конфигурацию прокси-сервера следующим образом:

$ProxyOverride = New-NetIntentGlobalProxyOverrides -AutoConfigUrl https://itg.contoso.com

Вы можете добавить GlobalProxyOverride для кластера следующим образом:

Set-NetIntent -GlobalProxyOverride $ProxyOverride

Чтобы удалить GlobalProxyOverride для кластера, сделайте следующее:

Remove-NetIntent -GlobalOverride $ProxyOverride

Наконец, чтобы получить доступ к любому глобальному переопределению, прокси или кластеру, можно выполнить следующие команды:

$Obj1 = Get-NetIntent -GlobalOverride
$Obj1

В частности, вы можете получить доступ к глобальным переопределениям прокси-сервера и кластера соответственно путем вызова соответствующих параметров для $Obj1:

$Obj1.ProxyOverride
$Obj1.ClusterOverride

Обновление или переопределение параметров сети

Эта задача помогает переопределить конфигурацию по умолчанию, которая уже развернута. В этом примере изменяется резервирование пропускной способности по умолчанию для SMB Direct.

Внимание

Мы рекомендуем использовать параметры по умолчанию, основанные на рекомендациях Майкрософт.

  1. Получите список возможных переопределений командлетов. Мы используем подстановочные знаки для просмотра доступных вариантов:

    Get-Command -Noun NetIntent*Over* -Module NetworkATC
    
  2. Создайте объект переопределения конфигурации DCB Quality of Service (QoS):

    $QosOverride = New-NetIntentQosPolicyOverrides
    $QosOverride
    
  3. Измените процент пропускной способности для SMB Direct:

    $QosOverride.BandwidthPercentage_SMB = 25
    $QosOverride
    

    Примечание.

    Значения отображаются только для переопределенных свойств.

  4. Отправьте запрос намерения, указывающий переопределение:

    Set-NetIntent -Name Cluster_ComputeStorage -QosPolicyOverrides $QosOverride
    
  5. Дождитесь, пока процесс подготовки не завершится.

    Get-NetIntentStatus -Name Cluster_ComputeStorage | Format-Table IntentName, Host, ProvisioningStatus, ConfigurationStatus
    
  6. Убедитесь, что настройка переопределений правильно установлена на всех узлах кластера. В примере класс трафика SMB_Direct был переопределен на величину пропускной способности, равную 25%.

    Get-NetQosTrafficClass -Cimsession (Get-ClusterNode).Name | Select PSComputerName, Name, Priority, Bandwidth
    

Тестирование сетевого ATC на виртуальных машинах

Запуск Azure Stack HCI на виртуальных машинах полезен для тестовых сред. Для этого добавьте в своё намерение переопределение свойства адаптера, которое отключает свойство адаптера NetworkDirect:

$AdapterOverride = New-NetIntentAdapterPropertyOverrides
$AdapterOverride.NetworkDirect = 0
Add-NetIntent -Name MyIntent -AdapterName vmNIC01, vmNIC02 -Management -Compute -Storage -AdapterPropertyOverrides $AdapterOverride

Примечание.

Убедитесь, что на каждой виртуальной машине есть несколько виртуальных ЦП.

Удалить намерение

Иногда вы можете захотеть удалить все намерения и начать сначала — например, для тестирования другой конфигурации. Хотя вы можете удалить намерения с помощью командлета Remove-NetIntent, это не приведет к очистке виртуальных коммутаторов и конфигураций DCB/NetQoS, созданных для намерений. Сетевой ATC специально избегает удаления данных в вашей системе, что обычно является преимуществом, но это означает, что вам придется выполнить некоторые действия вручную, чтобы начать заново.

Чтобы удалить все намерения сети и удалить виртуальные коммутаторы и конфигурации NetQoS, созданные Сетевым ATC для этих намерений, запустите следующий сценарий в сеансе PowerShell, работающем локально на одном из серверов в кластере (не имеет значения).

$clusname = Get-Cluster
$clusternodes = Get-ClusterNode    
$intents = Get-NetIntent -ClusterName $clusname

foreach ($intent in $intents)
{
    Remove-NetIntent -Name $intent.IntentName -ClusterName $clusname
}

foreach ($intent in $intents)
{
    foreach ($clusternode in $clusternodes)
    {
        Remove-VMSwitch -Name "*$($intent.IntentName)*" -ComputerName $clusternode -ErrorAction SilentlyContinue -Force
    }
}

foreach ($clusternode in $clusternodes)
{    
    New-CimSession -ComputerName $clusternode -Name $clusternode
    $CimSession = Get-CimSession
    Get-NetQosTrafficClass -CimSession $CimSession | Remove-NetQosTrafficClass -CimSession $CimSession
    Get-NetQosPolicy -CimSession $CimSession | Remove-NetQosPolicy -Confirm:$false -CimSession $CimSession
    Get-NetQosFlowControl -CimSession $CimSession | Disable-NetQosFlowControl -CimSession $CimSession
    Get-CimSession | Remove-CimSession
}

Чтобы удалить конфигурацию в развертывании на каждом узле, скопируйте и вставьте следующие команды, чтобы удалить все существующие намерения и соответствующие vSwitch на каждом узле.

$intents = Get-NetIntent
foreach ($intent in $intents)
{
    Remove-NetIntent -Name $intent.IntentName
    Remove-VMSwitch -Name "*$($intent.IntentName)*" -ErrorAction SilentlyContinue -Force
}

Get-NetQosTrafficClass | Remove-NetQosTrafficClass
Get-NetQosPolicy | Remove-NetQosPolicy -Confirm:$false
Get-NetQosFlowControl | Disable-NetQosFlowControl

Задачи, выполняемые после развертывания

Задачи, которые необходимо выполнить после развертывания Сетевого ATC, зависят от используемой версии Azure Stack HCI. Для кластеров Azure Stack HCI 21H2:

  • Добавьте IP-адреса в адаптеры хранилища: используйте DHCP в виртуальных сетях хранилища или задайте статические IP-адреса с помощью командлета NetIPAdress. Вы не можете использовать адреса автоматической частной IP-адресации (APIPA), предоставленные адаптерам, которые не могут получить адрес с DHCP-сервера.

  • Задайте ограничения пропускной способности SMB: если динамическая миграция использует SMB Direct (RDMA), настройте лимит, чтобы динамическая миграция не потребляла всю пропускную способность, используемую для Storage Spaces Direct и отказоустойчивой кластеризации.

  • Конфигурация растянутого кластера. Чтобы добавить Stretch S2D в управляемую систему Network ATC, необходимо вручную добавить соответствующую конфигурацию (включая виртуальные сетевые адаптеры и т. д.) после реализации указанного намерения.

Автоматическое IP-адресирование для адаптеров хранилища, ограничения пропускной способности SMB и конфигурации Stretch теперь можно развернуть с помощью сетевого ATC в Azure Stack HCI 22H2. Дополнительные сведения см. в следующем разделе:

Автоматическое IP-адресирование для адаптеров хранилища, ограничения пропускной способности SMB и конфигурации Stretch теперь можно развернуть с помощью сетевого ATC в Azure Stack HCI 22H2. Дополнительные сведения см. в следующем разделе:

Проверка автоматического исправления

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

  1. Проверьте существующее значение MTU адаптера (JumboPacket):

    Get-NetAdapterAdvancedProperty -Name pNIC01, pNIC02, vSMB* -RegistryKeyword *JumboPacket -Cimsession (Get-ClusterNode).Name
    
  2. Измените MTU одного из физических адаптеров без задания значений. Это эмулирует случайное изменение или "смещение конфигурации", которое должно быть исправлено.

    Set-NetAdapterAdvancedProperty -Name pNIC01 -RegistryKeyword *JumboPacket -RegistryValue 4088
    
  3. Убедитесь, что существующее значение MTU адаптера (JumboPacket) было изменено:

    Get-NetAdapterAdvancedProperty -Name pNIC01, pNIC02, vSMB* -RegistryKeyword *JumboPacket -Cimsession (Get-ClusterNode).Name
    
  4. Повторите настройку. Этот шаг выполняется только для ускорения исправления. Сетевой ATC автоматически исправит эту конфигурацию.

    Set-NetIntentRetryState -ClusterName CLUSTER01 -Name Cluster_ComputeStorage -NodeName Node01
    
  5. Убедитесь, что проверка согласованности завершена:

    Get-NetIntentStatus -ClusterName CLUSTER01 -Name Cluster_ComputeStorage
    
  6. Убедитесь, что значение MTU адаптера (JumboPacket) возвращено ожидаемому значению:

    Get-NetAdapterAdvancedProperty -Name pNIC01, pNIC02, vSMB* -RegistryKeyword *JumboPacket -Cimsession (Get-ClusterNode).Name
    

Дополнительные примеры проверки см. в демонстрации Network ATC.

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