Управление сетевыми ATC

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

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

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

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

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

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

    Add-ClusterNode -Cluster HCI01
    Get-ClusterNode
    
  2. Проверьте состояние на всех узлах кластера с помощью -ClusterName параметра.

    Get-NetIntentStatus -ClusterName HCI01
    

    Примечание

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

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

    Get-NetIntentStatus -ClusterName HCI01
    

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

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

Вы можете использовать виртуальные локальные сети по умолчанию, указанные в Network ATC, или использовать значения, относящиеся к вашей среде. Для этого используйте параметр -ManagementVLAN и -StorageVLAN в 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
    

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

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

Важно!

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

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

    Get-Command -Noun NetIntent*Over* -Module NetworkATC
    
  2. Создайте объект переопределения для конфигурации качества обслуживания DCB (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, созданных для намерений. Network ATC делает точку не уничтожать вещи в вашей системе, что обычно является хорошей вещью, но это означает, что вы должны выполнить некоторые действия вручную, чтобы начать заново.

Чтобы удалить все намерения сети и удалить виртуальные коммутаторы и конфигурации NetQoS, созданные Network 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, в том числе следующие:

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

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

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

    • Все узлы в кластере должны использовать одно и то же намерение.
    • Автоматическая подготовка реплики хранилища отсутствует.

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

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

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

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

    Set-NetAdapterAdvancedProperty -Name pNIC01 -RegistryKeyword *JumboPacket -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
    
  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.

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