Развертывание инфраструктуры SDN с помощью SDN Express для Azure Stack HCI

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

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

Вы также можете развернуть инфраструктуру SDN System Center диспетчер виртуальных машин (VMM). Дополнительные сведения см . в разделе "Управление ресурсами SDN" в структуре VMM.

Внимание

Если вы развертываете SDN в кластере Azure Stack HCI версии 23H2, убедитесь, что все применимые виртуальные машины инфраструктуры SDN (сетевой контроллер, программные подсистемы балансировки нагрузки, шлюзы) находятся в последнем Обновл. Windows исправлении. Вы можете инициировать обновление из пользовательского интерфейса SConfig на компьютерах. Без последних исправлений могут возникнуть проблемы с подключением. Дополнительные сведения об обновлении инфраструктуры SDN см. в статье Об обновлении инфраструктуры SDN для Azure Stack HCI.

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

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

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

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

Требования

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

  • Все серверы узлов должны иметь функцию Hyper-V.
  • Все серверы узлов должны быть присоединены к Active Directory.
  • Active Directory необходимо подготовить. Дополнительные сведения см. в статье "Подготовка Active Directory".
  • Необходимо создать виртуальный коммутатор . Вы можете использовать параметр по умолчанию, созданный для Azure Stack HCI версии 23H2. Например, вам может потребоваться создать отдельные коммутаторы для трафика вычислений и управления.
  • Физическая сеть должна быть настроена для подсетей и виртуальных ЛС, определенных в файле конфигурации.
  • Скрипт 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. Возможно, вам потребуется запустить этот скрипт от имени администратора и изменить политику выполнения для сценариев с помощью 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

Установка модуля SDN Express PowerShell

Выполните следующую команду, чтобы установить последнюю версию модуля SDN Express PowerShell на компьютере, где требуется выполнить установку SDN:

Install-Module -Name SDNExpress

Файлы автоматически устанавливаются в каталог модуля PowerShell по умолчанию: C:\Program Files\WindowsPowerShell\Modules\SdnExpress\

Примечание.

Файлы скриптов SDN Express больше не доступны на сайте GitHub.

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

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

Перейдите C:\Program Files\WindowsPowerShell\Modules\SdnExpress\ в папку и откройте 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
  • LocalAdminDomainUser — имя пользователя локального администратора. Имя пользователя должно быть в следующем формате: domainname\username Например, если домен имеется contoso.com, введите имя пользователя в качестве contoso\<username>имени пользователя. Не используйте форматы, например contoso.com\<username> или username@contoso.com
  • RestName — DNS-имя, используемое клиентами управления (например, Windows Admin Center) для взаимодействия с NC
  • RestIpAddress — статический IP-адрес для REST API, который выделяется из сети управления. Его можно использовать для разрешения DNS или развертываний на основе REST IP-адресов.
  • HyperVHosts — серверы узлов, управляемые сетевым контроллером
  • NCUsername — имя пользователя учетной записи сетевого контроллера
  • ProductKey — ключ продукта для виртуальных машин инфраструктуры SDN
  • SwitchName — требуется только в том случае, если на узлах Hyper-V существует несколько виртуальных коммутаторов.
  • VMMemory — память (в ГБ), назначенная виртуальным машинам инфраструктуры. Значение по умолчанию — 4 ГБ
  • VMProcessorCount — количество процессоров, назначенных виртуальным машинам инфраструктуры. Значение по умолчанию — 8
  • Языковой стандарт — если он не указан, используется языковой стандарт компьютера развертывания
  • TimeZone — если не указано, используется локальный часовой пояс компьютера развертывания.

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

  • DomainJoinSecurePassword — для учетной записи домена
  • LocalAdminSecurePassword — для учетной записи локального администратора
  • 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.ps1 -ConfigurationDataFile MultiNodeSampleConfig.psd1 -Verbose
    
  3. После создания виртуальных машин NC настройте динамические обновления DNS для имени кластера сетевого контроллера на DNS-сервере. Дополнительные сведения см. в разделе "Динамические обновления DNS".

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

Следующие примеры файлов конфигурации для развертывания SDN доступны в расположении, где установлен модуль PowerShell (C:\Program Files\WindowsPowerShell\Modules\SdnExpress\):

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

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

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

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

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