Che cos'è il software Load Balancer ( SLB ) per Sdn?What is Software Load Balancer (SLB) for SDN?

Si applica a: Azure Stack HCI, versione 20H2; Windows Server 2019Applies to: Azure Stack HCI, version 20H2; Windows Server 2019

I provider di servizi cloud (CSP) e le aziende che distribuiscono Software Defined Networking (SDN) in Azure stack HCI possono usare il software Load Balancer (SLB) per distribuire uniformemente il traffico di rete dei clienti tenant e tenant tra le risorse di rete virtuale.Cloud Service Providers (CSPs) and enterprises that are deploying Software Defined Networking (SDN) in Azure Stack HCI can use Software Load Balancer (SLB) to evenly distribute tenant and tenant customer network traffic among virtual network resources. SLB consente di abilitare più server per l'hosting dello stesso carico di lavoro, offrendo disponibilità e scalabilità elevate.SLB enables multiple servers to host the same workload, providing high availability and scalability.

Load Balancer software include le seguenti funzionalità:Software Load Balancer includes the following capabilities:

  • Servizi di bilanciamento del carico di livello 4 (L4) per il traffico TCP/UDP nord/sud e est/ovest.Layer 4 (L4) load balancing services for north/south and east/west TCP/UDP traffic.

  • Bilanciamento del carico del traffico della rete pubblica e della rete interna.Public network and Internal network traffic load balancing.

  • Supporto degli indirizzi IP dinamici (DIP) nelle reti locali virtuali (VLAN) e nelle reti virtuali create tramite la virtualizzazione rete Hyper-V.Dynamic IP addresses (DIPs) support on virtual Local Area Networks (VLANs) and on virtual networks that you create by using Hyper-V Network Virtualization.

  • Supporto del probe di integrità.Health probe support.

  • Pronto per la scalabilità cloud, incluse funzionalità di scalabilità orizzontale e funzionalità di scalabilità verticale per multiplexer e agenti host.Ready for cloud scale, including scale-out capability and scale-up capability for multiplexers and host agents.

  • Edge unificato multi-tenant grazie all'integrazione uniforme con le tecnologie SDN, ad esempio il gateway RAS, il firewall del Data Center e il riflettore delle route.A multitenant unified edge by seamlessly integrating with SDN technologies such as the RAS Gateway, Datacenter Firewall, and Route Reflector.

Per ulteriori informazioni, vedere Software Load Balancer features in questo argomento.For more information, see Software Load Balancer Features in this topic.

Nota

Il controller di rete non supporta la multitenant per le VLAN.Multitenancy for VLANs is not supported by Network Controller. Tuttavia, è possibile usare le VLAN con SLB per i carichi di lavoro gestiti dal provider di servizi, ad esempio l'infrastruttura dei data center e i server Web ad alta densità.However, you can use VLANs with SLB for service provider managed workloads, such as the datacenter infrastructure and high density Web servers.

Con Load Balancer software è possibile scalare in orizzontale le funzionalità di bilanciamento del carico usando macchine virtuali (VM) SLB negli stessi server di calcolo Hyper-V usati per gli altri carichi di lavoro della macchina virtuale.Using Software Load Balancer, you can scale out your load balancing capabilities using SLB virtual machines (VMs) on the same Hyper-V compute servers that you use for your other VM workloads. Per questo motivo, il bilanciamento del carico software supporta la creazione e l'eliminazione rapide degli endpoint di bilanciamento del carico necessari per le operazioni CSP.Because of this, Software Load Balancing supports the rapid creation and deletion of load balancing endpoints that is required for CSP operations. Inoltre, il bilanciamento del carico software supporta decine di gigabyte per cluster, fornisce un modello di provisioning semplice ed è facile da scalare in orizzontale e in uscita.In addition, Software Load Balancing supports tens of gigabytes per cluster, provides a simple provisioning model, and is easy to scale out and in.

Funzionamento del software Load BalancerHow Software Load Balancer works

