Wat is Software Load Balancer (SLB) voor SDN?
Van toepassing op: Azure Local 2311.2 en hoger; Windows Server 2022, Windows Server 2019, Windows Server 2016
Cloudserviceproviders (CSP's) en ondernemingen die Software Defined Networking (SDN) implementeren, kunnen Software Load Balancer (SLB) gebruiken om tenant- en tenant-klantnetwerkverkeer gelijkmatig te verdelen over virtuele netwerkresources. Met SLB kunnen meerdere servers dezelfde workload hosten, waardoor hoge beschikbaarheid en schaalbaarheid mogelijk zijn.
Software Load Balancer kan een multitenant, geïntegreerde rand bieden door integratie met SDN-technologieën zoals RAS Gateway, Datacenter Firewall en Route Reflector.
Notitie
Multitenancy voor VLAN's wordt niet ondersteund door netwerkcontroller. U kunt echter VLAN's met SLB gebruiken voor beheerde workloads van serviceproviders, zoals de infrastructuur van het datacenter en high-densitywebservers.
Met Software Load Balancer kunt u de mogelijkheden voor taakverdeling uitschalen met behulp van virtuele SLB-machines (VM's) op dezelfde Hyper-V-rekenservers die u gebruikt voor uw andere VM-workloads. Daarom biedt Software Load Balancer ondersteuning voor het snel maken en verwijderen van taakverdelingseindpunten, zoals vereist voor CSP-bewerkingen. Bovendien biedt Software Load Balancer ondersteuning voor tientallen gigabytes per systeem, biedt een eenvoudig inrichtingsmodel en is eenvoudig uit te schalen en in te schalen.
Zie Software Load Balancer beheren voor SDN voor meer informatie over het beheren van Software Load Balancer-beleid met windows-beheercentrum.
Wat bevat Software Load Balancer?
Software Load Balancer bevat de volgende mogelijkheden:
Taakverdelingsservices voor laag 4 (L4) voor verkeer tussen noord/zuid en oost/west TCP/UDP.
Taakverdeling voor openbaar netwerk en intern netwerkverkeer.
Ondersteuning voor dynamische IP-adressen (DIPs) op VLAN's (Virtual Local Area Networks) en op virtuele netwerken die u maakt met hyper-V-netwerkvirtualisatie.
Ondersteuning voor gezondheidsonderzoek.
Klaar voor cloudomvang, inclusief uitbreidingsvermogen en opskalingsvermogen voor multiplexers en hostagents.
Zie De functies van Software Load Balancer in dit artikel voor meer informatie.
Hoe Software Load Balancer werkt
Een software-loadbalancer werkt door virtuele IP-adressen (VIP's) toe te wijzen aan DIPs, die deel uitmaken van een set clouddiensten en middelen in het datacenter.
VIPs zijn een IP-adres dat toegang biedt tot een pool van gelijkmatig verdeelde virtuele machines. VIP's zijn bijvoorbeeld IP-adressen die beschikbaar zijn op internet, zodat tenants en tenantklanten verbinding kunnen maken met tenantresources in het clouddatacenter.
DIPs zijn de IP-adressen van de VM's in een load-balanced pool achter de VIP. DIPs worden binnen de cloudinfrastructuur toegewezen aan de tenantbronnen.
VIP's bevinden zich in de SLB Multiplexer (MUX). De MUX bestaat uit een of meer VM's. Netwerkcontroller geeft elke MUX toegang tot elke VIP, en elke MUX gebruikt op zijn beurt het Border Gateway Protocol (BGP) om elke VIP als een /32 route aan te kondigen aan routers op het fysieke netwerk. BGP stelt de fysieke netwerkrouters in staat om:
Leer dat een VIP beschikbaar is op elke MUX, zelfs als de MUXes zich op verschillende subnetten in een Laag 3-netwerk bevinden.
Verspreid de belasting voor elke VIP over alle beschikbare MUXes met Equal Cost Multi-Path (ECMP)-routering.
Automatisch een MUX-fout of -verwijdering detecteren en stoppen met het verzenden van verkeer naar de mislukte MUX.
Verdeel de belasting van de mislukte of verwijderde MUX over de gezonde MUXes.
Wanneer er openbaar verkeer van het internet aankomt, onderzoekt de SLB MUX dit verkeer, dat de VIP als bestemming heeft, en routeert en herschrijft het zodat het bij een afzonderlijke DIP aankomt. Voor binnenkomend netwerkverkeer wordt deze transactie uitgevoerd in een proces in twee stappen dat wordt gesplitst tussen de MUX-VM's en de Hyper-V-host waar het doel-DIP zich bevindt:
Taakverdeling - de MUX gebruikt de VIP en selecteert een DIP, kapselt het pakket in en verzendt het verkeer naar de Hyper-V-host waar de DIP zich bevindt.
Network Address Translation (NAT) - de Hyper-V-host verwijdert de inkapseling uit het pakket, vertaalt het VIP naar een DIP, herconfigureert de poorten en stuurt het pakket door naar de DIP VM.
De MUX weet hoe VIP's aan de juiste DIPs toegewezen moeten worden vanwege de loadbalancing-beleidsregels die u definieert met behulp van de netwerkcontroller. Deze regels omvatten protocol, front-endpoort, back-endpoort en distributie-algoritme (5, 3 of 2 tuples).
Wanneer tenant-VM's reageren en uitgaand netwerkverkeer terugsturen naar internet- of externe tenantlocaties, omdat de NAT wordt uitgevoerd door de Hyper-V-host, wordt het verkeer de MUX omzeild en gaat het rechtstreeks naar de edge-router vanaf de Hyper-V-host. Het MUX-bypassproces wordt Direct Server Return (DSR) genoemd.
En nadat de initiële netwerkverkeerstroom tot stand is gebracht, omzeilt het inkomend netwerkverkeer de SLB MUX volledig.
In de volgende afbeelding voert een clientcomputer een DNS-query uit voor het IP-adres van een SharePoint-site van een bedrijf, in dit geval een fictief bedrijf met de naam Contoso. Het volgende proces vindt plaats:
De DNS-server retourneert het VIP 107.105.47.60 naar de client.
De client stuurt een HTTP-aanvraag naar het VIP.
Het fysieke netwerk heeft meerdere paden om de VIP op een MUX te bereiken. Elke router langs de route gebruikt ECMP om het volgende segment van het pad te selecteren totdat het verzoek bij een MUX aankomt.
De MUX die de aanvraag ontvangt, controleert de geconfigureerde beleidsregels en ziet dat er twee DIPs beschikbaar zijn, 10.10.10.5 en 10.10.20.5, op een virtueel netwerk om de aanvraag voor de VIP 107.105.47.60 af te handelen.
De MUX selecteert DIP 10.10.10.5 en kapselt de pakketten in met VXLAN, zodat deze naar de host met het DIP kan worden verzonden met behulp van het fysieke netwerkadres van de host.
De host het ingekapselde pakket ontvangt en controleert deze. Hiermee verwijdert u de inkapseling en herschrijft u het pakket zodat de bestemming nu DIP 10.10.10.5 in plaats van het VIP is en vervolgens het verkeer naar dip-VM verzendt.
De aanvraag bereikt de Contoso SharePoint-site in ServerFarm 2. De server genereert een reactie en verzendt dit naar de client via een eigen IP-adres als de bron.
De host onderschept het uitgaande pakket in de virtuele switch, die onthoudt dat de client, nu de bestemming, de oorspronkelijke aanvraag heeft ingediend bij het VIP. De host herschrijft de bron van het pakket naar het VIP-adres, zodat de client het DIP-adres niet ziet.
De host stuurt het pakket rechtstreeks door naar de standaardgateway voor het fysieke netwerk dat gebruikmaakt van de standaardrouteringstabel om het pakket door te sturen naar de client, die uiteindelijk het antwoord ontvangt.
Laden van netwerktaakverdeling interne datacenter-verkeer
Bij belastingverdeling van netwerkverkeer intern in het datacenter, zoals tussen tenantbronnen die op verschillende servers draaien en lid zijn van hetzelfde virtuele netwerk, voert de Hyper-V virtuele switch waarmee de VMs zijn verbonden NAT uit.
Met interne verkeerstaakverdeling wordt de eerste aanvraag verzonden naar en verwerkt door de MUX, die het juiste DIP selecteert en vervolgens het verkeer naar het DIP stuurt. Vanaf dat moment omzeilt de verkeersstroom de MUX en gaat deze rechtstreeks van VM naar VM.
Gezondheidscontroles
Software Load Balancer bevat statustests om de status van de netwerkinfrastructuur te valideren, waaronder de volgende:
TCP-probe naar poort
HTTP-probe voor poort en URL
In tegenstelling tot een traditionele load balancer-apparatuur waarbij de test afkomstig is van het apparaat en via de kabel naar het DIP reist, start de SLB-proef op de host waar het DIP zich bevindt en gaat rechtstreeks van de SLB-hostagent naar het DIP, waardoor het werk verder over de hosts wordt verspreid.
Software Load Balancer-infrastructuur
Voordat u Software Load Balancer kunt configureren, moet u eerst een netwerkcontroller en een of meer SLB MUX-VM's implementeren.
Bovendien moet u de lokale Azure-hosts configureren met de virtuele Hyper-V-switch met SDN en ervoor zorgen dat de SLB-hostagent wordt uitgevoerd. De routers die de hosts dienen, moeten ONDERSTEUNING bieden voor ECMP-routering en Border Gateway Protocol (BGP) en ze moeten worden geconfigureerd om BGP-peeringaanvragen van de SLB MUXes te accepteren.
In de volgende afbeelding ziet u een overzicht van de SLB-infrastructuur.
In de volgende secties vindt u meer informatie over deze elementen van de Software Load Balancer-infrastructuur.
Netwerkcontroller
Netwerkcontroller host de SLB Manager en voert de volgende acties uit voor Software Load Balancer:
Verwerkt SLB-opdrachten die binnenkomen via de Northbound-API vanuit Windows Admin Center, System Center, Windows PowerShell of een andere netwerkbeheertoepassing.
Berekent beleid voor distributie naar lokale Azure-hosts en SLB MUXes.
Biedt de gezondheidsstatus van de Software Load Balancer-infrastructuur.
U kunt Windows Admin Center of Windows PowerShell gebruiken om netwerkcontroller en andere SLB-infrastructuur te installeren en te configureren.
SLB MUX
De SLB MUX verwerkt binnenkomend netwerkverkeer en koppelt VIP's aan DIPs, waarna het verkeer naar de juiste DIP wordt doorgestuurd. Elke MUX gebruikt ook BGP om de VIP-routes naar randrouters te publiceren. BGP Keep Alive meldt MUXes wanneer een MUX mislukt, waardoor actieve MUXes de belasting opnieuw kunnen distribueren in het geval van een MUX-fout. Dit biedt in wezen taakverdeling voor de load balancers.
SLB Hostagent
Wanneer u Software Load Balancer implementeert, moet u Windows Admin Center, System Center, Windows PowerShell of een andere beheertoepassing gebruiken om de SLB-hostagent op elke hostserver te implementeren.
De SLB-hostagent luistert naar SLB-beleidsupdates van de netwerkcontroller. Bovendien programmeert de host-agent regels voor SLB in de SDN-ingeschakelde Hyper-V-virtuele switches die op de lokale computer zijn geconfigureerd.
Virtuele Hyper-V-switch met SDN
Voor een virtuele switch die compatibel is met SLB, moet de VFP-extensie (Virtual Filtering Platform) zijn ingeschakeld op de virtuele switch. Dit wordt automatisch gedaan door de PowerShell-implementatiescripts voor de SDN-implementatie, de implementatiewizard van Het Windows Admin Center en de implementatie van System Center Virtual Machine Manager (SCVMM).
Zie voor informatie over het inschakelen van VFP op virtuele switches, de Windows PowerShell-opdrachten Get-VMSystemSwitchExtension en inschakelen VMSwitchExtension.
De virtuele Hyper-V-switch met SDN voert de volgende acties uit voor SLB:
Verwerkt het gegevenspad voor SLB.
Ontvangt binnenkomend netwerkverkeer van de MUX.
Omzeilt de MUX voor uitgaand netwerkverkeer en stuurt het via DSR naar de router.
BGP-router
De BGP-router voert de volgende acties uit voor Software Load Balancer:
Verkeersstromen naar de MUX worden geleid met behulp van ECMP.
Uitgaand netwerkverkeer maakt gebruik van de route geleverd door de host.
Luistert naar route-updates voor VIP's van SLB MUX.
Verwijdert SLB MUXes uit de SLB-rotatie als verbinding in stand houden mislukt.
Software Load Balancer-functies
In de volgende secties worden enkele van de functies en mogelijkheden van Software Load Balancer beschreven.
Kernfunctionaliteit
SLB biedt laag 4 taakverdelingsservices voor verkeer tussen noord en zuid en oost/west TCP/UDP.
U kunt SLB gebruiken op een Hyper-V-netwerkvirtualisatienetwerk.
U kunt SLB gebruiken met een VLAN-netwerk voor DIP-VM's die zijn verbonden met een virtuele Hyper-V-switch met SDN.
Eén SLB-exemplaar kan meerdere tenants verwerken.
SLB en DIP ondersteunen een schaalbaar en laaglatentie-retourpad, zoals geïmplementeerd door DSR.
SLB-functies werken wanneer u ook Switch Embedded Teaming (SET) of Single Root Input/Output Virtualization (SR-IOV) gebruikt.
SLB bevat ondersteuning voor Internet Protocol versie 6 (IPv6) en versie 4 (IPv4).
Voor site-naar-site-gatewayscenario's biedt SLB NAT-functionaliteit om alle site-naar-site-verbindingen in staat te stellen om één openbaar IP-adres te gebruiken.
Schaal en prestaties
Klaar voor cloudschaal, inclusief uitschalen en omhoog schalen voor MUXes en hostagents.
Eén actieve SLB Manager-netwerkcontrollermodule kan acht MUX-exemplaren ondersteunen.
Hoge beschikbaarheid
U kunt SLB implementeren op meer dan twee knooppunten in een actieve/actieve configuratie.
MUXes kunnen worden toegevoegd en verwijderd uit de MUX-pool zonder invloed op de SLB-service. Hierdoor blijft de SLB-beschikbaarheid behouden wanneer afzonderlijke MUXes worden gepatcht.
Afzonderlijke MUX-exemplaren hebben een uptime van 99 procent.
Statuscontrolegegevens zijn beschikbaar voor beheerentiteiten.
Volgende stappen
Zie ook voor gerelateerde informatie: