Развертывание инфраструктуры 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 готова к использованию для развертываний рабочих нагрузок виртуальной машины.
Просмотрите файл, чтобы получить подробные
README.md
сведения о том, как запустить скрипт развертывания.Выполните следующую команду из учетной записи пользователя с учетными данными администратора для серверов узлов кластера:
.\SDNExpress.ps1 -ConfigurationDataFile MultiNodeSampleConfig.psd1 -Verbose
После создания виртуальных машин NC настройте динамические обновления DNS для имени кластера сетевого контроллера на DNS-сервере. Дополнительные сведения см. в разделе "Динамические обновления DNS".
Примеры файлов конфигурации
Следующие примеры файлов конфигурации для развертывания SDN доступны в расположении, где установлен модуль PowerShell (C:\Program Files\WindowsPowerShell\Modules\SdnExpress\
):
Традиционные сети VLAN.psd1 — развертывание сетевого контроллера для управления политиками сети, такими как микросегментация и качество обслуживания в традиционных сетях виртуальной локальной сети.
Virtualized networks.psd1 — развертывание сетевого контроллера для управления виртуальными сетями и политиками сети в виртуальных сетях.
Software Load Balancer.psd1 — развертывание сетевого контроллера и программного подсистемы балансировки нагрузки для балансировки нагрузки в виртуальных сетях.
SDN Gateways.psd1 — развертывание сетевого контроллера, программного балансировщика нагрузки и шлюза для подключения к внешним сетям.