Il software Load Balancer funziona tramite il mapping di indirizzi IP virtuali (VIP) a dip che fanno parte di un set di risorse del servizio cloud nel Data Center.Software Load Balancer works by mapping virtual IP addresses (VIPs) to DIPs that are part of a cloud service set of resources in the datacenter.

I VIP sono indirizzi IP singoli che consentono l'accesso pubblico a un pool di macchine virtuali con carico bilanciato.VIPs are single IP addresses that provide public access to a pool of load balanced VMs. Ad esempio, gli indirizzi VIP sono indirizzi IP esposti su Internet, in modo che i tenant e i clienti tenant possano connettersi alle risorse del tenant nel data center del cloud.For example, VIPs are IP addresses that are exposed on the internet so that tenants and tenant customers can connect to tenant resources in the cloud datacenter.

I DIP sono gli indirizzi IP delle VM membro di un pool con bilanciamento del carico dietro l'indirizzo VIP.DIPs are the IP addresses of the member VMs of a load balanced pool behind the VIP. I dip vengono assegnati all'interno dell'infrastruttura cloud alle risorse del tenant.DIPs are assigned within the cloud infrastructure to the tenant resources.

Gli indirizzi VIP si trovano in SLB multiplexer (MUX).VIPs are located in the SLB Multiplexer (MUX). Il MUX è costituito da una o più macchine virtuali.The MUX consists of one or more VMs. Il controller di rete fornisce ogni MUX con ogni indirizzo VIP e ogni MUX USA a sua volta Border Gateway Protocol (BGP) per annunciare ogni VIP ai router nella rete fisica come Route/32.Network Controller provides each MUX with each VIP, and each MUX in turn uses Border Gateway Protocol (BGP) to advertise each VIP to routers on the physical network as a /32 route. BGP consente ai router di rete fisici di:BGP allows the physical network routers to:

  • Informazioni su come è disponibile un indirizzo VIP in ogni MUX, anche se le Mux si trovano in subnet diverse in una rete di livello 3.Learn that a VIP is available on each MUX, even if the MUXes are on different subnets in a Layer 3 network.

  • Distribuire il carico per ogni VIP in tutti i Mux disponibili usando il routing ECMP (Equal cost multipath).Spread the load for each VIP across all available MUXes using Equal Cost Multi-Path (ECMP) routing.

  • Rilevare automaticamente un errore o una rimozione MUX e arrestare l'invio del traffico al MUX non riuscito.Automatically detect a MUX failure or removal and stop sending traffic to the failed MUX.

  • Suddividere il carico dal MUX non riuscito o rimosso nel Mux integro.Spread the load from the failed or removed MUX across the healthy MUXes.

Quando il traffico pubblico arriva da Internet, SLB MUX esamina il traffico, che contiene l'indirizzo VIP come destinazione, e mappa e riscrive il traffico in modo che arrivi a un singolo DIP.When public traffic arrives from the internet, the SLB MUX examines the traffic, which contains the VIP as a destination, and maps and rewrites the traffic so that it will arrive at an individual DIP. Per il traffico di rete in ingresso, questa transazione viene eseguita in un processo in due passaggi diviso tra le macchine virtuali MUX e l'host Hyper-V in cui si trova il DIP di destinazione:For inbound network traffic, this transaction is performed in a two-step process that is split between the MUX VMs and the Hyper-V host where the destination DIP is located:

  1. Bilanciamento del carico: il MUX usa l'indirizzo VIP per selezionare un DIP, incapsula il pacchetto e lo trasmette all'host Hyper-V in cui si trova il DIP.Load balance - the MUX uses the VIP to select a DIP, encapsulates the packet, and forwards the traffic to the Hyper-V host where the DIP is located.

  2. NAT (Network Address Translation): l'host Hyper-V rimuove l'incapsulamento dal pacchetto, traduce il VIP in un DIP, ne esegue il mapping e lo trasmette alla VM DIP.Network Address Translation (NAT) - the Hyper-V host removes encapsulation from the packet, translates the VIP to a DIP, remaps the ports, and forwards the packet to the DIP VM.

