Развертывание инфраструктуры 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, спланируйте и настройте физическую и сетевую инфраструктуру узла. См. следующие статьи:
- Требования к физической сети
- Требования к сети узла
- Создание кластера с помощью Центра Администратор Windows
- Создание кластера с помощью 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 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. Первым шагом является получение необходимых файлов и папок на компьютере развертывания.
Перейдите в репозиторий Microsoft SDN GitHub .
В репозитории разверните раскрывающийся список "Код" , а затем выберите "Клонировать " или "Скачать ZIP", чтобы скачать SDN-файлы на назначенный компьютер развертывания.
Примечание.
Назначенный компьютер развертывания должен работать под управлением Windows Server 2016 или более поздней версии.
Извлеките 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>
или[email protected]
- Local Администратор DomainUser — имя пользователя локального администратора. Обратите внимание, что имя пользователя должно быть в следующем формате:
domainname\username
Например, если домен имеетсяcontoso.com
, введите имя пользователя в качествеcontoso\<username>
имени пользователя. Не используйте форматы, напримерcontoso.com\<username>
или[email protected]
- 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 готова к использованию для развертываний рабочих нагрузок виртуальной машины.
Просмотрите файл, чтобы получить подробные
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 Администратор Center, а затем добавьте его обратно.
Примечание.
Если этот шаг не выполняется, в Центре Администратор Windows может не отображаться мастер развертывания SDN.
(Дополнительный шаг только в том случае, если вы планируете удалить сетевой контроллер и не развернуть его снова) Выполните следующий командлет на всех серверах в кластере Azure Stack HCI и пропустите последний шаг.
Disable-VMSwitchExtension -VMSwitchName "<Compute vmswitch name>" -Name "Microsoft Azure VFP Switch Extension"
Снова запустите мастер развертывания.