Configurazione di Dispatcher

Prima di eseguire le operazioni riportate in questo capitolo, vedere Pianificazione di Dispatcher. Questo capitolo illustra come creare una configurazione di base per il componente Dispatcher di Load Balancer.

Nota:
Per le versioni precedenti, quando il prodotto era noto come Network Dispatcher, il nome del comando per il controllo del Dispatcher era ndcontrol. Il nome del comando per il controllo del Dispatcher è ora dscontrol.

Panoramica delle attività di configurazione

Prima di iniziare le procedure di configurazione contenute nella tabella, verificare che la macchina Dispatcher e tutte le macchine server siano collegate in rete, abbiano indirizzi IP validi e siano in grado di eseguire il ping reciprocamente.

Tabella 1. Attività di configurazione per la funzione Dispatcher
Attività Descrizione Informazioni correlate
Configurazione della macchina Dispatcher.

Configurazione del bilanciamento del carico.

Configurazione della macchina Dispatcher
Configurazione delle macchine da sottoporre a bilanciamento del carico. Creazione dell'alias dell'unità loopback, ricerca di instradamenti supplementari ed eventuale eliminazione di questi ultimi. Configurazione delle macchine server per il bilanciamento del carico

Metodi di configurazione

Per configurare il Dispatcher, sono disponibili quattro metodi di base:

Riga comandi

Si tratta del metodo più diretto per configurare il Dispatcher. I valori dei parametri dei comandi devono essere immessi utilizzando caratteri dell'alfabeto inglese. Le uniche eccezioni sono i nomi host (utilizzati in cluster, server e comandi highavailability) e i nomi file (utilizzati in comandi file).

Per avviare il Dispatcher dalla riga comandi:

  1. Emettere dsserver dal prompt dei comandi. Per arrestare il servizio, immettere: dsserver stop
    Nota:
    Nei sistemi Windows, fare clic su Start > Pannello di controllo > Strumenti di amministrazione > Servizi. Fare clic con il tasto destro del mouse su IBM® Dispatcher e selezionare Avvia. Per arrestare il servizio, effettuare le stesse operazioni e selezionare Arresta.
  2. Quindi, emettere i comandi di controllo del Dispatcher desiderati per impostare la propria configurazione. Le procedure descritte nel presente manuale presumono l'uso della riga comandi. Il comando è dscontrol. Per ulteriori informazioni sui comandi, vedere Riferimenti sui comandi per Dispatcher e CBR.

È possibile utilizzare una versione ridotta dei parametri del comando dscontrol, immettendo le lettere che designano in modo univoco i parametri. Ad esempio, per visualizzare la guida del comando di salvataggio file, è possibile immettere dscontrol he f anziché dscontrol help file.

Per attivare l'interfaccia della riga comandi: emettere dscontrol per ricevere un prompt dei comandi dscontrol.

Per chiudere l'interfaccia della riga comandi: immettere exit o quit.

Script

È possibile immettere i comandi per la configurazione di Dispatcher in un file script di configurazione per eseguirli tutti insieme. Consultare File di configurazione di Load Balancer di esempio.

Nota:
Per eseguire rapidamente il contenuto di un file di script (ad esempio, myscript), utilizzare uno dei seguenti comandi:

Per salvare la configurazione corrente nel file di script (ad esempio, savescript), eseguire il comando:

dscontrol file save savescript

Questo comando salverà il file script di configurazione nella seguente directory:

GUI

Per istruzioni generali e un esempio della GUI, vedere Figura 38.

Per avviare la GUI, effettuare quanto segue:

  1. Verificare che dsserver sia in esecuzione
  2. A seconda del sistema operativo utilizzato, effettuare una delle seguenti operazioni:

Per configurare il componente Dispatcher dalla GUI, è necessario anzitutto selezionare Dispatcher nella struttura ad albero. È possibile avviare l'executor e il gestore dopo essersi collegati a un host. Inoltre, è possibile creare cluster contenenti porte e server e avviare gli advisor per il gestore.

La GUI può essere utilizzata per eseguire le operazioni che verrebbero effettuate con il comando dscontrol. Ad esempio, per definire un cluster utilizzando la riga comandi, si deve immettere il comando dscontrol cluster add cluster. Per definire un cluster dalla GUI, fare clic con il tasto destro del mouse su Executor, quindi nel menu a comparsa fare clic con il tasto sinistro del mouse su Add Cluster. Immettere l'indirizzo del cluster nella finestra a comparsa, quindi fare clic su OK.

