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


Развертывание инфраструктуры SDN с помощью SDN Express

Область применения: Azure Stack HCI, версии 22H2 и 21H2; Windows Server 2022, Windows Server 2019, Windows Server 2016

В этом разделе описано, как развернуть сквозную инфраструктуру программно-определяемой сети (SDN) с помощью скриптов SDN Express PowerShell. Инфраструктура включает высокодоступный сетевой контроллер (NC) и, при необходимости, высокодоступную подсистему балансировки нагрузки программного обеспечения (SLB) и высокодоступный шлюз (GW). Скрипты поддерживают поэтапное развертывание, где можно развернуть только компонент сетевого контроллера для достижения основного набора функциональных возможностей с минимальными требованиями к сети.

Вы также можете развернуть инфраструктуру SDN с помощью Центра Администратор Windows или с помощью System Center диспетчер виртуальных машин (VMM). Дополнительные сведения см. в статье "Создание кластера — шаг 5. SDN" и управление ресурсами SDN в структуре VMM.

Внимание

Вы не можете использовать Microsoft System Center диспетчер виртуальных машин 2019 для управления кластерами под управлением Azure Stack HCI версии 21H2 или Windows Server 2022.

Подготовка к работе

Прежде чем приступить к развертыванию SDN, спланируйте и настройте физическую и сетевую инфраструктуру узла. См. следующие статьи:

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

Убедитесь, что на всех серверах узлов установлена операционная система Azure Stack HCI. Сведения о том, как это сделать, см. в статье "Развертывание операционной системы Azure Stack HCI".

Требования

Для успешного развертывания SDN необходимо выполнить следующие требования:

  • Все серверы узлов должны иметь функцию Hyper-V.
  • Все серверы узлов должны быть присоединены к Active Directory.
  • Необходимо создать виртуальный коммутатор.
  • Физическая сеть должна быть настроена для подсетей и виртуальных ЛС, определенных в файле конфигурации.
  • Скрипт SDN Express должен выполняться с компьютера Windows Server 2016 или более поздней версии.
  • VHDX-файл, указанный в файле конфигурации, должен быть доступен с компьютера, на котором выполняется скрипт SDN Express.

Скачивание VHDX-файла

SDN использует VHDX-файл, содержащий операционную систему Azure Stack HCI или Операционную систему Windows Server в качестве источника для создания виртуальных машин SDN (виртуальных машин).

Примечание.

Версия ОС в VHDX должна соответствовать версии, используемой узлами Hyper-V Azure Stack HCI. Этот VHDX-файл используется всеми компонентами инфраструктуры SDN.

Чтобы скачать версию VHDX-файла на английском языке, см. статью "Скачать операционную систему Azure Stack HCI" из портал Azure. Выберите английский VHDX в раскрывающемся списке "Выбор языка".

В настоящее время файл VHDX, отличный от английского языка, недоступен для скачивания. Если требуется версия, не на английском языке, скачайте соответствующий ISO-файл и преобразуйте его в VHDX с помощью командлета Convert-WindowsImage . Этот сценарий необходимо запустить с клиентского компьютера Windows. Возможно, вам потребуется запустить этот скрипт как Администратор istrator и изменить политику выполнения для сценариев с помощью Set-ExecutionPolicy команды.

В следующем синтаксисе показан пример использования Convert-WindowsImage:

Install-Module -Name Convert-WindowsImage
Import-Module Convert-WindowsImage

$wimpath = "E:\sources\install.wim"
$vhdpath = "D:\temp\AzureStackHCI.vhdx"
$edition=1
Convert-WindowsImage -SourcePath $wimpath -Edition $edition -VHDPath $vhdpath -SizeBytes 500GB -DiskLayout UEFI

Скачивание репозитория GitHub

Файлы скриптов SDN Express живут в GitHub. Первым шагом является получение необходимых файлов и папок на компьютере развертывания.

  1. Перейдите в репозиторий Microsoft SDN GitHub .

  2. В репозитории разверните раскрывающийся список "Код" , а затем выберите "Клонировать " или "Скачать ZIP", чтобы скачать SDN-файлы на назначенный компьютер развертывания.

    Примечание.

    Назначенный компьютер развертывания должен работать под управлением Windows Server 2016 или более поздней версии.

  3. Извлеките ZIP-файл и скопируйте папку в папку SDNExpress компьютера C:\ развертывания.

Изменение файла конфигурации

Файл данных конфигурации PowerShell MultiNodeSampleConfig.psd1 содержит все параметры и параметры, необходимые для скрипта SDN Express в качестве входных данных для различных параметров и параметров конфигурации. Этот файл содержит конкретные сведения о том, что необходимо заполнить в зависимости от того, развертываете ли вы только компонент сетевого контроллера, а также компоненты подсистемы балансировки нагрузки программного обеспечения и шлюза. Подробные сведения см. в разделе "Планирование программно-определяемой сетевой инфраструктуры ".

Перейдите C:\SDNExpress\scripts в папку и откройте MultiNodeSampleConfig.psd1 файл в избранном текстовом редакторе. Измените определенные значения параметров, чтобы соответствовать инфраструктуре и развертыванию:

Общие параметры и параметры

Параметры и параметры используются SDN в целом для всех развертываний. Дополнительные рекомендации см. в разделе "Требования к роли виртуальной машины инфраструктуры SDN".

  • VHDPath — путь к файлу VHD, используемый всеми виртуальными машинами инфраструктуры SDN (NC, SLB, GW)
  • VHDFile — имя VHDX-файла, используемое всеми виртуальными машинами инфраструктуры SDN
  • VMLocation — путь к виртуальным машинам инфраструктуры SDN. Обратите внимание, что пути универсального именования (UNC) не поддерживаются. Для путей на основе хранилища кластера используйте такой формат: C:\ClusterStorage\...
  • JoinDomain — домен, к которому присоединены виртуальные машины инфраструктуры SDN
  • SDNMacPoolStart — начало адреса пула MAC для виртуальных машин рабочей нагрузки клиента
  • SDNMacPoolEnd — адрес пула MAC для виртуальных машин рабочей нагрузки клиента
  • ManagementSubnet — подсеть сети управления, используемая NC для управления узлами Hyper-V, SLB и GW
  • ManagementGateway — адрес шлюза для сети управления
  • ManagementDNS — DNS-сервер для сети управления
  • ManagementVLANID — идентификатор виртуальной локальной сети для сети управления
  • DomainJoinUsername — имя администратора. Обратите внимание, что имя пользователя должно быть в следующем формате: domainname\username Например, если домен имеется contoso.com, введите имя пользователя в качестве contoso\<username>имени пользователя. Не используйте форматы, например contoso.com\<username> или username@contoso.com
  • Local Администратор DomainUser — имя пользователя локального администратора. Обратите внимание, что имя пользователя должно быть в следующем формате: domainname\username Например, если домен имеется contoso.com, введите имя пользователя в качестве contoso\<username>имени пользователя. Не используйте форматы, например contoso.com\<username> или username@contoso.com
  • RestName — DNS-имя, используемое клиентами управления (например, Windows Администратор Center) для взаимодействия с NC
  • RestIpAddress — статический IP-адрес для REST API, который выделяется из сети управления. Его можно использовать для разрешения DNS или развертываний на основе REST IP-адресов.
  • HyperVHosts — серверы узлов, управляемые сетевым контроллером
  • NCUsername — имя пользователя учетной записи сетевого контроллера
  • ProductKey — ключ продукта для виртуальных машин инфраструктуры SDN
  • SwitchName — требуется только в том случае, если на узлах Hyper-V существует несколько виртуальных коммутаторов.
  • VMMemory — память (в ГБ), назначенная виртуальным машинам инфраструктуры. Значение по умолчанию — 4 ГБ
  • VMProcessorCount — количество процессоров, назначенных виртуальным машинам инфраструктуры. Значение по умолчанию — 8
  • Языковой стандарт — если он не указан, используется языковой стандарт компьютера развертывания
  • TimeZone — если не указано, используется локальный часовой пояс компьютера развертывания.

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

  • DomainJoinSecurePassword — для учетной записи домена
  • Local Администратор SecurePassword — для учетной записи локального администратора
  • NCSecurePassword — для учетной записи сетевого контроллера