MUX sa come eseguire il mapping degli indirizzi VIP ai DIP corretti a causa dei criteri di bilanciamento del carico definiti usando il controller di rete.The MUX knows how to map VIPs to the correct DIPs because of load balancing policies that you define by using Network Controller. Queste regole includono il protocollo, la porta front-end, la porta back-end e l'algoritmo di distribuzione (5, 3 o 2 Tuple).These rules include Protocol, Front-end Port, Back-end Port, and distribution algorithm (5, 3, or 2 tuples).

Quando le macchine virtuali dei tenant rispondono e inviano il traffico di rete in uscita a Internet o a posizioni tenant remote, perché il NAT viene eseguito dall'host Hyper-V, il traffico ignora il MUX e passa direttamente al router perimetrale dall'host Hyper-V.When tenant VMs respond and send outbound network traffic back to the internet or remote tenant locations, because the NAT is performed by the Hyper-V host, the traffic bypasses the MUX and goes directly to the edge router from the Hyper-V host. Questo processo di bypass MUX è denominato Direct Server Return (DSR).This MUX bypass process is called Direct Server Return (DSR).

Dopo aver stabilito il flusso di traffico di rete iniziale, il traffico di rete in ingresso ignora completamente il MUX SLB.And after the initial network traffic flow is established, the inbound network traffic bypasses the SLB MUX completely.

Nella figura seguente, un computer client esegue una query DNS per l'indirizzo IP di un sito di SharePoint aziendale, in questo caso una società fittizia denominata Contoso.In the following illustration, a client computer performs a DNS query for the IP address of a company SharePoint site - in this case, a fictional company named Contoso. Si verifica il seguente processo:The following process occurs:

  1. Il server DNS restituisce il 107.105.47.60 VIP al client.The DNS server returns the VIP 107.105.47.60 to the client.

  2. Il client invia una richiesta HTTP all'indirizzo VIP.The client sends an HTTP request to the VIP.

  3. La rete fisica ha più percorsi disponibili per raggiungere l'indirizzo VIP che si trova in qualsiasi MUX.The physical network has multiple paths available to reach the VIP located on any MUX. Ogni router lungo il modo Usa ECMP per selezionare il segmento successivo del percorso fino a quando la richiesta arriva a un MUX.Each router along the way uses ECMP to pick the next segment of the path until the request arrives at a MUX.

  4. Il MUX che riceve la richiesta controlla i criteri configurati e rileva che sono disponibili due dip, 10.10.10.5 e 10.10.20.5, in una rete virtuale per gestire la richiesta all'indirizzo VIP 107.105.47.60The MUX that receives the request checks configured policies, and sees that there are two DIPs available, 10.10.10.5 and 10.10.20.5, on a virtual network to handle the request to the VIP 107.105.47.60

  5. MUX Seleziona DIP 10.10.10.5 e incapsula i pacchetti usando VXLAN in modo che possano inviarli all'host che contiene il DIP usando l'indirizzo di rete fisica dell'host.The MUX selects DIP 10.10.10.5 and encapsulates the packets using VXLAN so that it can send it to the host containing the DIP using the host's physical network address.

  6. L'host riceve il pacchetto incapsulato e lo ispeziona.The host receives the encapsulated packet and inspects it. Rimuove l'incapsulamento e riscrive il pacchetto in modo che la destinazione sia ora DIP 10.10.10.5 invece dell'indirizzo VIP e quindi invia il traffico alla VM DIP.It removes the encapsulation and rewrites the packet so that the destination is now DIP 10.10.10.5 instead of the VIP, and then sends the traffic to DIP VM.

  7. La richiesta raggiunge il sito di SharePoint di Contoso in server farm 2.The request reaches the Contoso SharePoint site in Server Farm 2. Il server genera una risposta e la invia al client, usando il proprio indirizzo IP come origine.The server generates a response and sends it to the client, using its own IP address as the source.

  8. L'host intercetta il pacchetto in uscita nel Commuter virtuale che ricorda che il client, ora la destinazione, ha effettuato la richiesta originale per l'indirizzo VIP.The host intercepts the outgoing packet in the virtual switch which remembers that the client, now the destination, made the original request to the VIP. L'host riscrive l'origine del pacchetto in modo che sia l'indirizzo VIP, in modo che il client non visualizzi l'indirizzo DIP.The host rewrites the source of the packet to be the VIP so that the client does not see the DIP address.

  9. L'host inoltra il pacchetto direttamente al gateway predefinito per la rete fisica che usa la tabella di routing standard per inoltrare il pacchetto al client, che alla fine riceve la risposta.The host forwards the packet directly to the default gateway for the physical network which uses its standard routing table to forward the packet on to the client, which eventually receives the response.