I file di configurazione Dispatcher esistenti possono essere caricati utilizzando l'opzione Load New Configuration (per sostituire completamente la configurazione corrente) e l'opzione Append to Current Configuration (per aggiornare la configurazione corrente), contenute nel menu a comparsa Host. Salvare periodicamente la configurazione Dispatcher su un file utilizzando l'opzione Save Configuration File As contenuta nel menu a comparsa Host. Il menu File situato sulla parte superiore della GUI consente di salvare le connessioni host correnti in un file o di ripristinare le connessioni nei file esistenti per tutti i componenti di Load Balancer.

I comandi di configurazione possono essere eseguiti anche da remoto. Per ulteriori informazioni, vedere RMI (Remote Method Invocation).

Per eseguire un comando dalla GUI: evidenziare il nodo Host dalla struttura ad albero della GUI e selezionare Send command.... dal menu a comparsa. Nel campo di immissione dei comandi, digitare il comando che si desidera eseguire, ad esempio: executor report. I risultati e la cronologia dei comandi in esecuzione nella sessione corrente vengono visualizzati nella finestra fornita.

È possibile accedere alla guida (Help) facendo clic sull'icona punto interrogativo nell'angolo in alto a destra della finestra di Load Balancer.

Per ulteriori informazioni sull'uso della GUI, vedere Appendice A. GUI: istruzioni generali.

Configurazione mediante la procedura guidata

Se si sta utilizzando la configurazione guidata, effettuare le operazioni riportate di seguito:

  1. Avviare dsserver sul Dispatcher:

  2. Avviare la funzione della procedura guidata del Dispatcher, dswizard.

La procedura guidata illustra nei dettagli come creare una configurazione di base del componente Dispatcher. L'utente dovrà rispondere ad alcune domande circa la rete e riceverà tutte le informazioni necessarie per impostare un cluster del Dispatcher per bilanciare il traffico tra un gruppo di server.

Configurazione della macchina Dispatcher

Per poter configurare la macchina Dispatcher, è necessario disporre dei diritti utente root (per AIX, HP-UX, Linux o Solaris) o amministratore su Windows.

Su tutte le piattaforme supportate, Load Balancer può disporre di un server posizionato . Ciò significa che Load Balancer può fisicamente risiedere su una macchina server su cui sta eseguendo il bilanciamento del carico.

Per la macchina Dispatcher, quando si utilizza il metodo di inoltro mac, saranno necessari almeno due indirizzi IP validi. Per il metodo di inoltro cbr o nat, saranno necessari almeno tre indirizzi IP validi:

Solo su sistemi Solaris:

Verificare che l'inoltro IP non sia abilitato per il protocollo TCP/IP.

La Figura 15 mostra un esempio di Dispatcher impostato con un cluster, due porte e tre server.

Figura 15. Esempio degli indirizzi IP necessari per la macchina Dispatcher

Per la guida dei comandi utilizzati in questa procedura, vedere Riferimenti sui comandi per Dispatcher e CBR.

Per un file di configurazione di esempio, vedere File di configurazione di Load Balancer di esempio.

Fase 1. Avvio della funzione server

Su sistemi AIX, HP-UX, Linux o Solaris: per avviare la funzione server, immettere dsserver.

Su sistemi Windows: la funzione server viene avviata automaticamente come servizio.

Nota:
un file di configurazione predefinito (default.cfg) viene caricato automaticamente all'avvio di dsserver. Se l'utente decide di salvare la configurazione Dispatcher in default.cfg, tutto quello che è stato salvato in questo file verrà automaticamente caricato al successivo avvio di dsserver.

Fase 2. Avvio della funzione executor

Per avviare la funzione executor, immettere il comando dscontrol executor start. In questa fase sarà inoltre possibile modificare diverse impostazioni dell'executor. Consultare Riferimenti sui comandi per Dispatcher e CBR.

Fase 3. Definizione dell'indirizzo non inoltrabile (se diverso dal nome host)

L'indirizzo non inoltrabile viene adoperato per collegarsi alla macchina per scopi di gestione, ad esempio per utilizzare Telnet o SMTP. Per impostazione predefinita, questo indirizzo è il nome host.

Per definire l'indirizzo non inoltrabile, immettere il comando dscontrol executor set nfa IP_address o modificare il file di configurazione di esempio. Per IP_address è possibile specificare il nome simbolico o l'indirizzo IP.

Fase 4. Definizione di un cluster e impostazione delle relative opzioni

Il Dispatcher esegue il bilanciamento del carico delle richieste inviate all'indirizzo cluster per i server configurati sulle porte del cluster specificato.

Il cluster può essere il nome simbolico, l'indirizzo in formato decimale puntato o l'indirizzo speciale 0.0.0.0, che definisce un cluster jolly. Per definire un cluster, emettere il comando dscontrol cluster add. Per impostare le opzioni del cluster, emettere il comando dscontrol cluster set oppure utilizzare la GUI per emettere i comandi. I cluster jolly possono essere utilizzati per individuare più indirizzi IP per i pacchetti in entrata su cui eseguire il bilanciamento del carico. Consultare Utilizzo del cluster jolly per combinare le configurazioni di server, Utilizzo di cluster jolly per bilanciare il carico dei firewall e Utilizzo del cluster jolly con Caching Proxy per proxy trasparente, per ulteriori informazioni.

Fase 5. Creazione dell'alias della scheda di interfaccia di rete (NIC)

Normalmente, dopo aver definito il cluster, è necessario configurare l'indirizzo cluster su una delle schede di interfaccia di rete della macchina Dispatcher. A tale scopo, emettere il comando dscontrol executor configure cluster_address. In questo modo, verrà ricercata una scheda con un indirizzo esistente che appartiene alla stessa sottorete dell'indirizzo cluster. Verrà quindi emesso il comando di configurazione della scheda del sistema operativo per l'indirizzo cluster, utilizzando la scheda individuata e la maschera di rete dell'indirizzo esistente di quella scheda. Ad esempio:

dscontrol executor configure 204.67.172.72 

In alcuni casi, che prevedono cluster aggiunti a un server in standby in modalità a disponibilità elevata o cluster aggiunti a un dispatcher all'interno di una rete geografica che funge da server remoto, è preferibile non configurare l'indirizzo cluster. Inoltre, non è necessario eseguire il comando executor configure se, in modalità autonoma, si utilizza lo script di esempio goIdle. Per informazioni sullo script goIdle, vedere Utilizzo di script.

In rari casi, l'indirizzo cluster a disposizione potrebbe non coincidere con nessuna delle sottoreti degli indirizzi esistenti. In questo caso, utilizzare il secondo formato del comando executor configure e specificare in modo esplicito il nome dell'interfaccia e la maschera di rete. Utilizzare dscontrol executor configure cluster_address interface_name netmask.

Di seguito sono riportati alcuni esempi:

dscontrol executor configure 204.67.172.72 en0 255.255.0.0 
(sistemi AIX)
dscontrol executor configure 204.67.172.72 eth0:1 255.255.0.0 
(sistemi Linux)
dscontrol executor configure 204.67.172.72 eri0 255.255.0.0 
(sistemi Solaris)
dscontrol executor configure 204.67.172.72 en1 255.255.0.0 
(sistemi Windows)

Sistemi Windows

Per utilizzare il secondo formato del comando executor configure su Windows, è necessario determinare il nome dell'interfaccia da utilizzare. Se si dispone solo di una scheda Ethernet nella macchina, il nome dell'interfaccia sarà en0. In presenza di più schede, sarà necessario determinare la mappatura delle schede. Effettuare quanto segue:

  1. Dalla riga comandi avviare l'executor: dscontrol executor start
  2. Eseguire il comando: dscontrol executor xm 1

L'output verrà visualizzato sullo schermo. Per determinare l'interfaccia da utilizzare per la configurazione di Load Balancer, ricercare l'indirizzo IP della macchina Load Balancer nelle righe che seguono Number of NIC records.

L'indirizzo IP della macchina Load Balancer verrà riportato come: ia->ia_addr. Il nome dell'interfaccia associata sarà riportato come ifp->if_name.

I nomi delle interfacce assegnate dal comando executor configure vengono associati ai nomi delle interfacce riportati in questo comando.

Dopo aver ottenuto le informazioni sulla mappatura, è possibile creare un alias sull'interfaccia di rete all'indirizzo cluster.

Utilizzo dei comandi ifconfig per configurare gli alias cluster

Su sistemi Linux o UNIX, il comando executor configure esegue i comandi ifconfig.

Sistemi Solaris e HP-UX

Quando si utilizzano applicazioni dei server specifici del collegamento che si collegano a un elenco di indirizzi IP che non contengono l'IP del server, utilizzare il comando arp publish al posto di ifconfig per impostare dinamicamente un indirizzo IP sulla macchina Load Balancer. Ad esempio:

 arp -s <cluster> <Load Balancer MAC address> pub

Fase 6. Definizione delle porte e impostazioni delle relative opzioni

Per definire una porta, immettere il comando dscontrol port add cluster:port, modificare il file di configurazione di esempio o utilizzare la GUI. Per cluster è possibile specificare il nome simbolico o l'indirizzo IP. Per port specificare il numero della porta che si sta utilizzando per il protocollo. In questa fase, è possibile anche modificare varie impostazioni di porta. È necessario definire e configurare tutti i server di una porta. Consultare Riferimenti sui comandi per Dispatcher e CBR.

