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


Управление Network ATC

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

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

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

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

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

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

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

    Get-NetIntentStatus -ClusterName HCI01
    

    Примечание

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

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

    Get-NetIntentStatus -ClusterName HCI01
    

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

Изменение виртуальных ЛС по умолчанию для систем хранения или управления

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

Add-NetIntent -Name MyIntent -ClusterName HCI01 -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 HCI01
    
  3. Убедитесь, что сетевые адаптеры успешно добавлены в намерение.

        Get-NetIntent -Name Cluster_Compute -ClusterName HCI01
    

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Если этот параметр отключен:

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

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

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

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

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

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

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

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

Чтобы добавить GlobalOverride с сетевым ATC, выполните приведенные далее действия.

$clusterOverride = New-NetIntentGlobalClusterOverrides

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

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

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

Set-NetIntent -GlobalClusterOverrides $clusterOverride

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

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 — это параметр true или false, который определяет, следует ли включить автоматическое обнаружение веб-прокси (WPAD).

Набор параметров AutoDetect:

AutoConfigUrl. Параметр AutoConfigUrl принимает строку с URL-адресом прокси-сервера для использования в качестве входных данных для трафика HTTP и (или) HTTPS. Для обоих классов трафика используйте точку с запятой для разделения. Это обязательный параметр.

AutoDetect. Как и в приведенном выше параметре AutoDetect, это параметр true или false, который определяет, следует ли включить автоматическое обнаружение веб-прокси (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. Создайте объект переопределения для конфигурации качества обслуживания (QoS) DCB:

    $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
}

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

$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), настройте ограничение пропускной способности, чтобы динамическая миграция не потребляла всю пропускную способность, используемую Локальные дисковые пространства и отказоустойчивой кластеризации.

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

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

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

Сетевая 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 HCI01 -Name Cluster_ComputeStorage -NodeName Node01
    
  5. Убедитесь, что проверка согласованности завершена:

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

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

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

Дальнейшие действия