Condividi tramite


Che cos'è Software Load Balancer (SLB) per SDN?

Si applica a: Azure Stack HCI, versioni 23H2 e 22H2; Windows Server 2022, Windows Server 2019, Windows Server 2016

Provider di servizi cloud (CSP) e aziende che distribuiscono software defined networking (SDN) possono usare Software Load Balancer (SLB) per distribuire in modo uniforme il traffico di rete del tenant e del tenant tra le risorse di rete virtuale. SLB consente di abilitare più server per l'hosting dello stesso carico di lavoro, offrendo disponibilità e scalabilità elevate.

Il software Load Balancer può fornire un multi-tenant, unified edge integrando con tecnologie SDN, ad esempio gateway RAS, Firewall data center e Route Reflectionor.

Nota

La multitenancy per le reti virtuali non è supportata dal controller di rete. È tuttavia possibile usare VLAN con SLB per i carichi di lavoro gestiti dal provider di servizi, ad esempio l'infrastruttura del data center e i server Web ad alta densità.

Usando Software Load Balancer, è possibile ridimensionare le funzionalità di bilanciamento del carico usando macchine virtuali SLB (VM) negli stessi server di calcolo Hyper-V usati per gli altri carichi di lavoro della macchina virtuale. A causa di questo, software Load Balancer supporta la creazione e l'eliminazione rapida degli endpoint di bilanciamento del carico in base alle esigenze per le operazioni CSP. Inoltre, software Load Balancer supporta decine di gigabyte per cluster, fornisce un semplice modello di provisioning e è facile da ridimensionare e in.

Per informazioni su come gestire i criteri di Load Balancer software usando Windows Admin Center, vedere Gestire Load Balancer software per SDN.

Che cosa include Software Load Balancer?

Software Load Balancer include le funzionalità seguenti:

  • Servizi di bilanciamento del carico di livello 4 (L4) per il traffico TCP/UDP nord/sud/sud/est/ovest.

  • Rete pubblica e bilanciamento del carico del traffico di rete interno.

  • Supporto di indirizzi IP dinamici (DIP) nelle reti locali virtuali (VLAN) e nelle reti virtuali create tramite Virtualizzazione rete Hyper-V.

  • Supporto del probe di integrità.

  • Pronto per la scalabilità cloud, tra cui funzionalità di scalabilità orizzontale e funzionalità di scalabilità orizzontale per multiplexer e agenti host.

Per altre informazioni, vedere Funzionalità di Load Balancer software in questo articolo.

Funzionamento dell'Load Balancer software

Il software Load Balancer funziona eseguendo il mapping di indirizzi IP virtuali (IP) a INDIRIZZI IP che fanno parte di un set di risorse del servizio cloud nel data center.

I indirizzi IP singoli sono indirizzi IP singoli che forniscono l'accesso pubblico a un pool di macchine virtuali con carico bilanciato. Ad esempio, gli indirizzi IP sono indirizzi IP esposti su Internet in modo che i tenant e i clienti tenant possano connettersi alle risorse tenant nel data center cloud.

I PROVIDER DIP sono gli indirizzi IP delle macchine virtuali membro di un pool con carico bilanciato dietro l'indirizzo VIP. Gli indirizzi DIP vengono assegnati all'interno dell'infrastruttura cloud alle risorse del tenant.

I INDIRIZZI VIP si trovano nel multiplexer SLB (MUX). Il MUX è costituito da una o più macchine virtuali. Il controller di rete fornisce ogni MUX con ogni INDIRIZZO VIP e ogni MUX a sua volta usa il protocollo BGP (Border Gateway Protocol) per annunciare ogni indirizzo VIP ai router nella rete fisica come route /32. BGP consente ai router di rete fisici di:

  • Informazioni su cui è disponibile un indirizzo VIP in ogni MUX, anche se i MUX si trovano in subnet diverse in una rete di livello 3.

  • Distribuire il carico per ogni indirizzo VIP in tutti i MUX disponibili usando il routing ECMP (Equal Cost Multi-Path).

  • Rileva automaticamente un errore MUX o una rimozione e arresta l'invio del traffico al MUX non riuscito.

  • Distribuire il carico da MUX non riuscito o rimosso tra i MUX integri.

Quando il traffico pubblico arriva da Internet, il MUX SLB esamina il traffico, che contiene l'indirizzo VIP come destinazione e esegue il mapping e riscrive il traffico in modo che arrivi a un singolo DIP. Per il traffico di rete in ingresso, questa transazione viene eseguita in un processo in due passaggi suddiviso tra le macchine virtuali MUX e l'host Hyper-V in cui si trova il DIP di destinazione:

  1. Bilanciamento del carico: muX usa l'indirizzo VIP per selezionare un DIP, incapsula il pacchetto e inoltra il traffico all'host Hyper-V in cui si trova il dip.

  2. Network Address Translation (NAT) : l'host Hyper-V rimuove l'incapsulamento dal pacchetto, converte l'indirizzo VIP in un DIP, esegue il mapping delle porte e inoltra il pacchetto alla macchina virtuale DIP.