Il numero di porta 0 (zero) viene utilizzato per specificare una porta jolly. Questa porta accetta il traffico di una porta non destinato ad alcuna porta definita sul cluster. La porta jolly verrà utilizzata per configurare regole e server per qualsiasi porta. Questa funzione può essere utilizzata anche in caso di una configurazione server/regola identica per più porte. Il traffico su una porta può quindi influire sulle decisioni inerenti il bilanciamento del carico del traffico su altre porte. Vedere Utilizzo della porta jolly per indirizzare il traffico per una porta non configurata, per ulteriori informazioni sui casi in cui è opportuno utilizzare una porta jolly.

Fase 7. Definizione delle macchine server con bilanciamento del carico

Per definire una macchina server con bilanciamento del carico, immettere il comando dscontrol server add cluster:port:server, modificare il file di configurazione di esempio o utilizzare la GUI. Per cluster e server, è possibile specificare il nome simbolico o l'indirizzo IP. Per port specificare il numero della porta che si sta utilizzando per il protocollo. Per poter effettuare un bilanciamento del carico, è necessario definire più di un server per una porta su un cluster.

Server specifici del collegamento: Se il componente Dispatcher sta eseguendo il bilanciamento del carico su server specifici del collegamento, i server devono essere configurati per collegarsi all'indirizzo cluster. Poiché il Dispatcher inoltra i package senza modificare l'indirizzo IP di destinazione, quando i package raggiungono il server, conterranno ancora l'indirizzo cluster come destinazione. Se un server è stato configurato per collegarsi a un indirizzo IP diverso dall'indirizzo cluster, il server non sarà in grado di accettare pacchetti/richieste destinati al cluster.

Per determinare se il server è bind specifico, emettere il comando netstat -an e ricercare server:porta. Se il server non è specifico del collegamento, il risultato di questo comando sarà 0.0.0.0:80. Se invece il server è specifico del collegamento, verrà visualizzato un indirizzo del tipo 192.168.15.103:80.

Nota:
Per sistemi Solaris e Linux: quando si utilizzano gli advisor, i server specifici del collegamento non devono essere posizionati.

Posizionamento con più indirizzi: In una configurazione posizionata, l'indirizzo della macchina server posizionata non deve essere identico all'indirizzo di non inoltro (NFA). Se la macchina è stata definita con più indirizzi IP, è possibile utilizzare un altro indirizzo. Per il componente Dispatcher, la macchina server posizionata deve essere definita come posizionata tramite il comando dscontrol server. Per ulteriori informazioni sui server posizionati, vedere Utilizzo dei server posizionati.

Per ulteriori informazioni sulla sintassi del comando dscontrol server, vedere dscontrol server -- configura i server.

Fase 8. Avvio della funzione gestore (facoltativo)

La funzione gestore migliora il bilanciamento del carico. Per avviare il gestore, immettere il comando dscontrol manager start, modificare il file di configurazione di esempio o utilizzare la GUI.

Fase 9. Avvio della funzione advisor (facoltativo)

Gli advisor forniscono al gestore ulteriori informazioni sulla capacità delle macchine server con bilanciamento del carico di rispondere alle richieste. Un advisor è specifico di un protocollo. Ad esempio, per avviare l'advisor HTTP, immettere il seguente comando:

dscontrol advisor start http port
Per un elenco degli advisor e delle relative porte predefinite, vedere Riferimenti sui comandi per Dispatcher e CBR. Per una descrizione di ciascun advisor, vedere Elenco di advisor.

Fase 10. Impostazione delle proporzioni dei cluster secondo necessità

Se si avviano gli advisor, è possibile modificare le proporzioni di importanza attribuite alle informazioni raccolte dall'advisor che devono essere incluse nelle decisioni relative al bilanciamento del carico. Per impostare le proporzioni del cluster, immettere il comando dscontrol cluster set cluster proportions. Per ulteriori informazioni, consultare Proporzione di importanza attribuita alle informazioni sullo stato.

Configurazione delle macchine server per il bilanciamento del carico

Effettuare le operazioni riportate di seguito in presenza di una delle seguenti condizioni:

Quando si utilizza il metodo di inoltro mac, il Dispatcher bilancerà il carico solo tra i server che consentono di configurare la scheda loopback con un indirizzo IP supplementare, per cui il server backend non risponderà mai alle richieste ARP (address resolution protocol). Attenersi alle operazioni descritte in questa sezione per configurare le macchine server sottoposte a bilanciamento del carico.

Fase 1. Creazione dell'alias dell'unità loopback

