Configuazione di Content Based Routing

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

Panoramica delle attività di configurazione

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

Nota:
Il contenuto CBR (Content Based Routing) non è disponibile sulle piattaforme che eseguono una JVM a 64 bit, ad eccezione di HP-UX ia64. Su HP-UX ia64, il componente CBR viene eseguito come applicazione 32 bit. È possibile utilizzare il metodo di inoltro CBR del componente Dispatcher di Load Balancer per fornire l'instradamento basato sul contenuto senza l'utilizzo di Caching Proxy. Per ulteriori informazioni, consultare Instradamento basato sul contenuto di Dispatcher (metodo di inoltro cbr).
Tabella 4. Attività di configurazione per il componente CBR
Attività Descrizione Informazioni correlate
Configurazione della macchina CBR. Individuazione dei requisiti. Configurazione della macchina CBR
Configurazione delle macchine da sottoporre a bilanciamento del carico. Configurazione del bilanciamento del carico. Fase 7. Definizione delle macchine server con bilanciamento del carico

Metodi di configurazione

Per creare una configurazione base del componente CBR di Load Balancer, sono disponibili quattro metodi di base:

Per poter utilizzare il componente CBR, è necessario che Caching Proxy sia installato.

Nota:
Caching Proxy è un servizio che viene avviato automaticamente per impostazione predefinita dopo l'installazione. Prima di avviare la funzione server CBR (cbrserver), è necessario arrestare Caching Proxy e modificare il servizio Caching Proxy in modo da essere avviato manualmente e non automaticamente.

Riga comandi

È il mezzo più diretto per la configurazione di CBR. I valori dei parametri dei comandi devono essere immessi utilizzando caratteri dell'alfabeto inglese. Le uniche eccezioni riguardano i nomi host, utilizzati ad esempio nei comandi cluster e server, e i nomi di file.

Per avviare il componente CBR dalla riga comandi:

È possibile immettere una versione abbreviata dei parametri del comando cbrcontrol. È sufficiente inserire le lettere che designano in modo univoco i parametri. Ad esempio, per richiamare la guida sul comando di salvataggio file, è possibile digitare cbrcontrol he f anziché cbrcontrol help file.

Per avviare l'interfaccia della riga comandi: immettere cbrcontrol per ricevere il prompt dei comandi per cbrcontrol.

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

Note:
  1. sulla piattaforma Windows, dsserver del componente Dispatcher viene avviato automaticamente. Se si utilizza solo il componente CBR e non il componente Dispatcher, è possibile arrestare l'avvio automatico di dsserver nel modo indicato di seguito:
    1. Nella finestra Servizi, fare clic con il tasto destro del mouse su IBM® Dispatcher.
    2. Selezionare Proprietà.
    3. Nel campo Tipo di avvio, selezionare Manuale.
    4. Fare clic su OK e chiudere la finestra Servizi.
  2. Quando si configura il componente CBR (Content Based Routing) dal prompt dei comandi del sistema operativo anziché dal prompt cbrcontrol>>, prestare attenzione all'uso dei seguenti caratteri:
    • ( ) parentesi di apertura e chiusura
    • & E commerciale
    • | barra verticale
    • ! punto esclamativo
    • * asterisco

    La shell del sistema operativo potrebbe interpretarli come caratteri speciali e trasformarli per alternare il testo prima che cbrcontrol li possa valutare.

    I caratteri speciali dell'elenco sopra riportato sono caratteri opzionali del comando cbrcontrol rule add e vengono utilizzati per specificare un modello per una regola di contenuto. Ad esempio, il seguente comando potrebbe essere valido solo quando si utilizza il prompt cbrcontrol>>.

    rule add 10.1.203.4:80:cbr_prod_rule_ek type content
      pattern uri=/nipoek/*

    Affinché questo stesso comando funzioni sul prompt del sistema operativo, è necessario aggiungere le doppie virgolette (" ") prima e dopo il modello, come indicato di seguito:

    cbrcontrol rule add 10.1.203.4:80:cbr_prod_rule_ek type content
      pattern "uri=/nipoek/*"

    Se non si utilizzano le virgolette, è possibile che il modello venga troncato quando la regola viene salvata nel componente CBR. Notare che le virgolette non sono supportate quando si utilizza il prompt dei comandi cbrcontrol>>.

Script

È possibile immettere i comandi per la configurazione di CBR in un file script di configurazione per eseguirli tutti insieme.

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:

cbrcontrol 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 le seguenti operazioni.

  1. Verificare che cbrserver sia in esecuzione. Come utente root o amministratore, immettere quanto segue da un prompt dei comandi: cbrserver
  2. A seconda del sistema operativo utilizzato, effettuare una delle seguenti operazioni:
  3. Avviare Caching Proxy. (Dalla GUI, è necessario anzitutto collegarsi all'host ed avviare l'executor per il componente CBR prima di avviare Caching Proxy.) Effettuare una delle seguenti operazioni:

Per configurare il componente CBR dalla GUI, è necessario anzitutto selezionare Content Based Routing nella struttura ad albero. È possibile avviare 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 cbrcontrol. Ad esempio, per definire un cluster utilizzando la riga comandi, si deve immettere il comando cbrcontrol 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 su Add Cluster. Immettere l'indirizzo del cluster nella finestra a comparsa, quindi fare clic su OK.

I file di configurazione CBR 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) contenuti nel menu a comparsa Host. Salvare periodicamente la configurazione di CBR 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.

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

Per eseguire un comando dalla GUI: evidenziare il nodo Host dalla struttura ad albero della GUI e selezionare Send command... dal menu a comparsa Host. 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.

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

Configurazione guidata

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

  1. Avviare cbrserver: immettere cbrserver sul prompt dei comandi come utente root o amministratore.
  2. Avviare la funzione di configurazione guidata di CBR.

    Avviare la configurazione guidata dal prompt dei comandi immettendo cbrwizard. In alternativa, selezionare Configuration Wizard dal menu del componente CBR presente nella GUI.

  3. Avviare Caching Proxy per bilanciare il carico del traffico HTTP o HTTPS (SSL).

    Su sistemi AIX, HP-UX, Linux o Solaris: per avviare Caching Proxy, immettere ibmproxy

    Per sistemi Windows: per avviare il Caching Proxy, accedere al pannello Servizi: Start > Pannello di controllo > Strumenti di amministrazione > Servizi

La configurazione guidata di CBR illustra nei dettagli come creare una configurazione di base per il componente CBR. Pone delle domande relative alla rete e fornisce le istruzioni su come configurare un cluster in modo che il componente CBR possa eseguire il bilanciamento del carico sul traffico esistente tra i server di un gruppo.

Configurazione della macchina CBR

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

Ciascun cluster di server configurato deve disporre di un indirizzo IP. Un indirizzo cluster è un indirizzo associato a un nome host (ad esempio, www.company.com). Questo indirizzo IP viene utilizzato da un client per collegarsi ai server di un cluster. In particolare, questo indirizzo si trova nella richiesta URL proveniente dal client. Tutte le richieste eseguite sullo stesso indirizzo cluster sono sottoposte a bilanciamento del carico da parte di CBR.

Solo per sistemi Solaris: prima di utilizzare il componente CBR, è necessario modificare i valori predefiniti del sistema per gli IPC (Inter-Process Communication). Le dimensioni massime di un segmento di memoria condivisa e il numero di identificatori di semaforo devono essere aumentati. Per ottimizzare il sistema in modo che supporti CBR, modificare il file /etc/system sul proprio sistema aggiungendo le seguenti istruzioni, quindi riavviare:

set shmsys:shminfo_shmmax=0x02000000
set semsys:seminfo_semmap=750
set semsys:seminfo_semmni=30
set semsys:seminfo_semmns=750
set semsys:seminfo_semmnu=30
set semsys:seminfo_semume=30

Se non si aumenta il segmento di memoria condiviso ai valori sopra riportati, il comando cbrcontrol executor start non verrà eseguito correttamente.

Fase 1. Configurazione di Caching Proxy per l'uso di CBR

Per poter utilizzare il componente CBR, è necessario che Caching Proxy sia installato.

Nota:
Caching Proxy è un servizio che viene avviato automaticamente per impostazione predefinita dopo l'installazione. Prima di avviare la funzione server CBR (cbrserver), è necessario arrestare Caching Proxy e modificare il servizio Caching Proxy in modo da essere avviato manualmente e non automaticamente.

È necessario apportare le seguenti modifiche al file di configurazione di Caching Proxy (ibmproxy.conf):

Accertarsi che la direttiva URL in entrata CacheByIncomingUrl sia disattivata (impostazione predefinita).

Nella sezione relativa alla regola di mappatura del file di configurazione, per ciascun cluster, aggiungere una regola di mappatura analoga a:

Proxy    /*  http://cluster.domain.com/*    cluster.domain.com
Nota:
CBR imposta il protocollo, il server e la porta di destinazione in un secondo tempo.

Per il plug-in di CBR devono essere modificate quattro voci:

Ciascuna voce deve trovarsi su un'unica riga. Il file ibmproxy.conf contiene diverse istanze di "ServerInit", una per ciascun plug-in. Le voci di "CBR Plug-in" devono essere modificate e prive di commento.

Di seguito vengono riportate le aggiunte specifiche da inserire nel file di configurazione per ciascun sistema operativo:

Tabella 5. Aggiunte necessarie al file di configurazione CBR in base al sistema operativo
Sistema operativo Aggiunte al file di configurazione CBR
Sistemi AIX, HP-UX, Linux e Solaris
ServerInit  /opt/ibm/edge/lb/servers/lib/liblbcbr.so:ndServerInit 

PostAuth  /opt/ibm/edge/lb/servers/lib/liblbcbr.so:ndPostAuth 

PostExit  /opt/ibm/edge/lb/servers/lib/liblbcbr.so:ndPostExit 

ServerTerm  /opt/ibm/edge/lb/servers/lib/liblbcbr.so:ndServerTerm
Sistemi Windows
ServerInit  <root_installazione>ibm\edge\lb\servers\lib\liblbcbr.dll:ndServerInit 

PostAuth  <root_installazione>ibm\edge\lb\servers\lib\liblbcbr.dll:ndPostAuth 

PostExit  <root_installazione>ibm\edge\lb\servers\lib\liblbcbr.dll:ndPostExit 

ServerTerm  <root_installazione>ibm\edge\lb\servers\lib\liblbcbr.dll:ndServerTerm

Fase 2. Avvio della funzione server

Per avviare la funzione server CBR, digitare cbrserver sulla riga comandi.

un file di configurazione predefinito (default.cfg) viene caricato automaticamente all'avvio di cbrserver. Se si decide di salvare la configurazione CBR in default.cfg, tutto quello che è stato salvato in questo file verrà automaticamente caricato al successivo avvio di cbrserver.

Fase 3. Avvio della funzione executor

Per avviare la funzione executor, immettere il comando cbrcontrol executor start. In questa fase sarà inoltre possibile modificare diverse impostazioni dell'executor. Consultare dscontrol executor -- controlla l'executor.

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

CBR esegue il bilanciamento delle richieste inviate per il cluster sui rispettivi server configurati sulle porte di quel determinato cluster.

Cluster è il nome simbolico situato nella porzione host dell'URL e deve corrispondere al nome utilizzato nell'istruzione Proxy del file ibmproxy.conf.

I cluster definiti in CBR devono essere definiti in modo da corrispondere alla richiesta in entrata. Per definire un cluster, utilizzare lo stesso nome host o lo stesso indirizzo IP che sarà presente nella richiesta in entrata. Ad esempio, se la richiesta arriverà come indirizzo IP, il cluster deve essere definito come indirizzo IP. Se esistono più nomi host che puntano a un unico indirizzo IP (e le richieste possono arrivare con uno qualsiasi di questi nomi host), sarà necessario definire come cluster tutti i nomi host.

Per definire un cluster, immettere il seguente comando:

cbrcontrol cluster add cluster

Per impostare le opzioni del cluster, immettere il seguente comando:

cbrcontrol cluster set cluster option value

Per ulteriori informazioni, vedere Riferimenti sui comandi per Dispatcher e CBR.

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

Se il Caching Proxy in esecuzione è configurato come proxy inverso, quando si esegue il bilanciamento del carico su più siti Web, è necessario aggiungere l'indirizzo cluster di ciascun sito Web su almeno una delle schede di interfaccia di rete della macchina Load Balancer. In caso contrario, è possibile ignorare questa fase.

Su sistemi AIX, HP-UX, Linux o Solaris: per aggiungere l'indirizzo cluster all'interfaccia di rete, utilizzare il comando ifconfig. Utilizzare il comando appropriato per il sistema operativo in uso come indicato nella Tabella 6.

Tabella 6. Comandi per creare l'alias della NIC
AIX ifconfig interface_name alias cluster_address netmask netmask
HP-UX ifconfig interface_name cluster_address netmask netmask up
Linux ifconfig interface_name cluster_address netmask netmask up
Solaris 9 e Solaris 10 ifconfig nome_interfaccia addif indirizzo_cluster netmask netmask up
Nota:
Per sistemi Linux e HP-UX, nome_interfaccia deve avere un numero univoco per ciascun indirizzo cluster aggiunto, ad esempio: eth0:1, eth0:2 e così via.

In Windows 2003: per aggiungere l'indirizzo cluster all'interfaccia di rete, effettuare le seguenti operazioni:

  1. Fare clic su Start > Pannello di controllo > Connessioni di rete > LAN
  2. Fare clic su Proprietà.
  3. Selezionare Protocollo Internet (TCP/IP) e fare clic su Proprietà.
  4. Selezionare Utilizza il seguente indirizzo IP, quindi fare clic su Avanzate.
  5. Fare clic su Aggiungi, quindi digitare l'indirizzo IP e la subnet mask per il cluster.

Fase 6. Definizione delle porte e impostazioni delle relative opzioni

Il numero di porta indica la porta su cui le applicazioni del server rimangono in ascolto. Per CBR con Caching Proxy in esecuzione per il traffico HTTP, la porta è in genere 80.

Per definire una porta sul cluster definito nella fase precedente, immettere quanto segue:

cbrcontrol port add cluster:port 

Per impostare le opzioni della porta, immettere quanto segue:

cbrcontrol port set cluster:port option value

Per ulteriori informazioni, consultare Riferimenti sui comandi per Dispatcher e CBR.

Fase 7. Definizione delle macchine server con bilanciamento del carico

Le macchine server sono le macchine su cui vengono eseguite le applicazioni che si desidera sottoporre a bilanciamento del carico. Server è il nome simbolico o l'indirizzo decimale separato da punti della macchina server. Per definire un server sul cluster e sulla porta, immettere il seguente comando:

cbrcontrol server add cluster:port:server

Per poter effettuare un bilanciamento del carico, è necessario definire più di un server per porta su un cluster.

Fase 8. Aggiunta di regole alla configurazione

Questa è l'operazione chiave nella configurazione di CBR con Caching Proxy. Una regola definisce come distinguere una richiesta URL per poterla inviare al gruppo di server appropriato. Il tipo di regola particolare utilizzata da CBR viene denominata una regola di contenuto. Per definire una regola di contenuto, immettere il seguente comando:

cbrcontrol rule add cluster:port:rule type content pattern pattern

Il valore modello è l'espressione regolare che verrà confrontata con l'URL in ciascuna richiesta client. Per ulteriori informazioni su come configurare il modello, vedere Appendice B. Sintassi della regola di contenuto (modello).

Alcuni altri tipi di regola definiti in Dispatcher possono essere utilizzati anche in CBR. Per ulteriori informazioni, vedere Configurazione del bilanciamento del carico in base alle regole.

Fase 9. Aggiunta di server alle regole

Quando una richiesta client corrisponde a una regola, viene eseguita una query sul gruppo di server della regola per individuare il server migliore. Il gruppo di server della regola è un gruppo secondario di server definito sulla porta. Per aggiungere dei server al gruppo di server della regola, immettere il seguente comando:

cbrcontrol rule useserver cluster:port:rule server

Fase 10. Avvio della funzione gestore (facoltativo)

La funzione gestore migliora il bilanciamento del carico. Per avviare il gestore, immettere il seguente comando:

cbrcontrol manager start

Fase 11. 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:

cbrcontrol advisor start http port

Fase 12. 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 cbrcontrol cluster set cluster proportions. Per ulteriori informazioni, consultare Proporzione di importanza attribuita alle informazioni sullo stato.

Fase 13. Avvio di Caching Proxy

Nel nuovo ambiente, avviare Caching Proxy:

Esempio di configurazione di CBR

Per configurare CBR, effettuare le seguenti operazioni:

  1. Avviare CBR: immettere il comando cbrserver.
  2. Avviare l'interfaccia della riga comandi: immettere il comando cbrcontrol.
  3. Viene visualizzato il prompt cbrcontrol. Immettere i seguenti comandi. (cluster(c),port(p),rule(r),server(s))
  4. Avviare Caching Proxy: immettere il comando ibmproxy. (Sulla piattaforma Windows, avviare Caching Proxy dal pannello Servizi.
  5. Eliminare tutte le configurazioni proxy dal browser.
  6. Caricare http://c/ nel browser dove "'c" è il cluster configurato precedentemente.