Skip to main content
StorageGRID solutions and resources
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

Utilizzare F5 DNS per bilanciare il carico globale StorageGRID

Collaboratori netapp-aronk

Di Steve Gorman (F5)

Questo report tecnico fornisce istruzioni dettagliate per la configurazione NetApp StorageGRID con i servizi DNS F5 per il bilanciamento del carico globale, al fine di garantire una migliore disponibilità dei dati, una maggiore coerenza dei dati e ottimizzare il routing delle transazioni S3 quando la griglia è distribuita su più siti e/o gruppi HA.

Introduzione

La soluzione DNS F5 BIG-IP, precedentemente denominata BIG-IP GTM (Global Traffic Manager) e informalmente GSLB (Global Server Load Balancing), consente di realizzare in modo efficace un accesso senza interruzioni tra più gruppi HA attivi-attivi e soluzioni StorageGRID multi-sito attive-attive.

Configurazione StorageGRID multi-sito F5 BIG-IP

Indipendentemente dal numero di siti StorageGRID da supportare, almeno due appliance BIG-IP, fisiche o virtuali, devono avere il modulo DNS BIG-IP abilitato e configurato. Maggiore è il numero di dispositivi DNS, maggiore sarà il grado di ridondanza di cui un'azienda potrà beneficiare.

BIG-IP DNS - Primi passi nella configurazione iniziale

Una volta che l'appliance BIG-IP ha completato almeno il provisioning iniziale, utilizzare un browser Web per accedere all'interfaccia TMUI (BIG-IP GUI) e selezionare Sistema → Provisioning risorse. Come evidenziato, assicurati che il modulo "Traffico globale (DNS)" abbia un segno di spunta e che sia autorizzato. Si noti che, come nell'immagine, è comune che il "Traffico locale (LTM)" possa essere fornito sullo stesso dispositivo.

Servizio di traffico globale (DNS) abilitato

Configurare gli elementi fondamentali del protocollo DNS

Il primo passo verso la gestione del traffico globale per i siti StorageGRID è scegliere la scheda DNS, dove verrà configurato praticamente tutto il controllo del traffico globale, e scegliere Impostazioni→ GLSB. Abilita le due opzioni di sincronizzazione e scegli un nome di gruppo DNS che verrà condiviso tra gli appliance BIG-IP partecipanti.

Nome del gruppo DNS

Successivamente, vai su DNS > Consegna > Profili > DNS: Crea e crea un profilo che regolerà le funzionalità DNS che desideri abilitare o disabilitare. Se si è interessati alla generazione di registri DNS specifici, consultare il collegamento precedente per la guida in aula DNS. Ecco un esempio di un profilo DNS funzionante; notare i quattro punti salienti che rappresentano impostazioni che sono valori importanti. Per maggiore consapevolezza, ogni possibile impostazione è spiegata nel seguente articolo F5 KB (Knowledge Base) "qui".

Impostazioni del profilo DNS

A questo punto possiamo regolare le caratteristiche dei protocolli UDP e TCP, attraverso dei “profili” creati, che possono entrambi trasportare traffico DNS che coinvolge BIG-IP. Basta creare un nuovo profilo per UDP e TCP. Supponendo che il traffico DNS attraverserà i collegamenti WAN, una buona pratica è semplicemente quella di ereditare le caratteristiche UDP e TCP note per funzionare bene negli ambienti WAN. Per aggiungerli, basta cliccare sull'icona "+" accanto a ciascun protocollo e impostare il profilo padre come segue:

UDP → usa il profilo “padre” “udp_gtm_dns”

TCP → usa il profilo “padre” “f5-tcp-wan”

protocollo DNS

Ora dobbiamo semplicemente assegnare un indirizzo IP sia per il traffico UDP che per quello TCP che coinvolge il DNS BIG-IP. Per chi ha familiarità con BIG-IP LTM, si tratta essenzialmente della creazione di server virtuali DNS, e i server virtuali necessitano di indirizzi IP "in ascolto". Come nello screenshot, segui le frecce per creare server di ascolto/virtuali per DNS/UDP e DNS/TCP.

Aggiungi IP dell'ascoltatore

Di seguito è riportato un esempio di un DNS BIG-IP live, in cui vediamo le impostazioni dell'ascoltatore del server virtuale TCP e possiamo vedere come collega molti dei passaggi precedenti. Ciò include il riferimento al profilo DNS e al profilo del protocollo (TCP), nonché la configurazione di un indirizzo IP valido da utilizzare da parte del DNS. Come per tutti gli oggetti creati con BIG-IP, è utile utilizzare un nome significativo che serva a identificare automaticamente l'oggetto, come dns/siteb/TCP53 nell'esempio di nome assegnato.