Per far funzionare macchine server sottoposte a bilanciamento del carico, è necessario impostare l'unità loopback (spesso denominata lo0) (o, preferibilmente, crearne l'alias) per l'indirizzo cluster. Quando si utilizza il metodo di inoltro mac, il componente Dispatcher non modifica l'indirizzo IP di destinazione nel pacchetto TCP/IP prima di inoltrare il pacchetto a una macchina server TCP. Configurando l'unità loopback sull'indirizzo cluster, o aggiungendovi l'alias, le macchine server sottoposte a bilanciamento del carico accettano un pacchetto destinato all'indirizzo cluster.

Con un sistema operativo che supporta l'aggiunta dell'alias delle interfacce di rete (come AIX, HP-UX, Linux, Solaris o Windows), si dovrebbe creare l'alias dell'unità loopback per l'indirizzo cluster. Il vantaggio derivante dall'uso di un sistema operativo che supporta gli alias è la possibilità di configurare macchine server sottoposte a bilanciamento del carico destinate a servire più indirizzi cluster.

IMPORTANTE: per i sistemi Linux, consultare Alternative per l'aggiunta dell'alias loopback Linux quando si utilizza il metodo di inoltro mac di Load Balancer.

Se si dispone di un server con un sistema operativo che non supporta gli alias, è necessario impostare l'unità loopback per l'indirizzo cluster.

Utilizzare il comando del sistema operativo a disposizione, come illustrato nella Tabella 2, per impostare o creare l'alias dell'unità loopback.

Tabella 2. Comandi per creare l'alias dell'unità loopback (lo0) per Dispatcher
AIX
AIX 4.3 o versione precedente:
ifconfig lo0 alias cluster_address netmask netmask
Nota:
Utilizzare la maschera di rete dell'adattatore principale.
AIX 5.x o versione successiva:
ifconfig lo0 alias cluster_address netmask 255.255.255.255
HP-UX
ifconfig lo0:1 cluster_address up
Nota:
Se si utilizzano applicazioni server specifiche del bind che eseguono il bind a un elenco di indirizzi IP che non contengono l'IP del server, utilizzare il comando arp publish al posto di ifconfig per impostare dinamicamente un indirizzo IP sulla macchina Load Balancer.

Ad esempio:

arp -s indirizzo_cluster indirizzo_MAC_Load Balancer pub
Linux Selezionare uno dei seguenti comandi:
  • Utilizzare il comando ip
    ip -4 addr add indirizzo_cluster/32 dev lo
  • Utilizzare il comando ifconfig:
    ifconfig lo:1 indirizzo_cluster netmask 255.255.255.255 up
IMPORTANT: una volta immesso uno dei comandi di configurazione sulla macchina, utilizzare sempre lo stesso comando di configurazione (ip o ifconfig), altrimenti si possono verificare dei risultati non previsti.
OS/2 ifconfig lo cluster_address
OS/390 Configurazione di un alias loopback sul sistema OS/390
  • Nel membro del parametro IP (file), un amministratore dovrà creare una voce nell'elenco indirizzi Home. Ad esempio
    HOME
    ;Address                   Link
    192.168.252.11             tr0
    192.168.100.100            1tr1
    192.168.252.12             loopback
  • Per il loopback è possibile definire molti indirizzi.
  • L'indirizzo loopback 127.0.0.1 è configurato per impostazione predefinita.
Solaris
Solaris 7
ifconfig lo0:1 cluster_address 127.0.0.1 up
Solaris 8 e versione successiva
ifconfig lo0:1 plumb cluster_address netmask netmask up
Windows
Windows NT
  1. Fare clic su Start, quindi su Impostazioni.
  2. Fare clic su Pannello di controllo, quindi doppio clic su Rete.
  3. Aggiungere il driver scheda MS Loopback, nel caso l'operazione non fosse stata ancora eseguita.
    1. Nella finestra Rete, fare clic su Schede.
    2. Selezionare Scheda MS Loopback, quindi fare clic su OK.
    3. Quando richiesto, inserire il CD o i dischi di installazione.
    4. Nella finestra Rete, fare clic su Protocolli.
    5. Selezionare Protocollo TCP/IP, quindi fare clic su Proprietà.
    6. Selezionare Scheda MS Loopback, quindi fare clic su OK.
  4. Impostare l'indirizzo loopback sull'indirizzo cluster. Confermare la maschera di sottorete predefinita (255.0.0.0) e non inserire un indirizzo gateway.