Processo di bilanciamento del carico software

Bilanciamento del carico del traffico interno del Data CenterLoad balancing internal datacenter traffic

Quando si esegue il bilanciamento del carico del traffico di rete interno al Data Center, ad esempio tra le risorse tenant in esecuzione su server diversi e i membri della stessa rete virtuale, il commutere virtuale Hyper-V a cui sono connesse le VM esegue NAT.When load balancing network traffic internal to the datacenter, such as between tenant resources that are running on different servers and are members of the same virtual network, the Hyper-V virtual switch to which the VMs are connected performs NAT.

Con il bilanciamento del carico del traffico interno, la prima richiesta viene inviata ed elaborata dal MUX, che seleziona il DIP appropriato, quindi instrada il traffico al DIP.With internal traffic load balancing, the first request is sent to and processed by the MUX, which selects the appropriate DIP, and then routes the traffic to the DIP. Da quel punto in poi, il flusso di traffico stabilito ignora il MUX e passa direttamente dalla macchina virtuale alla macchina virtuale.From that point forward, the established traffic flow bypasses the MUX and goes directly from VM to VM.

Probe di integritàHealth probes

Load Balancer software include Probe di integrità per convalidare l'integrità dell'infrastruttura di rete, inclusi i seguenti:Software Load Balancer includes health probes to validate the health of the network infrastructure, including the following:

  • Probe TCP per la portaTCP probe to port

  • Probe HTTP per la porta e l'URLHTTP probe to port and URL

A differenza di un dispositivo di bilanciamento del carico tradizionale in cui il probe ha origine nell'appliance e passa attraverso la rete al DIP, il probe SLB ha origine nell'host in cui si trova il DIP e passa direttamente dall'agente host SLB al DIP, distribuendo ulteriormente il lavoro tra gli host.Unlike a traditional load balancer appliance where the probe originates on the appliance and travels across the wire to the DIP, the SLB probe originates on the host where the DIP is located and goes directly from the SLB host agent to the DIP, further distributing the work across the hosts.

Infrastruttura Load Balancer softwareSoftware Load Balancer Infrastructure

Prima di poter configurare Load Balancer software, è necessario innanzitutto distribuire il controller di rete e una o più macchine virtuali MUX SLB.Before you can configure Software Load Balancer, you must first deploy Network Controller and one or more SLB MUX VMs.

Inoltre, è necessario configurare gli host Azure Stack HCI con il Commuter virtuale Hyper-V abilitato per SDN e verificare che l'agente host SLB sia in esecuzione.In addition, you must configure the Azure Stack HCI hosts with the SDN-enabled Hyper-V virtual switch and ensure that the SLB Host Agent is running. I router che servono gli host devono supportare ECMP routing e Border Gateway Protocol (BGP) e devono essere configurati per accettare richieste di peering BGP dal Mux SLB.The routers that serve the hosts must support ECMP routing and Border Gateway Protocol (BGP), and they must be configured to accept BGP peering requests from the SLB MUXes.

Nella figura seguente viene fornita una panoramica dell'infrastruttura di SLB.The following figure provides an overview of the SLB infrastructure.

Infrastruttura Load Balancer software

Nelle sezioni seguenti vengono fornite ulteriori informazioni su questi elementi dell'infrastruttura software Load Balancer.The following sections provide more information about these elements of the Software Load Balancer infrastructure.

Controller di reteNetwork Controller

Il controller di rete ospita SLB Manager ed esegue le azioni seguenti per Load Balancer software:Network Controller hosts the SLB Manager and performs the following actions for Software Load Balancer:

  • Elabora i comandi SLB che passano attraverso l'API in direzione nord dall'interfaccia di amministrazione di Windows, da System Center, da Windows PowerShell o da un'altra applicazione di gestione di rete.Processes SLB commands that come in through the Northbound API from Windows Admin Center, System Center, Windows PowerShell, or another network management application.

  • Calcola i criteri per la distribuzione in Azure Stack host HCI e Mux SLB.Calculates policy for distribution to Azure Stack HCI hosts and SLB MUXes.

  • Fornisce lo stato di integrità dell'infrastruttura software Load Balancer.Provides the health status of the Software Load Balancer infrastructure.

È possibile usare l'interfaccia di amministrazione di Windows o Windows PowerShell per installare e configurare il controller di rete e altre infrastrutture SLB.You can use Windows Admin Center or Windows PowerShell to install and configure Network Controller and other SLB infrastructure.

MUX SLBSLB MUX

Il MUX SLB elabora il traffico di rete in ingresso ed esegue il mapping degli indirizzi VIP ai DIP, quindi invia il traffico al DIP corretto.The SLB MUX processes inbound network traffic and maps VIPs to DIPs, then forwards the traffic to the correct DIP. Ogni MUX usa anche BGP per pubblicare Route VIP nei router perimetrali.Each MUX also uses BGP to publish VIP routes to edge routers. Il protocollo BGP Keep Alive notifica a Mux quando un MUX ha esito negativo, che consente a Mux attivo di ridistribuire il carico in caso di errore MUX.BGP Keep Alive notifies MUXes when a MUX fails, which allows active MUXes to redistribute the load in case of a MUX failure. Questo fornisce essenzialmente il bilanciamento del carico per i bilanciamenti del carico.This essentially provides load balancing for the load balancers.

Agente host SLBSLB Host Agent

Quando si distribuisce Load Balancer software, è necessario usare l'interfaccia di amministrazione di Windows, System Center, Windows PowerShell o un'altra applicazione di gestione per distribuire l'agente host SLB in ogni server host.When you deploy Software Load Balancer, you must use Windows Admin Center, System Center, Windows PowerShell, or another management application to deploy the SLB Host Agent on every host server.

L'agente host SLB è in ascolto degli aggiornamenti dei criteri di SLB dal controller di rete.The SLB Host Agent listens for SLB policy updates from Network Controller. Inoltre, l'agente host programma le regole per SLB nei commutatori virtuali Hyper-V abilitati per SDN configurati nel computer locale.In addition, the host agent programs rules for SLB into the SDN-enabled Hyper-V virtual switches that are configured on the local computer.

Commuter virtuale Hyper-V abilitato per SDNSDN-enabled Hyper-V virtual switch

Affinché un commutire virtuale sia compatibile con SLB, è necessario abilitare l'estensione VFP (Virtual Filtering Platform) nel Commuter virtuale.For a virtual switch to be compatible with SLB, the Virtual Filtering Platform (VFP) extension must be enabled on the virtual switch. Questa operazione viene eseguita automaticamente dagli script di PowerShell per la distribuzione SDN, da distribuzione guidata centro di amministrazione di Windows e dalla distribuzione di System Center Virtual Machine Manager (SCVMM).This is done automatically by the SDN deployment PowerShell scripts, Windows Admin Center deployment wizard, and System Center Virtual Machine Manager (SCVMM) deployment.

Per informazioni sull'abilitazione di VFP su commutatori virtuali, vedere i comandi di Windows PowerShell Get-VMSystemSwitchExtension e Enable-VMSwitchExtension.For information on enabling VFP on virtual switches, see the Windows PowerShell commands Get-VMSystemSwitchExtension and Enable-VMSwitchExtension.

Il Commuter virtuale Hyper-V abilitato per SDN esegue le azioni seguenti per SLB:The SDN-enabled Hyper-V virtual switch performs the following actions for SLB:

  • Elabora il percorso dati per SLB.Processes the data path for SLB.

  • Riceve il traffico di rete in ingresso dal MUX.Receives inbound network traffic from the MUX.

  • Ignora il MUX per il traffico di rete in uscita, inviarlo al router usando DSR.Bypasses the MUX for outbound network traffic, sending it to the router using DSR.

Router BGPBGP router

Il router BGP esegue le azioni seguenti per Load Balancer software:The BGP router performs the following actions for Software Load Balancer:

  • Instrada il traffico in ingresso verso il MUX usando ECMP.Routes inbound traffic to the MUX using ECMP.

  • Per il traffico di rete in uscita, utilizza la route fornita dall'host.For outbound network traffic, uses the route provided by the host.

  • Ascolta gli aggiornamenti della route per gli indirizzi VIP da SLB MUX.Listens for route updates for VIPs from SLB MUX.

  • Rimuove SLB Mux dalla rotazione SLB se Keep-Alive non riesce.Removes SLB MUXes from the SLB rotation if Keep Alive fails.

Funzionalità di Load Balancer softwareSoftware Load Balancer Features

Le sezioni seguenti descrivono alcune delle funzionalità e delle funzionalità del software Load Balancer.The following sections describe some of the features and capabilities of Software Load Balancer.

Funzionalità di baseCore functionality

  • SLB offre servizi di bilanciamento del carico di livello 4 per il traffico TCP/UDP nord/sud ed est/ovest.SLB provides Layer 4 load balancing services for north/south and east/west TCP/UDP traffic.

  • È possibile usare SLB in una rete basata su virtualizzazione rete Hyper-V.You can use SLB on a Hyper-V Network Virtualization-based network.

  • È possibile usare SLB con una rete basata su VLAN per le macchine virtuali DIP connesse a un Commuter virtuale Hyper-V abilitato per SDN.You can use SLB with a VLAN-based network for DIP VMs connected to a SDN Enabled Hyper-V virtual switch.

  • Un'istanza di SLB può gestire più tenant.One SLB instance can handle multiple tenants.

  • SLB e DIP supportano un percorso di ritorno scalabile e a bassa latenza, come implementato da DSR.SLB and DIP support a scalable and low-latency return path, as implemented by DSR.

  • SLB funziona anche quando si usa switch Embedded Teaming (SET) o single root input/output Virtualization (SR-IOV).SLB functions when you are also using Switch Embedded Teaming (SET) or Single Root Input/Output Virtualization (SR-IOV).

  • SLB include il supporto protocollo Internet versione 6 (IPv6) e versione 4 (IPv4).SLB includes Internet Protocol version 6 (IPv6) and version 4 (IPv4) support.

  • Per gli scenari di gateway da sito a sito, SLB offre funzionalità NAT per consentire a tutte le connessioni da sito a sito di usare un singolo IP pubblico.For site-to-site gateway scenarios, SLB provides NAT functionality to enable all site-to-site connections to utilize a single public IP.

Scalabilità e prestazioniScale and performance

  • Pronto per la scalabilità cloud, incluse funzionalità di scalabilità orizzontale e scalabilità verticale per mux e agenti host.Ready for cloud scale, including scale-out and scale-up capability for MUXes and Host Agents.

  • Un modulo Active SLB Manager Network controller può supportare otto istanze MUX.One active SLB Manager Network Controller module can support eight MUX instances.

Disponibilità elevataHigh availability

  • È possibile distribuire SLB a più di due nodi in una configurazione attiva/attiva.You can deploy SLB to more than two nodes in an active/active configuration.

  • MUX possono essere aggiunti e rimossi dal pool MUX senza alcun effetto sul servizio SLB.MUXes can be added and removed from the MUX pool without impacting the SLB service. Questo mantiene la disponibilità SLB quando vengono applicate le patch per i singoli MUX.This maintains SLB availability when individual MUXes are being patched.

  • Le singole istanze di MUX hanno un tempo di indisponibilità pari al 99%.Individual MUX instances have an uptime of 99 percent.

  • I dati di monitoraggio dell'integrità sono disponibili per le entità di gestione.Health monitoring data is available to management entities.

Passaggi successiviNext steps

Per informazioni correlate, vedere anche:For related information, see also: