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

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

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

Вы также можете развернуть инфраструктуру SDN с помощью Windows Admin Center или System Center Virtual Machine Manager (VMM). Дополнительные сведения см. в разделах Создание кластера . Шаг 5. SDN и Управление ресурсами SDN в структуре VMM.

Важно!

Вы не можете использовать Microsoft System Center Virtual Machine Manager 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. Скорее всего, вам потребуется запустить этот скрипт от имени администратора и изменить политику выполнения для скриптов с помощью 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
  • 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 диапазона, указанного в разделе Общие параметры.

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

Раздел "Виртуальная машина Load Balancer программного обеспечения"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • GRESubnet — подсеть ВИРТУАЛЬНОГО IP-адреса для GRE (при использовании подключений GRE)

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

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

    Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Дальнейшие действия