Раздел виртуальной машины сетевого контроллера

Для SDN рекомендуется использовать не менее трех виртуальных машин сетевого контроллера.

Этот NCs = @() раздел используется для виртуальных машин сетевого контроллера. Убедитесь, что MAC-адрес каждой виртуальной машины NC находится за пределами SDNMACPool диапазона, указанного в параметрах "Общие".

  • Имя компьютера — имя виртуальной машины NC
  • HostName — имя узла сервера, на котором находится виртуальная машина NC
  • ManagementIP — IP-адрес сети управления для виртуальной машины NC
  • MACAddress — MAC-адрес для виртуальной машины NC

Раздел виртуальной машины Software Load Balancer

Для SDN рекомендуется использовать не менее двух виртуальных машин Подсистемы балансировки нагрузки программного обеспечения.

Этот Muxes = @() раздел используется для виртуальных машин SLB. Убедитесь, что MACAddress параметры каждой PAMACAddress виртуальной машины SLB находятся за пределами SDNMACPool диапазона, указанного в параметрах "Общие". Убедитесь, что параметр получен PAIPAddress из-за пределов пула PA, указанного в файле конфигурации, но часть PASubnet, указанная в файле конфигурации.

Оставьте этот раздел пустым () еслиMuxes = @() не развертывать компонент SLB:

  • Имя компьютера — имя виртуальной машины SLB
  • HostName — имя узла сервера, на котором находится виртуальная машина SLB
  • ManagementIP — IP-адрес сети управления для виртуальной машины SLB
  • MACAddress — MAC-адрес для виртуальной машины SLB
  • PAIPAddress — IP-адрес сети поставщика (PA) для виртуальной машины SLB
  • PAMACAddress — IP-адрес сети поставщика (PA) для виртуальной машины SLB

Раздел виртуальной машины шлюза

Для SDN рекомендуется использовать не менее двух виртуальных машин шлюза (один активный и один избыточный).

Этот Gateways = @() раздел используется для виртуальных машин шлюза. Убедитесь, что MACAddress параметр каждой виртуальной машины шлюза находится за пределами SDNMACPool диапазона, указанного в параметрах "Общие". BackendMac Он FrontEndMac должен находиться в SDNMACPool пределах диапазона. Убедитесь, что вы получите FrontEndMac и BackendMac параметры из конца SDNMACPool диапазона.

Оставьте этот раздел пустым (Gateways = @()) если не развертывать компонент шлюза:

  • Имя компьютера — имя виртуальной машины шлюза
  • HostName — имя узла сервера, на котором находится виртуальная машина шлюза
  • ManagementIP — IP-адрес сети управления для виртуальной машины шлюза
  • MACAddress — MAC-адрес для виртуальной машины шлюза
  • FrontEndMac — сетевой внешний MAC-адрес поставщика для виртуальной машины шлюза
  • BackEndMac — сетевой серверный MAC-адрес поставщика для виртуальной машины шлюза

Дополнительные параметры для SLB и шлюза

Следующие дополнительные параметры используются виртуальными машинами SLB и шлюза. Оставьте эти значения пустыми, если вы не развертываете виртуальные машины SLB или шлюза:

  • SDNASN — номер автономной системы (ASN), используемый SDN для пирринга с сетевыми коммутаторами
  • МаршрутизаторASN — ASN маршрутизатора шлюза
  • МаршрутизаторIPAddress — IP-адрес маршрутизатора шлюза
  • PrivateVIPSubnet — виртуальный IP-адрес (VIP) для частной подсети
  • PublicVIPSubnet — виртуальный IP-адрес для общедоступной подсети

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

  • PoolName — имя пула, используемое всеми виртуальными машинами шлюза

  • GRESubnet — подсеть VIP для GRE (при использовании подключений GRE)

  • Емкость — емкость в кб/с для каждой виртуальной машины шлюза в пуле

  • RedundantCount — количество шлюзов в избыточном режиме. Значение по умолчанию равно 1. Избыточные шлюзы не имеют активных подключений. После перехода активного шлюза подключения из этого шлюза перемещаются к избыточному шлюзу, а избыточный шлюз становится активным.

    Примечание.

    Если вы введите значение Для RedundantCount, убедитесь, что общее количество виртуальных машин шлюза не менее одного, чем Избыточное число. По умолчанию значение "Избыточное число " равно 1, поэтому необходимо иметь не менее 2 виртуальных машин шлюза, чтобы обеспечить наличие по крайней мере 1 активного шлюза для подключений к шлюзу узлов.