MuX sa come eseguire il mapping di indirizzi IP ai criteri di bilanciamento del carico corretti a causa dei criteri di bilanciamento del carico definiti tramite Il controller di rete. Queste regole includono protocollo, porta front-end, porta back-end e algoritmo di distribuzione (5, 3 o 2 tuple).

Quando le macchine virtuali tenant rispondono e inviano il traffico di rete in uscita alle posizioni del tenant internet o remoto, perché il NAT viene eseguito dall'host Hyper-V, il traffico ignora il MUX e passa direttamente al router perimetrale dall'host Hyper-V. Questo processo di bypass MUX è denominato 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.

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. Il processo seguente si verifica:

  1. Il server DNS restituisce l'indirizzo VIP 107.105.47.60 al client.

  2. Il client invia una richiesta HTTP all'indirizzo VIP.

  3. La rete fisica include più percorsi disponibili per raggiungere l'indirizzo VIP situato in qualsiasi MUX. Ogni router lungo il percorso usa ECMP per selezionare il segmento successivo del percorso finché la richiesta non arriva a un MUX.

  4. MUX che riceve i criteri configurati per le richieste e rileva che sono disponibili due INDIRIZZI DIP, 10.10.10.5 e 10.10.20.5, in una rete virtuale per gestire la richiesta all'indirizzo VIP 107.105.47.60

  5. MuX seleziona DIP 10.10.10.5 e incapsula i pacchetti usando VXLAN in modo che possa inviarlo all'host contenente l'indirizzo di rete fisica dell'host.

  6. L'host riceve il pacchetto incapsulato e lo controlla. Rimuove l'incapsulamento e riscrive il pacchetto in modo che la destinazione sia ora DIP 10.10.10.5 anziché l'indirizzo VIP e quindi invia il traffico alla macchina virtuale DIP.

  7. La richiesta raggiunge il sito di Contoso SharePoint in Server Farm 2. Il server genera una risposta e lo invia al client usando il proprio indirizzo IP come origine.

  8. L'host intercetta il pacchetto in uscita nel commutatore virtuale, che ricorda che il client, ora la destinazione, ha effettuato la richiesta originale all'indirizzo VIP. L'host riscrive l'origine del pacchetto in modo che il client non visualizzi l'indirizzo DIP.

  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.

Processo di bilanciamento del carico software.

Bilanciamento del carico del traffico del data center interno

Quando il bilanciamento del carico del traffico di rete interno al data center, ad esempio tra le risorse tenant in esecuzione su server diversi e sono membri della stessa rete virtuale, il commutatore virtuale Hyper-V a cui le macchine virtuali sono connesse NAT.

Con il bilanciamento del carico del traffico interno, la prima richiesta viene inviata e elaborata da MUX, che seleziona il DIP appropriato e quindi instrada il traffico al DIP. Da quel momento in avanti, il flusso di traffico stabilito ignora il MUX e passa direttamente dalla macchina virtuale alla macchina virtuale.

Probe di integrità

Il software Load Balancer include probe di integrità per convalidare l'integrità dell'infrastruttura di rete, incluso quanto segue:

  • Probe TCP alla porta

  • Probe HTTP per la porta e l'URL

A differenza di un'appliance di bilanciamento del carico tradizionale in cui il probe ha origine nell'appliance e passa attraverso il cavo al DIP, il probe SLB proviene dall'host in cui si trova il DIP e passa direttamente dall'agente host SLB al DIP, distribuendo ulteriormente il lavoro tra gli host.

Infrastruttura di Load Balancer software

Prima di poter configurare software Load Balancer, è prima necessario distribuire il controller di rete e una o più macchine virtuali MUX SLB.

È inoltre necessario configurare gli host HCI di Azure Stack con l'opzione virtuale Hyper-V abilitata per SDN e assicurarsi che l'agente host SLB sia in esecuzione. I router che servono gli host devono supportare il routing ECMP e il protocollo BGP (Border Gateway Protocol) e devono essere configurati per accettare le richieste di peering BGP dai MUX SLB.

Nella figura seguente viene fornita una panoramica dell'infrastruttura SLB.

Infrastruttura di Load Balancer software.

Le sezioni seguenti forniscono altre informazioni su questi elementi dell'infrastruttura software Load Balancer.

Controller di rete

