Delen via


Een SDN-infrastructuur implementeren met SDN Express

Van toepassing op: Azure Stack HCI, versies 22H2 en 21H2; Windows Server 2022, Windows Server 2019, Windows Server 2016

In dit onderwerp implementeert u een end-to-end SDN-infrastructuur (Software Defined Network) met behulp van SDN Express PowerShell-scripts. De infrastructuur bevat een maximaal beschikbare netwerkcontroller (NC) en optioneel een maximaal beschikbare Software Load Balancer (SLB) en een maximaal beschikbare gateway (GW). De scripts ondersteunen een gefaseerde implementatie, waar u alleen het onderdeel Netwerkcontroller kunt implementeren om een kernset functionaliteit te bereiken met minimale netwerkvereisten.

U kunt ook een SDN-infrastructuur implementeren met Windows Beheer Center of System Center Virtual Machine Manager (VMM). Zie Een cluster maken - Stap 5: SDN en SDN-resources beheren in de VMM-infrastructuur voor meer informatie.

Belangrijk

U kunt Microsoft System Center Virtual Machine Manager 2019 niet gebruiken om clusters met Azure Stack HCI, versie 21H2 of Windows Server 2022 te beheren.

Voordat u begint

Voordat u begint met een SDN-implementatie, moet u uw fysieke en hostnetwerkinfrastructuur plannen en configureren. Raadpleeg de volgende artikelen:

U hoeft niet alle SDN-onderdelen te implementeren. Zie de sectie Gefaseerde implementatie van een softwaregedefinieerde netwerkinfrastructuur plannen om te bepalen welke infrastructuuronderdelen u nodig hebt en voer vervolgens de scripts dienovereenkomstig uit.

Zorg ervoor dat op alle hostservers het Azure Stack HCI-besturingssysteem is geïnstalleerd. Zie Het Azure Stack HCI-besturingssysteem implementeren om dit te doen.

Vereisten

Aan de volgende vereisten moet worden voldaan voor een geslaagde SDN-implementatie:

  • Op alle hostservers moet Hyper-V zijn ingeschakeld.
  • Alle hostservers moeten lid zijn van Active Directory.
  • Er moet een virtuele switch worden gemaakt.
  • Het fysieke netwerk moet worden geconfigureerd voor de subnetten en VLAN's die zijn gedefinieerd in het configuratiebestand.
  • Het SDN Express-script moet worden uitgevoerd vanaf een Computer met Windows Server 2016 of hoger.
  • Het VHDX-bestand dat is opgegeven in het configuratiebestand, moet bereikbaar zijn vanaf de computer waarop het SDN Express-script wordt uitgevoerd.

Het VHDX-bestand downloaden