Параметры для сетей наложения клиента

При развертывании и управлении виртуализированными сетями для клиентов используются следующие параметры. Если вы используете сетевой контроллер для управления традиционными сетями виртуальной локальной сети, эти значения можно оставить пустым.

  • PASubnet — подсеть для сети "Адрес поставщика" (PA)
  • PAVLANID — идентификатор виртуальной ЛС для сети PA
  • PAGateway — IP-адрес для сетевого шлюза PA
  • PAPoolStart — начальный IP-адрес для сетевого пула PA
  • PAPoolEnd — конечный IP-адрес для сетевого пула PA

Вот как логическая сеть Hyper-V (HNV) поставщик выделяет IP-адреса. Используйте это для планирования адресного пространства для сети поставщика HNV.

  • Выделяет два IP-адреса каждому физическому серверу
  • Выделяет один IP-адрес для каждой виртуальной машины SLB MUX
  • Выделяет один IP-адрес для каждой виртуальной машины шлюза

Выполнение скрипта развертывания

Скрипт SDN Express развертывает указанную инфраструктуру SDN. По завершении скрипта инфраструктура SDN готова к использованию для развертываний рабочих нагрузок виртуальной машины.

  1. Просмотрите файл, чтобы получить подробные README.md сведения о том, как запустить скрипт развертывания.

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

    SDNExpress\scripts\SDNExpress.ps1 -ConfigurationDataFile MultiNodeSampleConfig.psd1 -Verbose
    
  3. После создания виртуальных машин NC настройте динамические обновления DNS для имени кластера сетевого контроллера на DNS-сервере. Дополнительные сведения см. в разделе "Динамические обновления DNS".

Примеры файлов конфигурации

В репозитории GitHub Microsoft SDN доступны следующие примеры файлов конфигурации для развертывания SDN:

  • Традиционные сети VLAN.psd1 — развертывание сетевого контроллера для управления политиками сети, такими как микросегментация и качество обслуживания в традиционных сетях виртуальной локальной сети.

  • Virtualized networks.psd1 — развертывание сетевого контроллера для управления виртуальными сетями и политиками сети в виртуальных сетях.

  • Software Load Balancer.psd1 — развертывание сетевого контроллера и программного подсистемы балансировки нагрузки для балансировки нагрузки в виртуальных сетях.

  • SDN Gateways.psd1 — развертывание сетевого контроллера, программного балансировщика нагрузки и шлюза для подключения к внешним сетям.

Повторное развертывание сетевого контроллера SDN

Если развертывание сетевого контроллера завершается ошибкой или вы хотите развернуть его еще раз, сделайте следующее:

  1. Удалите все виртуальные машины сетевого контроллера и их виртуальные жесткие диски со всех узлов сервера.

  2. Удалите следующие разделы реестра со всех узлов, выполнив следующую команду:

     Remove-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Services\NcHostAgent\Parameters\' -Name Connections
     Remove-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Services\NcHostAgent\Parameters\' -Name NetworkControllerNodeNames
    
  3. После удаления раздела реестра удалите кластер из управления Windows Администратор Center, а затем добавьте его обратно.

    Примечание.

    Если этот шаг не выполняется, в Центре Администратор Windows может не отображаться мастер развертывания SDN.

  4. (Дополнительный шаг только в том случае, если вы планируете удалить сетевой контроллер и не развернуть его снова) Выполните следующий командлет на всех серверах в кластере Azure Stack HCI и пропустите последний шаг.

    Disable-VMSwitchExtension -VMSwitchName "<Compute vmswitch name>" -Name "Microsoft Azure VFP Switch Extension"
    
  5. Снова запустите мастер развертывания.

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