Nota:
potrebbe essere necessario chiudere e riaprire il pannello Impostazioni di rete prima di poter visualizzare il driver MS Loopback nella configurazione TCP/IP.
Altre versioni di Windows (incluso Windows Server 2003 e versione successiva)
  1. Utilizzare il comando ipconfig per determinare il nome dell'interfaccia per il dispositivo loopback:
    ipconfig /all
    Questo comando individua la connessione con una descrizione di Microsoft Loopback Adapter. Il seguente esempio riporta l'output del comando ipconfig /all, in cui Microsoft Loopback Adapter è l'adattatore Ethernet Local Area Connection 2, pertanto la connessione è Local Area Connection 2:
    Configurazione IP di Windows
    
     Host Name . . . . . . . . . . . . : ndserv10
     Primary Dns Suffix . . . . . . .  : rtp.somewhere.ibm.com
     Node Type . . . . . . . . . . . . : Unknown
     IP Routing Enabled. . . . . . . . : No
     WINS Proxy Enabled. . . . . . . . : No
     DNS Suffix Search List. . . . . . : rtp.somewhere.ibm.com
    
    Adattatore Ethernet Local Area Connection 2:
    
     Connection-specific DNS Suffix . :
     Description . . . . . . . . . . . : Microsoft Loopback Adapter
     Physical Address. . . . . . . . . : 02-00-4C-4F-4F-50
     DHCP Enabled. . . . . . . . . . . : No
     IP Address. . . . . . . . . . . . : 9.42.92.158
     Subnet Mask . . . . . . . . . . . : 255.255.252.0
     IP Address. . . . . . . . . . . . : 9.42.92.159
     Subnet Mask . . . . . . . . . . . : 255.255.252.0
     IP Address. . . . . . . . . . . . : 9.42.92.160
     IP Address. . . . . . . . . . . . : 9.42.92.159
     Default Gateway . . . . . . . . . :
     DNS Servers . . . . . . . . . . . : 127.0.0.1
  2. Aggiungere l'indirizzo cluster al dispositivo loopback utilizzando il comando netsh. Ad esempio:
    netsh interface ipv4 add address "Local Area Connection 2"
        9.42.92.161
    Nota:
    Se si utilizza una configurazione ad alta disponibilità e la macchina è in esecuzione come macchina principale, non eseguire l'alias per il dispositivo loopback, poiché questo scenario blocca l'instradamento del traffico verso l'indirizzo cluster da parte della macchina di Load Balancer.
  3. Immettere nuovamente il seguente comando ipconfig in modo da osservare l'indirizzo aggiunto all'adattatore loopback. Ad esempio, immettere il seguente comando:
    ipconfig /all
    L'output visualizzato è simile al seguente:
    Adattatore Ethernet Local Area Connection 2:
    
     Connection-specific DNS Suffix . :
     Description . . . . . . . . . . . : Microsoft Loopback Adapter
     Physical Address. . . . . . . . . : 02-00-4C-4F-4F-50
     DHCP Enabled. . . . . . . . . . . : No
     IP Address. . . . . . . . . . . . : 9.42.92.158
     Subnet Mask . . . . . . . . . . . : 255.255.252.0
     IP Address. . . . . . . . . . . . : 9.42.92.159
     Subnet Mask . . . . . . . . . . . : 255.255.252.0
     IP Address. . . . . . . . . . . . : 9.42.92.161 
     IP Address. . . . . . . . . . . . : 9.42.92.160
     IP Address. . . . . . . . . . . . : 9.42.92.159
     Default Gateway . . . . . . . . . :
     DNS Servers . . . . . . . . . . . : 127.0.0.1
  4. Abilitare la funzione di inoltro per tutte le interfacce presenti sulla macchina utilizzando il seguente comando:
    netsh interface ipv4 show interface
    Tutte le interfacce presenti nell'elenco con il nome Local Area Connection devono avere la funzione di inoltro IP abilitata. Ad esempio:
    netsh interface ipv4>show interface
    Querying active state...
    
    Idx  Met  MTU   State         Name
    ---  ---- ----- ------------  -----
    6    2    1280  Disconnected  Teredo Tunneling Pseudo-Interface
    5    0    1500  Connected     Local Area Connection
    4    0    1500  Connected     Local Area Connection 2
    2    1    1280  Connected     Automatic Tunneling Pseudo-Interface
    1    0    1500  Connected     Loopback Pseudo-Interface
    
    netsh interface ipv4>set interface "Local Area Connection"
       forwarding=enabled
    Ok. 
    
    netsh interface ipv4>set interface "Local Area Connection 2"
       forwarding=enabled
    Ok.
  5. Accertarsi che tutti i pacchetti di inoltro per ogni Local Area Connection siano impostati su "Yes." Utilizzare i seguenti comandi:
    netsh interface ipv4>show interface "Local Area Connection"
    
    netsh interface ipv4>show interface "Local Area Connection 2"

Fase 2. Ricerca di un instradamento supplementare

Su alcuni sistemi operativi, potrebbe essere stato creato un instradamento predefinito che deve essere rimosso.

