Per garantire la stabilità delle applicazioni stateful, i bilanciamenti del carico implementano la persistenza che indirizza tutte le connessioni correlate allo stesso server. Sono supportati diversi tipi di persistenza per soddisfare diverse tipologie di esigenze di applicazione.

Alcune applicazioni mantengono lo stato del server, ad esempio carrelli della spesa. Tale stato può essere per client e identificato dall'indirizzo IP del client o per sessione HTTP. Le applicazioni possono accedere a questo stato o modificarlo durante l'elaborazione delle connessioni correlate successive dallo stesso client o sessione HTTP.

Il profilo di persistenza IP di origine tiene traccia delle sessioni in base all'indirizzo IP di origine. Quando un client richiede una connessione a un server virtuale che abilita la persistenza dell'indirizzo di origine, il bilanciamento del carico verifica se tale client era connesso in precedenza e, in tal caso, restituisce il client allo stesso server. In caso contrario, il bilanciamento del carico seleziona il membro del pool di server in base all'algoritmo di bilanciamento del carico del pool. Il profilo di persistenza dell'IP di origine viene utilizzato dai server virtuali di livello 4 e di livello 7.

Se persistenza delle regole, persistenza dei cookie e keep-alive server sono tutti configurati, il bilanciamento del carico segue la priorità di persistenza delle regole > persistenza dei cookie > keep-alive server.

Il profilo di persistenza dei cookie offre 3 modalità:
  • Inserimento cookie: il bilanciamento del carico inserisce il proprio cookie con le informazioni sul membro del pool (codificate o meno) nella risposta del server al client. Il client inoltra quindi i cookie ricevuti nelle richieste successive (cookie di NSX incluso) e il bilanciamento del carico utilizza tali informazioni per fornire la persistenza dei membri del pool. Il cookie di NSX viene escluso dalla richiesta client quando inviato al membro del pool.
  • Prefisso cookie: il bilanciamento del carico accoda le informazioni sul membro del pool (codificate o meno) nella risposta del server al client. Il client inoltra quindi il cookie HTTP ricevuto nelle richieste successive (anteponendo le informazioni su NSX) e il bilanciamento del carico utilizza tali informazioni per fornire la persistenza dei membri del pool. Il prefisso del cookie di NSX viene escluso dalla richiesta client quando inviato al membro del pool.
  • Riscrittura cookie: il bilanciamento del carico sostituisce il valore del cookie del server con le informazioni sul membro del pool (codificate o meno) nella risposta del server al client. Il client inoltra quindi il cookie HTTP ricevuto nelle richieste successive (anteponendo le informazioni su NSX) e il bilanciamento del carico utilizza tali informazioni per fornire la persistenza dei membri del pool. Il cookie del server originale viene sostituito nella richiesta del client quando viene inviato al membro del pool.
La persistenza dei cookie è disponibile solo nei server virtuali di livello 7. Si tenga presente che uno spazio vuoto nel nome di un cookie non è supportato.

Il profilo di persistenza generico supporta la persistenza in base a intestazione HTTP, cookie o URL nella richiesta HTTP. Pertanto, supporta la persistenza della sessione dell'applicazione quando l'ID sessione fa parte dell'URL. Questo profilo non è associato direttamente a un server virtuale. Specificare questo profilo quando si configura una regola del bilanciamento del carico per l'inoltro della richiesta e la riscrittura della risposta.

""

Procedura

  1. Con i privilegi admin, accedere a NSX Manager.
  2. Selezionare Servizi di rete > Bilanciamento del carico > Profili > Persistenza > Aggiungi profilo di persistenza.
  3. Selezionare IP di origine per aggiungere un profilo di persistenza IP di origine e immettere i dettagli del profilo.
    È inoltre possibile accettare le impostazioni predefinite del profilo IP di origine.
    Opzione Descrizione
    Nome e descrizione Immettere un nome e una descrizione per il profilo di persistenza IP di origine.
    Condividi persistenza Attivare o disattivare il pulsante per condividere la persistenza in modo che tutti i server virtuali a cui è associato il profilo possano condividere la tabella di persistenza.

    Se la condivisione della persistenza non è abilitata nel profilo di persistenza IP di origine associato a un server virtuale, ogni server virtuale a cui è associato il profilo mantiene una tabella di persistenza privata.

    Timeout voce di persistenza Immettere il tempo di scadenza della persistenza, espresso in secondi.

    La tabella di persistenza del bilanciamento del carico mantiene delle voci per registrare che le richieste del client vengono indirizzate allo stesso server.

    La prima connessione dal nuovo IP client viene inclusa nel bilanciamento del carico verso un membro del pool in base all'algoritmo di bilanciamento del carico. NSX memorizza la voce di persistenza nella tabella di persistenza LB visualizzabile nel nodo Edge che ospita il T1-LB attivo tramite il comando della CLI:get load-balancer <LB-UUID> persistence-tables.

    • Quando sono presenti connessioni da tale client al VIP, la voce relativa alla persistenza viene mantenuta.
    • Quando non sono più presenti connessioni da tale client al VIP, la voce di persistenza avvia il conto alla rovescia del timer specificato nel valore "Timeout voce di persistenza". Se prima della scadenza del timer non viene stabilita alcuna nuova connessione da tale client al VIP, la voce di persistenza per tale IP client viene eliminata. Se il client torna attivo dopo l'eliminazione della voce, il carico verrà bilanciato nuovamente verso un membro del pool in base all'algoritmo di bilanciamento del carico.
    Elimina voci quando pieno

    Un valore di timeout alto può causare il riempimento rapido della tabella di persistenza quando il traffico è eccessivo. Quando questa opzione è abilitata, la voce meno recente viene eliminata per accettare la voce più recente.

    Quando questa opzione è disabilitata, se la tabella di persistenza IP di origine è piena, le nuove connessioni client vengono rifiutate.

    Mirroring della persistenza HA Attivare o disattivare il pulsante per sincronizzare le voci di persistenza con il peer HA (alta disponibilità). Quando è abilitato il mirroring della persistenza HA, la persistenza IP del client rimane in caso di failover del bilanciamento del carico.
    Tag Immettere i tag per semplificare la ricerca.

    È possibile specificare un tag per impostare un ambito del tag.

  4. Selezionare un profilo di persistenza dei Cookie e immettere i dettagli del profilo. La persistenza dei cookie è disponibile solo nei server virtuali di livello 7. Si tenga presente che uno spazio vuoto nel nome di un cookie non è supportato.
    Opzione Descrizione
    Nome e descrizione Immettere un nome e una descrizione per il profilo di persistenza dei cookie.
    Condividi persistenza Attivare o disattivare il pulsante per condividere la persistenza su più server virtuali associati agli stessi membri del pool.

    Il profilo di persistenza dei cookie inserisce un cookie con il formato <name>.<profile-id>.<pool-id>.

    Se la persistenza condivisa non è abilitata nel profilo di persistenza dei cookie associato a un server virtuale, viene utilizzata la persistenza dei cookie privati per ogni server virtuale e successivamente viene qualificata dal membro del pool. Il bilanciamento del carico inserisce un cookie con il formato <name>.<virtual_server_id>.<pool_id>.

    Modalità cookie Selezionare una modalità dal menu a discesa.
    • Inserisci: aggiunge un cookie univoco per identificare la sessione.
    • Prefisso: accoda alle informazioni del cookie HTTP esistente.
    • Riscrivi: riscrive le informazioni del cookie HTTP esistente.
    Nome cookie Immettere il nome del cookie. Uno spazio vuoto nel nome di un cookie non è supportato.
    Dominio cookie Immettere il nome del dominio.

    Il dominio del cookie HTTP può essere configurato solo in modalità Inserisci.

    Riserva cookie Attivare o disattivare il pulsante in modo che la richiesta client venga rifiutata se il cookie punta a un server che si trova in uno stato Disabilitato o Inattivo.

    Seleziona un nuovo server per gestire una richiesta client se il cookie punta a un server con stato Disabilitato o Inattivo.

    Percorso cookie Immettere il percorso URL del cookie.

    Il percorso del cookie HTTP può essere impostato solo in modalità Inserisci.

    Alterazione cookie Attivare o disattivare il pulsante per disabilitare la crittografia.

    Quando l'alterazione è disabilitata, l'indirizzo IP e le informazioni sulla porta del server del cookie sono in testo normale. Crittografare l'indirizzo IP e le informazioni sulla porta del server del cookie.

    Tipo di cookie Selezionare un tipo di cookie dal menu a discesa.

    Cookie sessione: non archiviato. Andrà perso alla chiusura del browser.

    Cookie di persistenza: archiviato dal browser. Non viene perso quando alla chiusura del browser.

    Contrassegno HttpOnly Quando questa opzione è abilitata, uno script in esecuzione nel browser non può accedere ai cookie.

    Il contrassegno HttpOnly è disponibile solo in modalità Inserisci.

    Contrassegno sicuro Se questa opzione è abilitata, i browser Web inviano cookie solo tramite HTTPS.

    Contrassegno sicuro è disponibile solo in modalità Inserisci.

    Tempo di inattività massimo Immettere il tempo in secondi per cui il tipo di cookie può essere inattivo prima della scadenza di un cookie.
    Validità massima cookie Per il tipo di cookie della sessione, immettere il tempo per cui sarà disponibile il cookie, espresso in secondi.
    Tag Immettere i tag per semplificare la ricerca.

    È possibile specificare un tag per impostare un ambito del tag.

  5. Selezionare Generico per aggiungere un profilo di persistenza generico e immettere i dettagli del profilo.
    Opzione Descrizione
    Nome e descrizione Immettere un nome e una descrizione per il profilo di persistenza IP di origine.
    Condividi persistenza Attivare o disattivare il pulsante per condividere il profilo tra server virtuali.
    Timeout voce di persistenza Immettere il tempo di scadenza della persistenza, espresso in secondi.

    La tabella di persistenza del bilanciamento del carico mantiene delle voci per registrare che le richieste del client vengono indirizzate allo stesso server.

    La prima connessione dal nuovo IP client viene inclusa nel bilanciamento del carico verso un membro del pool in base all'algoritmo di bilanciamento del carico. NSX memorizza la voce di persistenza nella tabella di persistenza LB visualizzabile nel nodo Edge che ospita il T1-LB attivo tramite il comando della CLI:get load-balancer <LB-UUID> persistence-tables.

    • Quando sono presenti connessioni da tale client al VIP, la voce relativa alla persistenza viene mantenuta.
    • Quando non sono più presenti connessioni da tale client al VIP, la voce di persistenza avvia il conto alla rovescia del timer specificato nel valore "Timeout voce di persistenza". Se prima della scadenza del timer non viene stabilita alcuna nuova connessione da tale client al VIP, la voce di persistenza per tale IP client viene eliminata. Se il client torna attivo dopo l'eliminazione della voce, il carico verrà bilanciato nuovamente verso un membro del pool in base all'algoritmo di bilanciamento del carico.
    Mirroring della persistenza HA Attivare o disattivare il pulsante per sincronizzare le voci di persistenza con il peer HA (alta disponibilità).
    Tag Immettere i tag per semplificare la ricerca.

    È possibile specificare un tag per impostare un ambito del tag.