Развертывание инфраструктуры SDN с помощью SDN Express
Область применения: Azure Stack HCI, версии 22H2 и 21H2; Windows Server 2022, Windows Server 2019, Windows Server 2016
Внимание
Azure Stack HCI теперь является частью Azure Local. Выполняется переименование документации по продукту. Однако старые версии Azure Stack HCI, например 22H2, будут продолжать ссылаться на Azure Stack HCI и не отражают изменение имени. Подробнее.
В этом разделе описано, как развернуть сквозную инфраструктуру программно-определяемой сети (SDN) с помощью скриптов SDN Express PowerShell. Инфраструктура включает высокодоступный сетевой контроллер (NC) и, при необходимости, высокодоступную подсистему балансировки нагрузки программного обеспечения (SLB) и высокодоступный шлюз (GW). Скрипты поддерживают поэтапное развертывание, где можно развернуть только компонент сетевого контроллера для достижения основного набора функциональных возможностей с минимальными требованиями к сети.
Вы также можете развернуть инфраструктуру SDN с помощью Windows Admin Center или с помощью System Center диспетчер виртуальных машин (VMM). Дополнительные сведения см. в разделе "Создание кластера " Шаг 5. SDN и управление ресурсами SDN в структуре VMM".
Внимание
Вы не можете использовать Microsoft System Center диспетчер виртуальных машин 2019 для управления кластерами под управлением Azure Stack HCI версии 21H2 или Windows Server 2022.
Подготовка к работе
Прежде чем приступить к развертыванию SDN, спланируйте и настройте физическую и сетевую инфраструктуру узла. См. следующие статьи:
- Требования к физической сети
- Требования к сети узла
- Создание кластера с помощью Windows Admin Center
- Создание кластера с помощью Windows PowerShell
- Планирование инфраструктуры программно-определяемой сети
Вам не нужно развертывать все компоненты 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. Этот VHDX-файл используется всеми компонентами инфраструктуры SDN.
Чтобы скачать версию VHDX-файла на английском языке, см. статью "Скачать операционную систему из портал 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 больше не доступны на сайте GitHub.
Установка модуля SDN Express PowerShell
Выполните следующую команду, чтобы установить последнюю версию модуля SDN Express PowerShell на компьютере, на котором требуется запустить установку SDN:
Install-Module -Name SDNExpress
Файлы автоматически устанавливаются в каталог модуля PowerShell по умолчанию: **C:\Program Files\WindowsPowerShell\Modules\SdnExpress**.
Изменение файла конфигурации
Файл данных конфигурации 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\scripts\SDNExpress.ps1 -ConfigurationDataFile MultiNodeSampleConfig.psd1 -Verbose
После создания виртуальных машин NC настройте динамические обновления DNS для имени кластера сетевого контроллера на DNS-сервере. Дополнительные сведения см. в разделе "Динамические обновления DNS".
Примеры файлов конфигурации
В репозитории GitHub Microsoft SDN доступны следующие примеры файлов конфигурации для развертывания SDN:
Традиционные сети VLAN.psd1 — развертывание сетевого контроллера для управления политиками сети, такими как микросегментация и качество обслуживания в традиционных сетях виртуальной локальной сети.
Virtualized networks.psd1 — развертывание сетевого контроллера для управления виртуальными сетями и политиками сети в виртуальных сетях.
Software Load Balancer.psd1 — развертывание сетевого контроллера и программного подсистемы балансировки нагрузки для балансировки нагрузки в виртуальных сетях.
SDN Gateways.psd1 — развертывание сетевого контроллера, программного балансировщика нагрузки и шлюза для подключения к внешним сетям.
Повторное развертывание сетевого контроллера SDN
Если развертывание сетевого контроллера завершается ошибкой или вы хотите развернуть его еще раз, сделайте следующее:
Удалите все виртуальные машины сетевого контроллера и их виртуальные жесткие диски со всех компьютеров.
Удалите следующие разделы реестра со всех компьютеров, выполнив следующую команду:
Remove-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Services\NcHostAgent\Parameters\' -Name Connections Remove-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Services\NcHostAgent\Parameters\' -Name NetworkControllerNodeNames
После удаления раздела реестра удалите кластер из управления Windows Admin Center и добавьте его обратно.
Примечание.
Если этот шаг не выполняется, в Windows Admin Center может не отображаться мастер развертывания SDN.
(Дополнительный шаг только в том случае, если вы планируете удалить сетевой контроллер и не развернуть его снова) Выполните следующий командлет на всех компьютерах в локальном экземпляре Azure, а затем пропустите последний шаг.
Disable-VMSwitchExtension -VMSwitchName "<Compute vmswitch name>" -Name "Microsoft Azure VFP Switch Extension"
Снова запустите мастер развертывания.