Esempio Windows:

  1. Una volta immesso route print, verrà visualizzata una tabella simile a quella riportata nell'esempio seguente. (Questo esempio illustra la ricerca e la rimozione di un instradamento supplementare al cluster 9.67.133.158 con una maschera di rete predefinita 255.0.0.0.)
    Instradamenti attivi:
     
    Network Address Netmask         Gateway Address  Interface      Metric
    0.0.0.0         0.0.0.0         9.67.128.1       9.67.133.67     1
    9.0.0.0         255.0.0.0       9.67.133.158     9.67.133.158    1
    9.67.128.0      255.255.248.0   9.67.133.67      9.67.133.67     1
    9.67.133.67     255.255.255.255 127.0.0.1        127.0.0.1       1
    9.67.133.158    255.255.255.255 127.0.0.1        127.0.0.1       1
    9.255.255.255   255.255.255.255 9.67.133.67      9.67.133.67     1
    127.0.0.0       255.0.0.0       127.0.0.1        127.0.0.1       1
    224.0.0.0       224.0.0.0       9.67.133.158     9.67.133.158    1
    224.0.0.0       224.0.0.0       9.67.133.67      9.67.133.67     1
    255.255.255.255 255.255.255.255 9.67.133.67      9.67.133.67     1  
  2. Ricercare l'indirizzo cluster nella colonna "Gateway Address". In presenza di un instradamento supplementare, l'indirizzo cluster verrà visualizzato due volte. Nell'esempio riportato, l'indirizzo cluster (9.67.133.158) viene visualizzato nella riga 2 e nella riga 8.
  3. Ricercare l'indirizzo di rete in ciascuna riga in cui compare l'indirizzo cluster. L'utente deve conservare uno di questi instradamenti ed eliminare l'altro, che non è pertinente. L'instradamento supplementare da eliminare sarà quello il cui indirizzo di rete inizia con la prima cifra dell'indirizzo cluster, seguita da tre zero. Nell'esempio riportato, l'instradamento supplementare è quello che si trova alla riga due, con indirizzo di rete 9.0.0.0:
              9.0.0.0    255.0.0.0   9.67.133.158  9.67.133.158     1 
     

Fase 3. Rimozione di un instradamento supplementare

È necessario rimuovere l'instradamento supplementare. Utilizzare il comando del sistema operativo illustrato nella Tabella 3 per rimuovere l'instradamento supplementare.

Esempio: per eliminare un instradamento supplementare come illustrato nella tabella di esempio "Active Routes" della fase 2, immettere:

route delete 9.0.0.0 9.67.133.158
Tabella 3. Comandi per eliminare instradamenti supplementari per il Dispatcher
HP-UX route delete cluster_address cluster_address
Windows route delete network_address cluster_address (a un prompt MS-DOS)
Nota:
è necessario eliminare l'instradamento supplementare ad ogni riavvio del server.

Su Windows 2003, non è possibile eliminare gli instradamenti. Qualsiasi instradamento aggiuntivo deve essere ignorato su Windows 2003. Se si verificano dei problemi con l'instradamento in seguito alla creazione dell'alias, rimuovere l'alias e aggiungerlo di nuovo utilizzando una netmask differente.

Se si utilizza l'esempio illustrato nella Figura 15 e si configura una macchina server su cui è in esecuzione AIX, il comando sarà:

  route delete -net  204.0.0.0  204.67.172.72

Fase 4. Verifica della corretta configurazione del server

Per verificare che un server backend sia correttamente configurato, effettuare le seguenti operazioni da una macchina differente sulla stessa sottorete, quando Load Balancer non è in esecuzione e il cluster non è configurato:

  1. Emettere il comando:
    arp -d cluster
  2. Emettere il comando:
    ping cluster
    Non dovrebbe esserci risposta. Nel caso di risposta al ping, verificare di non aver eseguito il comando ifconfig per l'indirizzo cluster all'interfaccia. Accertarsi che non vi siano macchine che presentino una voce con arp publish nell'indirizzo cluster.
  3. Eseguire il ping sul server backend, quindi emettere subito il comando:
    arp -a
    Nell'output del comando, dovrebbe essere visualizzato l'indirizzo MAC del server. Emettere il comando:
    arp -s cluster indirizzo_mac_server
  4. Eseguire il ping sul cluster. Si dovrebbe ricevere una risposta. Emettere una richiesta http, telnet o di altro tipo indirizzata al cluster che dovrebbe essere gestito dal server backend. Verificare che funzioni correttamente.
  5. Emettere il comando:
    arp -d cluster
  6. Eseguire il ping sul cluster. Non dovrebbe esserci risposta.
    Nota:
    in caso di risposta, emettere un'istruzione arp cluster per richiamare l'indirizzo MAC di una macchina non configurata correttamente. Quindi, ripetere le fasi da 1 a 6.