Aggiungi informazioni sull'ascoltatore

Questo conclude i passaggi preliminari, in genere "una tantum", di configurazione di un dispositivo BIG-IP con il modulo DNS abilitato. A questo punto siamo pronti per passare ai dettagli della configurazione di una soluzione di gestione del traffico globale con i nostri dispositivi, che sarà ovviamente collegata alle caratteristiche dei siti StorageGRID .

Configurazione dei siti dei data center e creazione delle comunicazioni inter-BIG-IP in quattro passaggi

Fase uno: creare data center

Ogni sito che ospiterà cluster di nodi da bilanciare localmente tramite BIG-IP LTM deve essere inserito nel DNS BIG-IP. Questa operazione deve essere eseguita su un solo DNS BIG-IP, poiché stiamo creando un gruppo DNS sincronizzato per supportare la gestione del traffico, pertanto questa configurazione sarà condivisa tra i membri DNS del gruppo.

Tramite l'interfaccia utente grafica TMUI, selezionare DNS > GSLB > Data Center > Elenco Data Center e creare una voce per ciascuno dei siti StorageGRID . Se si utilizza una configurazione di rete allineata con la Figura 1, dispositivo DNS situato in altri siti non StorageGRID , aggiungere i data center per questi siti oltre ai siti di archiviazione. In questo esempio i siti a e b sono creati in Ohio e Oregon, i BIG-IP sono dispositivi DNS e LTM doppi.

creare data center

Passaggio due: creare server (elenco di tutti gli appliance BIG-IP nella soluzione)

Ora siamo pronti per connettere i singoli cluster del sito StorageGRID alla configurazione DNS BIG-IP. Ricordiamo che l'appliance BIG-IP in ogni sito eseguirà l'effettivo bilanciamento del carico del traffico S3, tramite la configurazione di server virtuali che collegano un indirizzo IP/porta raggiungibile "front-end" a un set di "pool" back-end di appliance Storage Node, utilizzando indirizzi IP/porte "back-end".

Ad esempio, se tutti i nodi di archiviazione in un pool dovessero essere disconnessi a livello amministrativo, ad esempio per la dismissione di un sito o inaspettatamente a causa di controlli di integrità non riusciti in tempo reale, il traffico verrà indirizzato ad altri siti modificando le risposte alle query DNS.

Per collegare i siti StorageGrid, in particolare i server virtuali locali, alla configurazione DNS BIG-IP su ciascun dispositivo, la configurazione deve essere eseguita una sola volta. In una fase successiva, le configurazioni dell'intero gruppo di dispositivi DNS BIG-IP saranno sincronizzate.

In parole povere, creeremo un elenco, denominato elenco server, di tutti i nostri dispositivi BIG-IP, indipendentemente dal fatto che siano dotati di licenza DNS, LTM o entrambi. Una volta completato l'elenco, questo elenco principale verrà sincronizzato con tutti gli appliance DNS BIG-IP.

Su un dispositivo con licenza DNS BIG-IP, seleziona DNS > GSLB > Server > Elenco server e fai clic sul pulsante Aggiungi (+).

creare server

I quattro elementi chiave da considerare quando si aggiunge ogni BIG-IP sono: * Selezionando BIG-IP dal menu a discesa del prodotto, sono possibili altri bilanciatori di carico, ma in genere non hanno la reattività di visibilità in tempo reale quando lo stato di salute del nodo back-end peggiora in ogni sito. * Aggiungere l'indirizzo IP dell'appliance DNS BIG-IP. Probabilmente, la prima volta che si aggiunge un'appliance DNS BIG-IP, l'indirizzo sarà quello dell'appliance corrente a cui si accede tramite GUI, mentre le appliance future saranno quelle delle altre appliance nella soluzione. * Scegliere un monitor di integrità, utilizzare sempre "BIG-IP" quando il bilanciatore del carico aggiunto è un'appliance BIG-IP, per la valutazione dello stato di integrità del nodo StorageGRID back-end. * Facoltativamente, richiedere il rilevamento automatico del server virtuale se l'appliance è un'appliance DNS/LTM doppia.

Imposta nuovi server

In alcune situazioni, ad esempio in caso di problemi di rete temporanei o regole ACL del firewall tra posizioni di rete, quando si aggiunge un dispositivo remoto in questa fase, la scoperta del server virtuale potrebbe non mostrare voci per i dispositivi remoti con LTM configurato. In questi casi, dopo aver aggiunto il nuovo dispositivo ("server"), è possibile aggiungere manualmente i server virtuali come indicato di seguito. Se si aggiunge un dispositivo BIG-IP DNS-only, non ci saranno server virtuali da scoprire o aggiungere a quel dispositivo.

Aggiungi server

Dobbiamo aggiungere queste voci server per ogni appliance nella nostra soluzione in tutti i siti, incluse le appliance BIG-IP DNS, le appliance BIG-IP LTM e tutte le appliance che svolgono il doppio ruolo di unità DNS e LTM.

Fase tre: stabilire la fiducia tra tutti gli apparecchi BIG-IP

Nell'esempio seguente, sono stati aggiunti quattro dispositivi come server, distribuiti su due siti. Si noti che ogni sito ha un DNS BIG-IP e un LTM BIG-IP dedicati. Tuttavia, tutti gli elettrodomestici, ad eccezione di quello attualmente connesso, mostrano icone blu nella colonna "Stato". Ciò significa che non è ancora stata stabilita una relazione di fiducia con gli altri dispositivi BIG-IP.

Stabilire la fiducia del certificato

Per aggiungere attendibilità, accedi tramite SSH al BIG-IP in cui sono stati appena inseriti i dettagli di configurazione tramite la GUI e usa l'account "root" per accedere all'interfaccia della riga di comando del BIG-IP. Emettere il seguente comando singolo al prompt: bigip_add

Il comando "bigip_add" estrae il certificato di gestione dai dispositivi BIGIP di destinazione per utilizzarlo durante la configurazione del canale crittografato "iQuery" tra i server GSLB nel cluster. iQuery, per impostazione predefinita, viene eseguito utilizzando la porta TCP 4353 ed è l'hearbeat che consente ai membri DNS BOG-IP di rimanere sincronizzati. Utilizza xml e gzip nel canale crittografato. Se si esegue "bigip_add" senza alcuna opzione, il comando verrà eseguito su tutti i dispositivi BIGIP nell'elenco del server GSLB utilizzando il nome utente corrente per connettersi agli endpoint. Per verificare rapidamente se l'operazione è andata a buon fine, basta tornare all'interfaccia utente grafica di BIG-IP e verificare che tutti i server abbiano ora i certificati elencati nel menu a discesa visualizzato.

Verifica l'affidabilità del certificato

Fase quattro: sincronizzare tutti gli appliance DNS BIG-IP con il gruppo DNS

Il passaggio finale consentirà di configurare completamente tutti gli apparecchi DNS BIG-IP semplicemente utilizzando l'interfaccia utente grafica TMUI di una singola unità. In un caso di esempio, in cui sono presenti due siti StorageGRID , ciò significa utilizzare SSH per raggiungere la riga di comando del DNS BIG-IP dell'altro sito. Dopo essersi connessi come root e aver verificato che i criteri/ACL del firewall consentano ai due dispositivi DNS BIG-IP di comunicare sulle porte TCP 22 (SSH), 443 (HTTPS) e 4354 (protocollo iQuery F5), immettere questo comando al prompt: gtm_add <indirizzo IP del primo sito DNS BIG-IP, dove sono stati precedentemente eseguiti tutti i passaggi dell'interfaccia utente grafica>

A questo punto, è possibile eseguire qualsiasi ulteriore lavoro di configurazione DNS su qualsiasi dispositivo DNS BIG-IP aggiunto al gruppo. Il comando precedente, gtm_add, non deve essere applicato ai membri dell'appliance che sono solo LTM. Solo gli apparecchi che supportano DNS richiedono questo comando per diventare parte del gruppo DNS sincronizzato.

Configurazione dei siti dei data center e creazione delle comunicazioni inter-BIG-IP

A questo punto, tutti i passaggi per creare il gruppo di appliance DNS BIG-IP sottostante e funzionante sono completati. Ora possiamo procedere con la creazione di nomi, FQDN, che puntano ai nostri servizi Web/S3 distribuiti esposti in ogni data center StorageGRID .

Questi nomi sono denominati "IP ampi" o WIP in breve e sono normali FQDN DNS con record di risorse DNS A. Tuttavia, anziché puntare a un server come un tradizionale record di risorse A, puntano internamente a pool di server virtuali BIG-IP. Ogni pool, singolarmente, può essere costituito da un insieme di uno o più server virtuali. Un client S3 che richiede un indirizzo IP per la risoluzione dei nomi riceverà l'indirizzo del server virtuale S3 nel sito StorageGRID ottimale selezionato in base ai criteri.

IP estesi, pool e server virtuali in breve

Per fare un esempio semplice e fittizio, un WIP per il nome storage.quantumvault.com potrebbe vedere la soluzione DNS BIG-IP collegata a due pool di potenziali server virtuali. Il primo pool potrebbe essere composto da 4 siti nel Nord America; il secondo pool potrebbe essere composto da 3 siti in Europa.

Il pool selezionato potrebbe essere ottenuto in base a una serie di decisioni politiche; forse si potrebbe utilizzare un semplice rapporto di 5:1 per indirizzare la maggior parte del traffico verso i siti StorageGRID del Nord America. Forse è più probabile una scelta basata sulla topologia, in cui il pool viene scelto in modo che, ad esempio, tutto il traffico S3 di origine europea venga indirizzato ai siti europei e il resto del traffico S3 mondiale venga indirizzato ai data center nordamericani.

Una volta che BIG-IP DNS ha individuato un pool, supponiamo che sia stato selezionato il pool nordamericano: il record di risorse DNS A effettivo restituito per risolvere storage.quantumvault.com può essere uno qualsiasi dei 4 server virtuali supportati da BIG-IP LTM in uno qualsiasi dei 4 siti nordamericani. Ancora una volta, la scelta è guidata dalle policy: esistono semplici approcci "statici" come Round-Robin, mentre selezioni "dinamiche" più avanzate come sonde di prestazioni per misurare la latenza di ciascun sito dai resolver DNS locali vengono mantenute e utilizzate come criterio per la selezione del sito.

Per impostare un pool di server virtuali su un DNS BIG-IP, seguire il percorso del menu DNS > GSLB > Pool > Elenco pool > Aggiungi (+). In questo esempio, possiamo vedere che vari server virtuali nordamericani vengono aggiunti a un pool e l'approccio preferito al bilanciamento del carico, quando viene selezionato questo pool, viene scelto in modo graduale.

Nuova piscina

Aggiungiamo il WIP (Wide IP), il nome del nostro servizio che verrà risolto dal DNS, a una distribuzione seguendo DNS > GSLB > Wide IP > Wide IP List > Create (+). Nell'esempio seguente, forniamo un esempio di WIP per un servizio di archiviazione abilitato per S3.

Configurare WIP

Adattare il DNS per supportare la gestione del traffico globale

A questo punto tutti i nostri dispositivi BIG-IP sottostanti sono pronti per eseguire il GSLB (bilanciamento del carico globale del server). Per sfruttare la soluzione, dobbiamo semplicemente modificare e assegnare i nomi utilizzati per i flussi di traffico S3. L'approccio generale è quello di delegare parte di un dominio DNS esistente di un'azienda al controllo del DNS BIG-IP. Ciò significa "ritagliare" una sezione dello spazio dei nomi, un sottodominio, e delegare il controllo di questo sottodominio agli appliance DNS BIG-IP. Tecnicamente, ciò si ottiene assicurandosi che gli appliance DNS BIG-IP dispongano di record di risorse DNS (RR) nel DNS aziendale e quindi trasformando questi nomi/indirizzi in record di risorse DNS del server dei nomi (NS) per il dominio delegato.

Oggigiorno le aziende possono gestire il DNS in vari modi, uno dei quali è una soluzione completamente ospitata. Un esempio di ciò sarebbe la gestione e l'utilizzo del DNS tramite Windows Server 2025. Un approccio alternativo può essere quello di sfruttare provider cloud-DNS come AWS Route53 o Squarespace.

Ecco un esempio fittizio a scopo illustrativo. StorageGRID supporta la lettura e la scrittura di oggetti tramite il protocollo S3 con un dominio esistente gestito da AWS Route53; il dominio di esempio esistente è f5demo.net.

Vorremmo assegnare il sottodominio engineering.f5demo.net agli apparecchi DNS BIG-IP per la gestione del traffico globale. Per fare ciò, creiamo un nuovo record di risorse NS (name server) per engineering.f5demo.net e lo indirizziamo all'elenco dei nomi degli appliance DNS BIG-IP. Nel nostro esempio abbiamo due dispositivi DNS BIG-IP e pertanto creiamo per essi due record di risorse A.

record di risorse A

Ora, ad esempio, configureremo un IP ampio (WIP) nel nostro DNS BIG-IP, poiché il DNS utilizza la sincronizzazione di gruppo, dobbiamo solo effettuare la regolazione utilizzando l'interfaccia utente grafica di un dispositivo. All'interno dell'interfaccia utente grafica DNS BIG-IP, andare su DNS > GSLB > IP estesi > Elenco IP estesi (+). Ricordiamo che in una configurazione FQDN DNS tradizionale si immetterebbero uno o più indirizzi IPv4; nel nostro caso puntiamo semplicemente a uno o più pool di server virtuali StorageGRID .

Ampio elenco IP