SDN maakt gebruik van een VHDX-bestand met het Azure Stack HCI- of Windows Server-besturingssysteem (OS) als bron voor het maken van de virtuele SDN-machines (VM's).

Notitie

De versie van het besturingssysteem in uw VHDX moet overeenkomen met de versie die wordt gebruikt door de Azure Stack HCI Hyper-V-hosts. Dit VHDX-bestand wordt gebruikt door alle ONDERDELEN van de SDN-infrastructuur.

Als u een Engelstalige versie van het VHDX-bestand wilt downloaden, raadpleegt u Het Azure Stack HCI-besturingssysteem downloaden vanuit Azure Portal. Zorg ervoor dat u Engelse VHDX selecteert in de vervolgkeuzelijst Taal kiezen.

Op dit moment is een niet-Engels VHDX-bestand niet beschikbaar om te downloaden. Als u een niet-Engelse versie nodig hebt, downloadt u het bijbehorende ISO-bestand en converteert u het naar VHDX met behulp van de Convert-WindowsImage cmdlet. U moet dit script uitvoeren vanaf een Windows-clientcomputer. U moet dit script waarschijnlijk uitvoeren als Beheer istrator en het uitvoeringsbeleid voor scripts wijzigen met behulp van de Set-ExecutionPolicy opdracht.

De volgende syntaxis toont een voorbeeld van het gebruik 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

De GitHub-opslagplaats downloaden

De SDN Express-scriptbestanden zijn live in GitHub. De eerste stap is het ophalen van de benodigde bestanden en mappen op uw implementatiecomputer.

  1. Ga naar de GitHub-opslagplaats van Microsoft SDN.

  2. Vouw in de opslagplaats de vervolgkeuzelijst Code uit en kies vervolgens Clone or Download ZIP om de SDN-bestanden te downloaden naar uw aangewezen implementatiecomputer.

    Notitie

    Op de aangewezen implementatiecomputer moet Windows Server 2016 of hoger worden uitgevoerd.

  3. Pak het ZIP-bestand uit en kopieer de map naar de SDNExpress map van C:\ uw implementatiecomputer.

Het configuratiebestand bewerken

Het PowerShell-configuratiegegevensbestand MultiNodeSampleConfig.psd1 bevat alle parameters en instellingen die nodig zijn voor het SDN Express-script als invoer voor de verschillende parameters en configuratie-instellingen. Dit bestand bevat specifieke informatie over wat moet worden ingevuld op basis van of u alleen het netwerkcontrolleronderdeel implementeert, of de software load balancer en gatewayonderdelen. Zie Een software-gedefinieerd netwerkinfrastructuuronderwerp plannen voor gedetailleerde informatie.

Navigeer naar de C:\SDNExpress\scripts map en open het MultiNodeSampleConfig.psd1 bestand in uw favoriete teksteditor. Wijzig specifieke parameterwaarden zodat deze past bij uw infrastructuur en implementatie:

Algemene instellingen en parameters

De instellingen en parameters worden in het algemeen door SDN gebruikt voor alle implementaties. Zie vereisten voor SDN-infrastructuur-VM-rollen voor specifieke aanbevelingen.

  • VHDPath - VHD-bestandspad dat wordt gebruikt door alle VM's van de SDN-infrastructuur (NC, SLB, GW)
  • VHDFile - VHDX-bestandsnaam die wordt gebruikt door alle VM's van de SDN-infrastructuur
  • VMLocation : bestandspad naar VM's van de SDN-infrastructuur. Houd er rekening mee dat UNC-paden (Universal Naming Convention) niet worden ondersteund. Voor paden op basis van clusteropslag gebruikt u een indeling zoals C:\ClusterStorage\...
  • JoinDomain - domein waaraan VM's van de SDN-infrastructuur zijn gekoppeld
  • SDNMacPoolStart - mac-adres voor vm's met clientworkloads beginnen
  • SDNMacPoolEnd - adres van mac-eindgroep voor vm's met clientworkload
  • ManagementSubnet - beheernetwerksubnet dat door NC wordt gebruikt voor het beheren van Hyper-V-hosts, SLB en GW-onderdelen
  • ManagementGateway - Gatewayadres voor het beheernetwerk
  • ManagementDNS - DNS-server voor het beheernetwerk
  • ManagementVLANID - VLAN-id voor het beheernetwerk
  • DomainJoinUsername - gebruikersnaam van beheerder. Houd er rekening mee dat de gebruikersnaam de volgende indeling moet hebben: domainname\username. Als het domein bijvoorbeeld is contoso.com, voert u de gebruikersnaam in als contoso\<username>. Gebruik geen indelingen zoals contoso.com\<username> of username@contoso.com
  • Local Beheer DomainUser - gebruikersnaam van lokale beheerder. Houd er rekening mee dat de gebruikersnaam de volgende indeling moet hebben: domainname\username. Als het domein bijvoorbeeld is contoso.com, voert u de gebruikersnaam in als contoso\<username>. Gebruik geen indelingen zoals contoso.com\<username> of username@contoso.com
  • RestName - DNS-naam die wordt gebruikt door beheerclients (zoals Windows Beheer Center) om te communiceren met NC
  • RestIpAddress - Statisch IP-adres voor uw REST API, die wordt toegewezen vanuit uw beheernetwerk. Het kan worden gebruikt voor DNS-omzetting of OP REST IP gebaseerde implementaties
  • HyperVHosts - hostservers die moeten worden beheerd door netwerkcontroller
  • NCUsername - Gebruikersnaam van netwerkcontrolleraccount
  • ProductKey - productcode voor VM's met SDN-infrastructuur
  • SwitchName : alleen vereist als er meer dan één virtuele switch bestaat op de Hyper-V-hosts
  • VMMemory : geheugen (in GB) toegewezen aan infrastructuur-VM's. De standaardwaarde is 4 GB
  • VMProcessorCount : het aantal processors dat is toegewezen aan infrastructuur-VM's. De standaardwaarde is 8
  • Landinstelling : indien niet opgegeven, wordt de landinstelling van de implementatiecomputer gebruikt
  • Tijdzone: indien niet opgegeven, wordt de lokale tijdzone van de implementatiecomputer gebruikt

Wachtwoorden kunnen optioneel worden opgenomen als versleutelde beveiligde tekenreeksen met tekstcodering. Wachtwoorden worden alleen gebruikt als SDN Express-scripts worden uitgevoerd op dezelfde computer waarop wachtwoorden zijn versleuteld, anders wordt er om deze wachtwoorden gevraagd:

  • DomainJoinSecurePassword - voor domeinaccount
  • Local Beheer SecurePassword - voor lokaal beheerdersaccount
  • NCSecurePassword - voor netwerkcontrolleraccount

Sectie Netwerkcontroller-VM

Er worden minimaal drie netwerkcontroller-VM's aanbevolen voor SDN.

De NCs = @() sectie wordt gebruikt voor de vm's van de netwerkcontroller. Zorg ervoor dat het MAC-adres van elke NC-VM buiten het SDNMACPool bereik valt dat wordt vermeld in de algemene instellingen.

  • Computernaam - naam van NC-VM
  • HostName : hostnaam van de server waarop de NC-VM zich bevindt
  • ManagementIP - IP-adres van beheernetwerk voor de NC-VM
  • MACAddress - MAC-adres voor de NC-VM

Sectie Over vm's van software load balancer

Minimaal twee software load balancer-VM's worden aanbevolen voor SDN.

De Muxes = @() sectie wordt gebruikt voor de SLB-VM's. Zorg ervoor dat de MACAddress en PAMACAddress parameters van elke SLB-VM buiten het SDNMACPool bereik vallen dat wordt vermeld in de algemene instellingen. Zorg ervoor dat u de PAIPAddress parameter van buiten de PA-pool krijgt die is opgegeven in het configuratiebestand, maar een deel van het PASubnet dat is opgegeven in het configuratiebestand.

Laat deze sectie leeg (Muxes = @()) als u het SLB-onderdeel niet implementeert:

  • Computernaam - naam van SLB-VM
  • HostName : hostnaam van de server waar de SLB-VM zich bevindt
  • ManagementIP - IP-adres van het beheernetwerk voor de SLB-VM
  • MACAddress - MAC-adres voor de SLB-VM
  • PAIPAddress - IP-adres van providernetwerk (PA) voor de SLB-VM
  • PAMACAddress - IP-adres providernetwerk (PA) voor de SLB-VM

Sectie Gateway-VM

Minimaal twee gateway-VM's (één actief en één redundant) worden aanbevolen voor SDN.

De Gateways = @() sectie wordt gebruikt voor de gateway-VM's. Zorg ervoor dat de MACAddress parameter van elke gateway-VM zich buiten het SDNMACPool bereik bevindt dat wordt vermeld in de algemene instellingen. De FrontEndMac en BackendMac moeten binnen het SDNMACPool bereik liggen. Zorg ervoor dat u de FrontEndMac en de BackendMac parameters aan het einde van het SDNMACPool bereik krijgt.

Laat deze sectie leeg (Gateways = @()) als u het gatewayonderdeel niet implementeert:

  • Computernaam - naam van gateway-VM
  • HostName : hostnaam van de server waar de gateway-VM zich bevindt
  • ManagementIP - IP-adres van het beheernetwerk voor de gateway-VM
  • MACAddress - MAC-adres voor de gateway-VM
  • FrontEndMac - Mac-adres providernetwerk voor de gateway-VM
  • BackEndMac - Mac-adres van providernetwerkback-end voor de gateway-VM

Aanvullende instellingen voor SLB en Gateway

De volgende aanvullende parameters worden gebruikt door SLB- en gateway-VM's. Laat deze waarden leeg als u geen SLB- of gateway-VM's implementeert:

  • SDNASN - Autonome systeemnummer (ASN) die door SDN wordt gebruikt om te peeren met netwerkswitches
  • RouterASN - GATEWAYrouter ASN
  • RouterIPAddress - IP-adres van gatewayrouter
  • PrivateVIPSubnet - VIRTUEEL IP-adres (VIP) voor het privésubnet
  • PublicVIPSubnet - virtueel IP-adres voor het openbare subnet

De volgende aanvullende parameters worden alleen gebruikt door gateway-VM's. Laat deze waarden leeg als u geen gateway-VM's implementeert:

  • PoolName - poolnaam die wordt gebruikt door alle gateway-VM's

  • GRESubnet - VIP-subnet voor GRE (als u GRE-verbindingen gebruikt)

  • Capaciteit : capaciteit inKbways voor elke gateway-VM in de pool

  • RedundantCount : het aantal gateways in de redundante modus. De standaardwaarde is 1. Redundante gateways hebben geen actieve verbindingen. Zodra een actieve gateway uitvalt, worden de verbindingen van die gateway verplaatst naar de redundante gateway en wordt de redundante gateway actief.

    Notitie

    Als u een waarde voor RedundantCount invult, moet u ervoor zorgen dat het totale aantal gateway-VM's ten minste één meer is dan redundantcount. RedundantCount is standaard 1, dus u moet ten minste twee gateway-VM's hebben om ervoor te zorgen dat er ten minste 1 actieve gateway is om gatewayverbindingen te hosten.

Instellingen voor tenant-overlaynetwerken

De volgende parameters worden gebruikt als u gevirtualiseerde overlaynetwerken voor tenants implementeert en beheert. Als u in plaats daarvan netwerkcontroller gebruikt om traditionele VLAN-netwerken te beheren, kunnen deze waarden leeg blijven.

  • PASubnet - subnet voor het PA-netwerk (Provider Address)
  • PAVLANID - VLAN-id voor het PA-netwerk
  • PAGateway - IP-adres voor de PA-netwerkgateway
  • PAPoolStart - begin-IP-adres voor de PA-netwerkgroep
  • PAPoolEnd - eind-IP-adres voor de PA-netwerkgroep

Hier ziet u hoe het logische netwerk van hyper-V-netwerkvirtualisatie (HNV) Provider IP-adressen toewijst. Gebruik deze optie om uw adresruimte voor het HNV Provider-netwerk te plannen.

  • Wijst twee IP-adressen toe aan elke fysieke server
  • Wijst één IP-adres toe aan elke SLB MUX-VM
  • Wijst één IP-adres toe aan elke gateway-VM

Het implementatiescript uitvoeren

Met het SDN Express-script wordt uw opgegeven SDN-infrastructuur geïmplementeerd. Wanneer het script is voltooid, is uw SDN-infrastructuur gereed om te worden gebruikt voor VM-workloadimplementaties.

  1. Bekijk het bestand voor informatie over het README.md uitvoeren van het implementatiescript.

  2. Voer de volgende opdracht uit vanuit een gebruikersaccount met beheerdersreferenties voor de clusterhostservers:

    SDNExpress\scripts\SDNExpress.ps1 -ConfigurationDataFile MultiNodeSampleConfig.psd1 -Verbose
    
  3. Nadat de NC-VM's zijn gemaakt, configureert u dynamische DNS-updates voor de naam van het netwerkcontrollercluster op de DNS-server. Zie Dynamische DNS-updates voor meer informatie.

Voorbeeldbestanden voor configuratie

De volgende configuratievoorbeeldbestanden voor het implementeren van SDN zijn beschikbaar in de GitHub-opslagplaats van Microsoft SDN:

  • Traditionele VLAN networks.psd1 - Netwerkcontroller implementeren voor het beheren van netwerkbeleid zoals microsegmentatie en Quality of Service op traditionele VLAN-netwerken.

  • Gevirtualiseerde networks.psd1 - Netwerkcontroller implementeren voor het beheren van virtuele netwerken en netwerkbeleid op virtuele netwerken.

  • Software Load Balancer.psd1 - Netwerkcontroller en Software Load Balancer implementeren voor taakverdeling op virtuele netwerken.

  • SDN Gateways.psd1 - Netwerkcontroller, Software Load Balancer en Gateway implementeren voor connectiviteit met externe netwerken.

SDN-netwerkcontroller opnieuw implementeren

Als de implementatie van de netwerkcontroller mislukt of als u deze opnieuw wilt implementeren, gaat u als volgt te werk:

  1. Verwijder alle netwerkcontroller-VM's en de bijbehorende VHD's van alle serverknooppunten.

  2. Verwijder de volgende registersleutels van alle hosts door deze opdracht uit te voeren:

     Remove-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Services\NcHostAgent\Parameters\' -Name Connections
     Remove-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Services\NcHostAgent\Parameters\' -Name NetworkControllerNodeNames
    
  3. Nadat u de registersleutel hebt verwijderd, verwijdert u het cluster uit het Windows Beheer Center-beheer en voegt u het vervolgens weer toe.

    Notitie

    Als u deze stap niet uitvoert, ziet u mogelijk niet de wizard SDN-implementatie in Windows Beheer Center.

  4. (Aanvullende stap alleen als u van plan bent om de netwerkcontroller te verwijderen en deze niet opnieuw te implementeren) Voer de volgende cmdlet uit op alle servers in uw Azure Stack HCI-cluster en sla de laatste stap over.

    Disable-VMSwitchExtension -VMSwitchName "<Compute vmswitch name>" -Name "Microsoft Azure VFP Switch Extension"
    
  5. Voer de implementatiewizard opnieuw uit.

Volgende stappen