Alternative per l'aggiunta dell'alias loopback Linux quando si utilizza il metodo di inoltro mac di Load Balancer

Alcune versioni di Linux emettono delle risposte ARP per qualsiasi indirizzo IP configurato sulla macchina su ogni interfaccia presente sulla macchina stessa. Inoltre, è possibile selezionare un indirizzo IP di origine ARP per query ARP who-has basate su tutti gli indirizzi IP presenti sulla macchina, indipendentemente dalle interfacce su cui sono configurati quegli indirizzi. In questo modo, tutto il traffico cluster viene indirizzato a un unico server in maniera indeterminata.

Quando si utilizza il metodo di inoltro mac del Dispatcher, è necessario adoperare un meccanismo che assicuri che il traffico indirizzato al cluster venga accettato dagli stack dei server backend, compresa la macchina in standby con alta disponibilità, se si utilizza sia la disponibilità elevata che il posizionamento.

Nella maggior parte dei casi, è necessario creare l'alias dell'indirizzo cluster sul loopback; perciò, per i server backend è obbligatorio creare l'alias del cluster sul loopback; inoltre, se si utilizza l'alta disponibilità e il posizionamento, per i server con bilanciamento del carico in standby, occorre creare l'alias del cluster sul loopback.

Per verificare che Linux non renda noti gli indirizzi sul loopback, è possibile utilizzare una delle seguenti soluzioni, per garantire la compatibilità tra Linux e il metodo di inoltro mac del Dispatcher.

  1. Utilizzare un kernel che non renda noti gli indirizzi. Si tratta dell'opzione migliore, in quanto non incorre in un sovraccarico per ogni pacchetto e non richiede riconfigurazione per ciascun kernel.
  2. Utilizzare le tabelle IP per reindirizzare tutto il traffico cluster in entrata all'host locale. Se si utilizza questo metodo, non configurare la scheda loopback con un alias. Piuttosto, utilizzare il comando:
     # iptables -t nat -A PREROUTING -d $CLUSTER_ADDRESS -j REDIRECT
    In questo modo, Linux esegue la conversione degli indirizzi di rete (NAT, Network Address Translation) su ciascun pacchetto, sostituendo l'indirizzo del cluster con l'indirizzo dell'interfaccia di rete. Questo metodo penalizza la velocità delle connessioni al secondo del 6,4%. Il metodo funziona su qualsiasi distribuzione comune supportata; non sono necessari moduli kernel o patch+build+install del kernel.
  3. Applicare un modulo noarp versione 1.2.0 o successiva. L'origine kernel deve essere disponibile e correttamente configurata; anche gli strumenti di sviluppo (gcc, gnu make, ecc.) devono essere disponibili. È necessario creare e installare i moduli ad ogni aggiornamento del kernel. Il modulo è disponibile all'indirizzo http://www.masarlabs.com/noarp/. Poiché il codice kernel in sé non viene modificato, è molto meno intrusivo della soluzione n. 4 (elencata di seguito) e meno incline a errori. Inoltre, esso deve essere configurato prima di creare l'alias di un indirizzo cluster sul loopback. Ad esempio:
    # modprobe noarp
    # noarpctl add $CLUSTER_ADDRESS nic-primary-addr
    dove per nic-primary-addr si intende un indirizzo nella stessa sottorete dell'indirizzo cluster. Quindi, è possibile creare normalmente l'alias dei cluster, ad esempio:
     # ifconfig lo:1 cluster address netmask 255.255.255.255 up
    Nota:
    Per le configurazioni a disponibilità elevata, noarpctl adds e dels devono essere inseriti negli script go*. Ciò garantisce che il Load Balancer attivo possa eseguire l'ARP per l'indirizzo cluster e che il Load Balancer in standby, che funge da server, non inizi casualmente (ovvero, in modo indeterminato) a ricevere tutto il traffico cluster.
  4. Richiedere una patch Julian dal sito Web riportato di seguito: http://www.ssi.bg/~ja/#hidden. Attenersi alle istruzioni relative alla distribuzione per applicare la patch e compilare un kernel adatto a essere utilizzato con la distribuzione. Se Load Balancer è inserito in una configurazione a disponibilità elevata, verificare che uname -r corrisponda al kernel fornito per la distribuzione e assicurarsi di iniziare con il file .config del kernel della distribuzione. Dopo aver creato, installato ed eseguito il kernel con la patch nascosta Julian, seguire le istruzioni contenute nella prima soluzione elencata per l'abilitazione della patch.
    Nota:
    Per l'esecuzione di un kernel personalizzato ci potrebbero essere implicazioni associate alla distribuzione.