Nel nostro esempio, abbiamo server HTTPS web generici situati sia in Ohio che in Oregon. Con un semplice approccio "round robin", dovremmo essere in grado di vedere il DNS globale rispondere alle query per i mapping dei record di risorse A per www.wip.engineering.f5demo.net con entrambi gli IP del server virtuale.

traffico round robin

Un test semplice può essere effettuato con i browser Web o, nel caso di S3 che utilizza StorageGRID, forse con strumenti grafici come S3Browser. Ogni query DNS vedrà il sito del data center successivo nel pool utilizzato come destinazione per il traffico successivo, grazie alla nostra scelta di Round Robin all'interno del pool.

Nella nostra configurazione di esempio, possiamo usare dig o nslookup per generare rapidamente una serie di due query DNS e assicurarci che il DNS BIG-IP stia effettivamente eseguendo un bilanciamento del carico round robin, con il risultato che entrambi i siti ricevono traffico nel tempo.

esempio nslookup

Esplorazione suggerita per tecniche più avanzate

Uno dei tanti approcci possibili prevede l'utilizzo della modalità "Disponibilità globale" anziché del semplice esempio "Round Robin" fornito sopra. Grazie alla disponibilità globale, è possibile indirizzare il traffico verso l'ordine sequenziale dei pool o dei server virtuali all'interno di un singolo pool. In questo modo, tutto il traffico S3 potrebbe essere indirizzato per impostazione predefinita, ad esempio, verso un sito di New York City.

Se i controlli di integrità indicano un problema con la disponibilità del nodo StorageGRID in questo sito, il traffico potrebbe a quel punto essere indirizzato a St. Louis. Se St. Louis dovesse riscontrare problemi di salute, un sito a Francoforte potrebbe a sua volta iniziare a ricevere transazioni di lettura o scrittura S3. Pertanto, la disponibilità globale è un approccio alla resilienza complessiva della soluzione S3 StorageGRID . Un altro approccio consiste nel combinare e abbinare approcci di bilanciamento del carico, utilizzando un approccio a livelli.

Metodo di bilanciamento del carico

In questo esempio, un'opzione "dinamica" è la prima scelta di bilanciamento del carico per i siti nel pool configurato. Nell'esempio mostrato, viene mantenuto un approccio di misurazione continua che utilizza il sondaggio attivo delle prestazioni del resolver DNS locale e funge da catalizzatore per la selezione del sito. Se questo approccio non fosse disponibile, i singoli siti possono essere selezionati in base al rapporto assegnato a ciascuno. Grazie al rapporto, i siti StorageGRID più grandi e con maggiore larghezza di banda possono ricevere più transazioni S3 rispetto ai siti più piccoli. Infine, come possibile scenario di disaster recovery, qualora tutti i siti nel pool diventassero non funzionanti, l'IP di fallback specificato viene utilizzato come sito di ultima istanza. Uno dei metodi di bilanciamento del carico più interessanti del DNS BIG-IP è la "Topologia", in cui viene osservata la sorgente in entrata delle query DNS, il resolver DNS locale dell'utente S3, e utilizzando le informazioni sulla topologia di Internet viene selezionato dal pool il sito apparentemente "più vicino".

Infine, se i siti si estendono in tutto il mondo, potrebbe valere la pena prendere in considerazione l'utilizzo della tecnologia "probe" dinamica discussa in dettaglio nel manuale DNS F5 BIG-IP. Con le sonde è possibile monitorare le fonti frequenti di query DNS, ad esempio un partner business-to-business il cui traffico utilizza generalmente lo stesso resolver DNS locale. Le sonde DNS BIG-IP possono essere avviate dal BIG-IP LTM in ogni sito nel mondo, per determinare in generale quale sito potenziale offrirebbe la latenza più bassa per le transazioni S3. Pertanto, il traffico proveniente dall'Asia potrebbe essere meglio servito dai siti StorageGRID asiatici rispetto ai siti situati in Nord America o in Europa.

Conclusione

L'integrazione di F5 BIG-IP con NetApp StorageGRID risolve le sfide tecniche legate alla disponibilità e alla coerenza dei dati su più siti e all'ottimizzazione del routing delle transazioni S3. L'implementazione di questa soluzione migliora la resilienza, le prestazioni e l'affidabilità dello storage, rendendola ideale per le aziende che cercano un'infrastruttura di storage solida, scalabile e flessibile.

Per saperne di più, la documentazione ufficiale F5 per BIG-IP DNS può essere trovata qui "collegamento". È inoltre possibile trovare una guida guidata allo stile di classe che fornisce istruzioni dettagliate su un esempio di configurazione "qui".