Il controller di rete ospita SLB Manager ed esegue le azioni seguenti per Software Load Balancer:

  • Elabora i comandi SLB che arrivano tramite l'API Northbound da Windows Admin Center, System Center, Windows PowerShell o un'altra applicazione di gestione di rete.

  • Calcola i criteri per la distribuzione in host HCI di Azure Stack e MUX SLB.

  • Fornisce lo stato di integrità dell'infrastruttura software Load Balancer.

È possibile usare Windows Admin Center o Windows PowerShell per installare e configurare il controller di rete e altre infrastrutture SLB.

SLB MUX

SLB MUX elabora il traffico di rete in ingresso e esegue il mapping di indirizzi IP a IP, quindi inoltra il traffico al DIP corretto. Ogni MUX usa anche BGP per pubblicare route VIP nei router perimetrali. BGP Keep Alive notifica ai MUX quando un MUX ha esito negativo, consentendo ai MUX attivi di ridistribuire il carico in caso di errore MUX. Ciò fornisce essenzialmente il bilanciamento del carico per i servizi di bilanciamento del carico.

Agente host SLB

Quando si distribuisce Software Load Balancer, è necessario usare Windows Admin Center, System Center, Windows PowerShell o un'altra applicazione di gestione per distribuire l'agente host SLB in ogni server host.

L'agente host SLB ascolta gli aggiornamenti dei criteri SLB dal controller di rete. Inoltre, le regole dei programmi dell'agente host per SLB nei commutatori virtuali Hyper-V abilitati per SDN configurati nel computer locale.

Commutatore virtuale Hyper-V abilitato per SDN

Affinché un commutatore virtuale sia compatibile con SLB, l'estensione VFP (Virtual Filtering Platform) deve essere abilitata nel commutatore virtuale. Questa operazione viene eseguita automaticamente dagli script di PowerShell per la distribuzione SDN, Windows Admin Center distribuzione guidata e dalla distribuzione di System Center Virtual Machine Manager (SCVMM).

Per informazioni sull'abilitazione della VFP nelle opzioni virtuali, vedere i comandi di Windows PowerShell Get-VMSystemSwitchExtension e Enable-VMSwitchExtension.

L'opzione virtuale Hyper-V abilitata per SDN esegue le azioni seguenti per SLB:

  • Elabora il percorso dati per SLB.

  • Riceve il traffico di rete in ingresso dal MUX.

  • Ignora il MUX per il traffico di rete in uscita, inviandolo al router usando DSR.

Router BGP

Il router BGP esegue le azioni seguenti per Software Load Balancer:

  • Instrada il traffico in ingresso al MUX usando ECMP.

  • Per il traffico di rete in uscita, usa la route fornita dall'host.

  • Listens for route updates for VIP from SLB MUX.

  • Rimuove I MUX SLB dalla rotazione SLB se Keep Alive ha esito negativo.

Funzionalità di Load Balancer software

Le sezioni seguenti descrivono alcune delle funzionalità e delle funzionalità di Software Load Balancer.

Funzionalità di base

  • SLB fornisce servizi di bilanciamento del carico di livello 4 per il traffico TCP/UDP nord/sud/sud/est/ovest.

  • È possibile usare SLB in una rete basata su rete Hyper-V.

  • È possibile usare SLB con una rete basata su VLAN per macchine virtuali DIP connesse a un commutatore virtuale Hyper-V abilitato per SDN.

  • Un'istanza SLB può gestire più tenant.

  • SLB e DIP supportano un percorso restituito scalabile e a bassa latenza, come implementato da DSR.

  • Funzioni SLB quando si usa anche Switch Embedded Teaming (SET) o Single Root Input/Output Virtualization (SR-IOV).

  • SLB include il supporto di Internet Protocol versione 6 (IPv6) e versione 4 (IPv4).

  • Per gli scenari del gateway da sito a sito, SLB offre funzionalità NAT per consentire a tutte le connessioni da sito a sito di usare un singolo INDIRIZZO IP pubblico.

Scalabilità e prestazioni

  • Pronto per la scalabilità cloud, inclusa la scalabilità orizzontale e la scalabilità orizzontale per i MUX e gli agenti host.

  • Un modulo di controller di rete di SLB Manager attivo può supportare otto istanze MUX.

Disponibilità elevata

  • È possibile distribuire SLB in più di due nodi in una configurazione attiva/attiva.

  • I MUX possono essere aggiunti e rimossi dal pool MUX senza influire sul servizio SLB. Ciò mantiene la disponibilità di SLB quando vengono sottoposti a patch singoli MUX.

  • Le singole istanze MUX hanno un tempo di attività pari al 99%.

  • I dati di monitoraggio dell'integrità sono disponibili per le entità di gestione.

Passaggi successivi

Per informazioni correlate, vedere anche: