Amministrazione di Load Balancer
Load Balancer Add-on per Red Hat Enterprise Linux
Edizione 6
Sommario
Introduzione
- Red Hat Enterprise Linux Installation Guide — Fornisce le informazioni relative all'installazione di Red Hat Enterprise Linux 6.
- Red Hat Enterprise Linux Deployment Guide — Fornisce le informazioni relative all'impiego, configurazione ed amministrazione di Red Hat Enterprise Linux 6.
- Panoramica su Red Hat Cluster Suite — Fornisce una panoramica più dettagliata su High Availability Add-On, Resilient Storage Add-On, e Load Balancer Add-On.
- Configurazione e gestione di High Availability Add-On Questa guida descrive la configurazione e la gestione di High Availability Add-On (conosciuto anche come Red Hat Cluster) per Red Hat Enterprise Linux 6.
- Amministrazione del Logical Volume Manager — Fornisce una descrizione del Logical Volume Manager (LVM), ed include le informazioni su come eseguire LVM in un ambiente clusterizzato.
- Global File System 2: Configurazione e amministrazione — Fornisce le informazioni sull'installazione, configurazione ed amministrazione di Red Hat Resilient Storage Add-On (conosciuto anche come Red Hat Global File System 2).
- DM Multipath — Fornisce le informazioni relative all'utilizzo del Device-Mapper Multipath di Red Hat Enterprise Linux 6.
- Note di rilascio — Fornisce le informazioni sulla release corrente dei prodotti di Red Hat.
1. Commenti Copia collegamentoCollegamento copiato negli appunti!
Capitolo 1. Panoramica Load Balancer Add-On Copia collegamentoCollegamento copiato negli appunti!
Nota
- Bilanciare il carico attraverso i real server.
- Controllare l'integrità dei servizi su ogni real server.
1.1. Una configurazione di base di Load Balancer Add-On Copia collegamentoCollegamento copiato negli appunti!
Figura 1.1. Una configurazione di base di Load Balancer Add-On
eth0:1. Alternativamente ogni server virtuale può essere associato con un dispositivo separato per servizio. Per esempio, il traffico HTTP può essere gestito su eth0:1, ed il traffico FTP gestito su eth0:2.
1.1.1. Condivisione e replica dei dati tra real server Copia collegamentoCollegamento copiato negli appunti!
- Sincronizzare i dati nel pool di real server.
- Aggiungere un terzo livello alla tipologia per l'accesso dei dati condivisi.
1.1.1.1. Configurazione dei Real server per la sincronizzazione dei dati Copia collegamentoCollegamento copiato negli appunti!
rsync per replicare i dati modificati su tutti i nodi, ad un intervallo specifico.
1.2. Configurazione Load Balancer Add-On a tre livelli Copia collegamentoCollegamento copiato negli appunti!
Figura 1.2. Configurazione Load Balancer Add-On a tre livelli
1.3. Panoramica programmazione di Load Balancer Add-On Copia collegamentoCollegamento copiato negli appunti!
1.3.1. Algoritmi di programmazione Copia collegamentoCollegamento copiato negli appunti!
- Programmazione Round-Robin
- Distribuisce ogni richiesta in modo sequenziale a tutti i real server presenti nel pool. Usando questo algoritmo tutti i real server verranno considerati allo stesso livello senza considerare la capacità o il carico. Questo modello di programmazione somiglia molto al round-robin DNS, ma differisce da quest'ultimo perchè risulta essere più granulare in quanto si basa sul collegamento di rete e non sull'host. Questo tipo di programmazione round-robin non soffre di eventuali squilibri causati da richieste DNS in cache.
- Programmazione Weighted Round-Robin
- Distribuisce ogni richiesta in successione all'interno di un gruppo di real server, dando un carico di lavoro maggiore ai server con maggiore capacità. La capacità viene indicata da un fattore di peso assegnato dall'utente, e viene modificata in base alle informazioni sul carico dinamico. A tal proposito consultare Sezione 1.3.2, «Peso del server e programmazione (scheduling)» per maggiori informazioni.La programmazione Weighted round-robin rappresenta la scelta preferita se sono presenti differenze sostanziali di capacità dei real server all'interno di un gruppo. Tuttavia se la richiesta di carico varia sensibilmente, un server con un carico di lavoro molto elevato potrebbe operare oltre ai propri limiti.
- Least-Connection
- Distribuisce un numero maggiore di richieste ai real server con un numero minore di collegamenti attivi. Poichè questo tipo di algoritmo controlla i collegamenti per i real server attraverso la tabella IPVS, esso è un tipo di algoritmo dinamico e rappresenta la scelta migliore se siete in presenza di una elevata variazione nelle richieste di carico. Offre il meglio di se per un gruppo di real server dove ogni nodo presenta una capacità simile. Se in presenza di un gruppo di server con diverse capacità, allora la programmazione di tipo weighted least-connection rappresenta la scelta migliore.
- Weighted Least-Connections (default)
- Distribuisce un numero maggiore di richieste ai server con un numero minore di collegamenti attivi in base alle rispettive capacità. La capacità viene indicata da un peso assegnato dall'utente, e può essere modificata in base alle informazioni relative al carico dinamico. L'aggiunta di peso rende questo algoritmo ideale quando il gruppo di real server contiene un hardware di varia capacità. Per maggiori informazioni consultare Sezione 1.3.2, «Peso del server e programmazione (scheduling)».
- Programmazione Locality-Based Least-Connection
- Distribuisce un numero maggiore di richieste ai server con un numero minore di collegamenti attivi, in base ai rispettivi IP di destinazione. Questo algoritmo può essere utilizzato in un cluster di server proxy-cache. Usato per indirizzare i pacchetti di un indirizzo IP al server per l'indirizzo stesso, a meno che il server non abbia superato la sua capacità e non sia presente un server che utilizzi metà della propria capacità. In tal caso l'indirizzo IP verrà assegnato al real server con un carico minore.
- Programmazione Locality-Based Least-Connection con Programmazione della replica
- Distribuisce un numero maggiore di richieste ai server con un numero minore di collegamenti attivi in base ai propri IP di destinazione. Questo algoritmo viene usato anche in un cluster di server proxy-cache. Esso differisce dalla Programmazione di tipo Locality-Based Least-Connection a causa della mappatura dell'indirizzo IP di destinazione su di un sottoinsieme di nodi del real server. Le richieste vengono indirizzate ad un server presente in questo sottoinsieme con il numero più basso di collegamenti. Se tutti i nodi per l'IP di destinazione hanno superato la propria capacità, esso sarà in grado di replicare un nuovo server per l'indirizzo IP in questione, aggiungendo il real server con un numero minore di collegamenti al sottoinsieme di real server dell'IP interessato. Il nodo con più carico carico verrà rilasciato dal sottoinsieme di real server in modo da evitare un processo di riproduzione non corretto.
- Programmazione Destination Hash
- Distribuisce le richieste al gruppo di real server cercando l'IP sorgente in una tabella hash statica. È possibile usare questo algoritmo in un cluster di server proxy-cache.
- Programmazione Source Hash
- Distribuisce le richieste al gruppo di real server, cercando l'IP sorgente in una tabella hash statica. È possibile utilizzare questo algoritmo con i router LVS con firewall multipli.
1.3.2. Peso del server e programmazione (scheduling) Copia collegamentoCollegamento copiato negli appunti!
1.4. Metodi di instradamento Copia collegamentoCollegamento copiato negli appunti!
1.4.1. Instradamento NAT Copia collegamentoCollegamento copiato negli appunti!
Figura 1.3. Load Balancer Add-On implementato con l'instradamento NAT
1.4.2. Instradamento diretto Copia collegamentoCollegamento copiato negli appunti!
Figura 1.4. Load Balancer Add-On implementato con instradamento diretto
1.4.2.1. Instradamento diretto e restrizioni ARP Copia collegamentoCollegamento copiato negli appunti!
arptables_jf o iptables per il filtro dei pacchetti quando:
arptables_jfimpedisce a ARP di associare i VIP con i real server.- Utilizzando
iptablessi eviterà completamente il problema dell'ARP poichè i VIP non verranno configurati sui real server.
arptables o iptables in un ambiente Balancer Add-On con instradamento diretto consultare Sezione 3.2.1, «Instradamento diretto e arptables_jf» o Sezione 3.2.2, «Instradamento diretto e iptables».
1.5. Persistenza e Firewall Mark Copia collegamentoCollegamento copiato negli appunti!
1.5.1. Persistenza Copia collegamentoCollegamento copiato negli appunti!
1.5.2. Firewall Mark Copia collegamentoCollegamento copiato negli appunti!
1.6. Load Balancer Add-On — Diagramma a blocchi Copia collegamentoCollegamento copiato negli appunti!
Figura 1.5. Componenti di Load Balancer Add-On
pulse viene eseguito sia sul router LVS attivo che su quello passivo. Sul router LVS di backup, pulse invia un heartbeat all'interfaccia pubblica del router attivo, in modo da assicurarsi che il router attivo funzioni correttamente. Sul router attivo, pulse avvia il demone lvs e risponde alle interrogazioni heartbeat provenienti dal router LVS di backup.
lvs invoca l'utilità ipvsadm per configurare e gestire la tabella d'instradamento IPVS nel kernel, e successivamente avvia un processo nanny per ogni server virtuale configurato su ogni real server. Ogni processo nanny controlla lo stato di un servizio configurato su un real server, e indica al demone lvs se è presente un malfunzionamento del servizio su quel real server. Se tale malfunzionamento viene rilevato, il demone lvs indica a ipvsadm di rimuovere il real server in questione dalla tabella d'instradamento IPVS.
send_arp, riassegnando tutti gli indirizzi IP virtuali agli indirizzi hardware NIC (indirizzo MAC) del nodo di backup, e inviando un comando al router attivo tramite l'interfaccia di rete privata e quella pubblica in modo da interrompere il demone lvs sul router attivo. A questo punto verrà avviato il demone lvs sul nodo di backup ed accettate tutte le richieste per i server virtuali configurati.
1.6.1. Componenti di Load Balancer Add-On Copia collegamentoCollegamento copiato negli appunti!
pulse» mostra un elenco dettagliato di ogni componente software in un router LVS.
1.6.1.1. pulse Copia collegamentoCollegamento copiato negli appunti!
/etc/rc.d/init.d/pulse. Successivamente, viene letto il file di configurazione /etc/sysconfig/ha/lvs.cf. Sul router attivo, pulse avvia il demone LVS. Sul router di backup pulse determina lo stato del router attivo eseguendo un heartbeat semplice ad un intervallo configurato dall'utente. Se il router attivo non risponde dopo il suddetto intervallo, verrà inizato un processo di failover. Durante questo processo pulse presente sul router di backup, indica al demone pulse sul router attivo di interrompere tutti i servizi LVS, avviando successivamente il programma send_arp per riassegnare gli indirizzi IP floating all'indirizzo MAC del router di backup, avviando anche il demone lvs.
1.6.1.2. lvs Copia collegamentoCollegamento copiato negli appunti!
lvs viene eseguito sul router LVS attivo una volta invocato da pulse. Esso legge il file di configurazione /etc/sysconfig/ha/lvs.cf, chiama l'utilità ipvsadm per compilare e gestire la tabella di instradamento IPVS, e assegna un processo nanny per ogni servizio Load Balancer Add-On configurato. Se nanny riporta la presenza di un real server inattivo, lvs indica alla utilità ipvsadm di rimuovere il real server in questione dalla tabella di routing IPVS.
1.6.1.3. ipvsadm Copia collegamentoCollegamento copiato negli appunti!
lvs imposta e gestisce Load Balancer Add-On, invocando ipvsadm in modo da aggiungere, modificare o cancellare le voci presenti nella tabella d'instradamento IPVS.
1.6.1.4. nanny Copia collegamentoCollegamento copiato negli appunti!
nanny viene eseguito sul router LVS attivo. Attraverso questo demone, il router attivo determina lo stato di ogni real server, e facoltativamente, controlla il carico di lavoro relativo. Viene eseguito un processo separato per ogni servizio definito su ogni real server.
1.6.1.5. /etc/sysconfig/ha/lvs.cf Copia collegamentoCollegamento copiato negli appunti!
1.6.1.6. Piranha Configuration Tool Copia collegamentoCollegamento copiato negli appunti!
/etc/sysconfig/ha/lvs.cf.
1.6.1.7. send_arp Copia collegamentoCollegamento copiato negli appunti!
Capitolo 2. Configurazione iniziale di Load Balancer Add-On Copia collegamentoCollegamento copiato negli appunti!
Nota
2.1. Configurazione dei servizi sul router LVS Copia collegamentoCollegamento copiato negli appunti!
chkconfig, ntsysv un programma basato su ncurses e Services Configuration Tool. Per utilizzare i suddetti strumenti è necessario essere un utente root.
Nota
su - seguito dalla password root. Per esempio:
su - root password
$ su - root password
- Il servizio
piranha-gui(solo nodo primario) - Il servizio
pulse - Il servizio
sshd
iptables.
chkconfig, digitare il seguente comando per ogni servizio:
/sbin/chkconfig --level 35 daemon on
/sbin/chkconfig --list
Avvertimento
chkconfig, non risulterà in un avvio del demone. Per fare questo usare /sbin/service. Consultare Sezione 2.3, «Avvio servizio Piranha Configuration Tool» per un esempio su come usare /sbin/service.
ntsysv e Services Configuration Tool, consultare il capitolo "Controllo accesso ai servizi" nella Red Hat Enterprise Linux System Administration Guide.
2.2. Impostazione di una password per Piranha Configuration Tool Copia collegamentoCollegamento copiato negli appunti!
/usr/sbin/piranha-passwd
Avvertimento
2.3. Avvio servizio Piranha Configuration Tool Copia collegamentoCollegamento copiato negli appunti!
piranha-gui in /etc/rc.d/init.d/piranha-gui. Per fare questo eseguire come utente root il seguente comando:
/sbin/service piranha-gui start
/sbin/service piranha-gui restart
/usr/sbin/piranha_gui -> /usr/sbin/httpd. Per ragioni di sicurezza la versione del piranha-gui di httpd viene eseguita come utente piranha in un processo separato. Il modo di utilizzo da parte del piranha-gui del servizio httpd implica:
- Apache HTTP Server deve essere installato sul sistema.
- L'arresto o il riavvio di Apache HTTP Server tramite
servicearresterà il serviziopiranha-gui.
Avvertimento
/sbin/service httpd stop o /sbin/service httpd restart su un router LVS, sarà necessario avviare il servizio piranha-gui con il seguente comando:
/sbin/service piranha-gui start
piranha-gui è necessario per poter iniziare la configurazione del Load Balancer Add-On. Tuttavia se state configurando Load Balancer Add-On in modo remoto allora sarà necessario anche il servizio sshd. Così facendo non sarà necessario avviare il servizio pulse fino a quando non completerete la configurazione tramite il Piranha Configuration Tool. Consultate la Sezione 4.8, «Avvio di Load Balancer Add-On» per maggiori informazioni sul servizio pulse.
2.3.1. Configurazione porta del web server Piranha Configuration Tool Copia collegamentoCollegamento copiato negli appunti!
Listen 3636 nella Sezione 2 del file di configurazione del piranha-gui web server, /etc/sysconfig/ha/conf/httpd.conf.
http://localhost:3636. È possibile raggiungere il Piranha Configuration Tool da qualsiasi posizione tramite il web browser, semplicemente sostituendo localhost con l'hostname o l'indirizzo IP del router LVS primario.
piranha nel campo Nome utente insieme alla password, usando piranha-passwd, nel campo Password.
2.4. Limitare l'accesso a Piranha Configuration Tool Copia collegamentoCollegamento copiato negli appunti!
/etc/sysconfig/ha/web/secure/.htaccess. Dopo aver alterato il file non sarà necessario riavviare il servizio piranha-gui, poichè il server controlla il file .htaccess ogni qualvolta accede alla directory.
Order deny,allow Allow from all
Order deny,allow
Allow from all
.htaccess in modo da permettere l'accesso solo dal dispositivo loopback (127.0.0.1). Per maggiori informazioni sul dispositivo loopback consultate il capitolo Script di rete nella Red Hat Enterprise Linux Reference Guide.
Order deny,allow Deny from all Allow from 127.0.0.1
Order deny,allow
Deny from all
Allow from 127.0.0.1
Order deny,allow Deny from all Allow from 192.168.1.100 Allow from 172.16.57
Order deny,allow
Deny from all
Allow from 192.168.1.100
Allow from 172.16.57
Avvertimento
.htaccess, limiterà l'accesso alle pagine di configurazione nella directory /etc/sysconfig/ha/web/secure/, ma non alle pagine di login e d'aiuto in /etc/sysconfig/ha/web/. Per limitare l'accesso alla suddetta directory, create un file .htaccess nella directory /etc/sysconfig/ha/web/ con le righe order, allow, e deny in modo identico a /etc/sysconfig/ha/web/secure/.htaccess.
2.5. Abilitare l'inoltro dei pacchetti Copia collegamentoCollegamento copiato negli appunti!
net.ipv4.ip_forward = 0 in /etc/sysctl.conf nel modo seguente:
net.ipv4.ip_forward = 1
net.ipv4.ip_forward = 1
/sbin/sysctl net.ipv4.ip_forward
1, l'IP forwarding è stato abilitato. Se invece il valore è 0, allora sarà possibile abilitarlo usando il seguente comando:
/sbin/sysctl -w net.ipv4.ip_forward=1
2.6. Configurazione dei servizi sui Real Server Copia collegamentoCollegamento copiato negli appunti!
httpd per servizi web o xinetd per servizi Telnet o FTP.
sshd.
Capitolo 3. Impostazione Load Balancer Add-On Copia collegamentoCollegamento copiato negli appunti!
3.1. Il NAT Load Balancer Add-On Network Copia collegamentoCollegamento copiato negli appunti!
- Disposizione di rete
- Da una prospettiva della struttura di rete, la tipologia per il Load Balancer Add-On che utilizza un instradamento NAT risulta essere quella più semplice da configurare, poichè è necessario solo un punto d'accesso alla rete pubblica. I real server ritornano tutte le richieste attraverso il router LVS in modo che le stesse risultano essere nella propria rete privata.
- Hardware
- La tipologia NAT è la più flessibile in relazione all'hardware, poichè i real server non devono essere macchine Linux per poter funzionare correttamente. In una tipologia NAT ogni real server avrà bisogno di un solo NIC poichè esso risponderà solo al router LVS. I router LVS invece, avranno bisogno ciascuno di due NIC per instradare il traffico tra le due reti. Poichè questa tipologia crea una limitazione nei confronti del router LVS, è possibile impiegare i NIC gigabit Ethernet su ogni router LVS per migliorare la larghezza di banda che un router LVS è in grado di gestire. Se il gigabit Ethernet viene implementato sui router LVS, qualsiasi interruttore che collega i real server ai router LVS deve avere un minimo di due porte gigabit Ethernet per gestire in modo efficiente il carico.
- Software
- Poichè la tipologia NAT richiede l'utilizzo di
iptablesper alcune configurazioni, potrebbe esser necessario eseguire una ulteriore configurazione esterna al Piranha Configuration Tool. In particolare, i servizi FTP e l'utilizzo dei firewall mark richiedono una configurazione manuale supplementare dei router LVS, per instradare in modo correto tutte le richieste.
3.1.1. Configurazione delle interfacce di rete per il Load Balancer Add-On con NAT Copia collegamentoCollegamento copiato negli appunti!
eth0) saranno sulla rete 192.168.26/24 (questo non è un IP instradabile, ma pretendiamo che ci sia un firewall di fronte al router LVS), e le interfacce private che collegano ai real server (eth1) saranno sulla rete 10.11.12/24.
Importante
network ed il Load Balancer Add-on, non è compatibile con il servizio NetworkManager.
/etc/sysconfig/network-scripts/ifcfg-eth0, potrebbe somigliare al seguente:
/etc/sysconfig/network-scripts/ifcfg-eth1 per l'interfaccia NAT privata sul router LVS potrebbe somigliare al seguente:
DEVICE=eth1 BOOTPROTO=static ONBOOT=yes IPADDR=10.11.12.9 NETMASK=255.255.255.0
DEVICE=eth1
BOOTPROTO=static
ONBOOT=yes
IPADDR=10.11.12.9
NETMASK=255.255.255.0
Importante
Importante
3.1.2. Instradamento sui real server Copia collegamentoCollegamento copiato negli appunti!
Nota
/etc/sysconfig/network-scripts/ifcfg-eth0 del real server somiglierà al seguente:
Avvertimento
GATEWAY=, la prima interfaccia usata otterrà il gateway. Per questo motivo se eth0 e eth1 sono configurate, e eth1 viene utilizzata per il Load Balancer Add-On, i real server potrebbero non indirizzare le richieste in modo corretto.
ONBOOT=no, negli script di rete interessati all'interno della directory /etc/sysconfig/network-scripts/, oppure assicuratevi che il gateway sia stato impostato correttamente nella prima interfaccia usata.
3.1.3. Come abilitare l'instradamento NAT sui router LVS Copia collegamentoCollegamento copiato negli appunti!
Avvertimento
eth0:1 o eth1:1 modificando manualmente gli script di rete, o utilizzando un tool di configurazione di rete. Al contrario utilizzate Piranha Configuration Tool come mostrato in Sezione 4.4, «IMPOSTAZIONI GLOBALI» e Sezione 4.6.1, «Sottosezione SERVER VIRTUALE».
pulse come riportato in Sezione 4.8, «Avvio di Load Balancer Add-On». Quando pulse è in esecuzione il router LVS attivo inizierà ad instradare le richieste al gruppo di real server.
3.2. Load Balancer Add-On tramite instradamento diretto Copia collegamentoCollegamento copiato negli appunti!
- Disposizione di rete
- In una impostazione Load Balancer Add-On dell'instradamento diretto, il router LVS avrà bisogno di ricevere le richieste in entrata e direzionarle al real server corretto per una loro processazione. I real server a loro volta dovranno instradare direttamente le risposte al client. Ciò significa che se il client è su internet ed invia il pacchetto ad un real server attraverso il router LVS, il real server dovrà essere in grado di contattare direttamente il client attraverso internet. È possibile eseguire tale processo attraverso la configurazione del gateway per il real server, in modo da passare i pacchetti ad internet. Ogni real server nel pool dei server, può avere un proprio gateway separato (e ogni gateway può avere un proprio collegamento ad internet), permettendo di avere una portata e scalabilità massima. Tuttavia per impostazioni Load Balancer Add-On tipiche i real server possono comunicare attraverso un gateway (e quindi un collegamento di rete).
Importante
Non è consigliato utilizzare il router LVS come gateway per i real server, poichè sarà possibile creare una impostazione più complessa e non necessaria insieme ad un carico di rete sul router LVS, questa impostazione causerà alcune limitazioni nell'instradamento NAT. - Hardware
- I requisiti hardware di un sistema Load Balancer Add-On che utilizza un instradamento diretto sono simili ad altre tipologie Load Balancer Add-On. Mentre il router LVS ha bisogno di eseguire Red Hat Enterprise Linux per processare le richieste in entrata ed eseguire il bilanciamento del carico per i real server, i real server non hanno bisogno di essere machine Linux per funzionare correttamente. I router LVS necessitano ciascuno di uno o due NIC (se è presente un router di backup). Potrete utilizzare due NIC per facilitare la configurazione e per separare in modo netto il traffico — le richieste in ingresso vengono gestite da un solo NIC, ed i pacchetti indirizzati ai real server gestiti dal secondo.Poichè i real server bypassano il router LVS ed inviano i pacchetti in uscita direttamente ad un client, sarà necessario implementare un gateway per Internet. Per una disponibilità e prestazione massima, ogni real server può essere collegato alla rete portante alla quale il client è collegato (come ad esempio Internet o intranet).
- Software
- Da eseguire una ulteriore configurazione esterna al Piranha Configuration Tool in modo paricolare per amministratori che affrontano problematiche ARP durante l'utilizzo del Load Balancer Add-On tramite un instradamento diretto. Consultate la Sezione 3.2.1, «Instradamento diretto e
arptables_jf» o Sezione 3.2.2, «Instradamento diretto eiptables» per maggiori informazioni.
3.2.1. Instradamento diretto e arptables_jf Copia collegamentoCollegamento copiato negli appunti!
arptables_jf è necessario aver configurato su ogni real server un indirizzo IP virtuale in modo da instradare direttamete i pacchetti. Le richieste ARP per il VIP vengono ignorate dai real server, e qualsiasi pacchetto ARP che potrebbe essere inviato con al suo interno un VIP, viene modificato in modo da contenere l'IP del real server.
arptables_jf le applicazioni potrebbero associarsi ad ogni VIP o porta individuali serviti dal real server. Per esempio, il metodo arptables_jf permette a istanze multiple di Apache HTTP Server di essere eseguite esplicitamente su VIP diversi del sistema. L'utilizzo di arptables_jf comporta vantaggi significativi in termini di prestazione rispetto all'opzione iptables.
arptables_jf i VIP non potranno essere configurati per avviarsi al boot utilizzando gli strumenti di configurazione del sistema di Red Hat Enterprise Linux.
- Create le voci della tabella ARP per ogni indirizzo IP virtuale su ogni real server (il real_ip è l'IP usato dal director per comunicare con il real server; spesso è l'IP assegnato all'
eth0):arptables -A IN -d <virtual_ip> -j DROP arptables -A OUT -s <virtual_ip> -j mangle --mangle-ip-s <real_ip>
arptables -A IN -d <virtual_ip> -j DROP arptables -A OUT -s <virtual_ip> -j mangle --mangle-ip-s <real_ip>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ciò permetterà ai real server di ignorare tutte le richieste ARP per gli indirizzi IP virtuali, modificando qualsiasi risposta ARP in uscita che potrebbe contenere l'IP virtuale se non modificata, contenendo invece l'IP reale del server. L'unico nodo che dovrebbe rispondere alle richieste ARP per qualsiasi VIP, risulta essere il nodo LVS attivo. - Una volta completato questo processo su ogni real server, salvate le voci per la tabella ARP digitando i seguenti comandi su ogni real server:
service arptables_jf savechkconfig --level 2345 arptables_jf onIl comandochkconfigcauserà il ricaricamento della configurazione di arptables al momento dell'avvio da parte del sistema — prima dell'avvio della rete. - Configurate l'indirizzo IP virtuale su tutti i real server utilizzando
ifconfigper creare un alias IP. Per esempio:ifconfig eth0:1 192.168.76.24 netmask 255.255.252.0 broadcast 192.168.79.255 up
# ifconfig eth0:1 192.168.76.24 netmask 255.255.252.0 broadcast 192.168.79.255 upCopy to Clipboard Copied! Toggle word wrap Toggle overflow Oppure utilizzando l'utilitàiproute2,ip, per esempio:ip addr add 192.168.76.24 dev eth0
# ip addr add 192.168.76.24 dev eth0Copy to Clipboard Copied! Toggle word wrap Toggle overflow Come precedentemente riportato, gli indirizzi IP virtuali non possono essere configurati in modo da aviarsi al boot utilizzando i tool di configurazione del sistema di Red Hat. Una soluzione a questo problema potrebbe essere quella di posizionare i suddetti comandi in/etc/rc.d/rc.local. - Configurate Piranha per l'instradamento diretto. Per maggiori informazioni consultate il Capitolo 4, Configurazione di Load Balancer Add-On con Piranha Configuration Tool.
3.2.2. Instradamento diretto e iptables Copia collegamentoCollegamento copiato negli appunti!
iptables. Per configurare l'instradamento diretto utilizzando iptables è necessario utilizzare regole in grado di creare un proxy trasparente, e che permettono quindi ad un real server di servire i pacchetti inviati all'indirizzo VIP, anche se l'indirizzo VIP non è presente sul sistema.
iptables è più semplice da configurare rispetto al metodo arptables_jf. Questo metodo è in grado di evitare interamente il verificarsi delle problematiche LVS ARP poichè gli indirizzi IP virtuali esistono solo sul director LVS attivo.
iptables rispetto a arptables_jf. Tali problematiche sono dovute ad un overhead durante l'inoltro/mascheramento di ogni pacchetto.
arptables_jf. Per esempio, non è possibile eseguire due servizi Apache HTTP Server separati ma assegnati alla porta 80, poichè entrambi devono essere associati a INADDR_ANY e non agli indirizzi IP virtuali.
iptables seguite le fasi di seguito riportate:
- Su ogni real server eseguite il seguente comando per ogni combinazione di protocollo (TCP o UDP), VIP, e porta da servire:
iptables -t nat -A PREROUTING -p <tcp|udp> -d <vip> --dport <port> -j REDIRECTQuesto comando causerà la processazione, da parte dei real server, dei pacchetti destinati al VIP e alla porta a loro conferiti. - Salvate la configurazione su ogni real server:
service iptables save chkconfig --level 2345 iptables on
# service iptables save # chkconfig --level 2345 iptables onCopy to Clipboard Copied! Toggle word wrap Toggle overflow I comandi sopra riportati causano il ricaricamento della configurazione diiptablesal momento dell'avvio — prima dell'avvio della rete.
3.3. Come eseguire la configurazione Copia collegamentoCollegamento copiato negli appunti!
Importante
eth0 si collega alla rete pubblica, e eth1 si collega a quella privata, allora gli stessi dispositivi sul router LVS di backup dovranno collegarsi alle stesse reti.
3.3.1. Suggerimenti generali per il Networking del Load Balancer Add-On Copia collegamentoCollegamento copiato negli appunti!
- Attivazione delle interfacce di rete reali
- Per attivare una interfaccia di rete reale utilizzate il seguente comando come utente root, sostituendo N con il numero corrispondente dell'interfaccia (
eth0eeth1)./sbin/ifup ethNAvvertimento
Non usate gli scriptifupper attivare gli indirizzi IP floating configurati con Piranha Configuration Tool (eth0:1oeth1:1). Utilizzate il comandoserviceper avviarepulse(consultare Sezione 4.8, «Avvio di Load Balancer Add-On» per maggiori informazioni). - Disattivazione delle interfacce di rete reali
- Per disattivare una interfaccia di rete reale utilizzate il seguente comando come utente root, sostituendo N con il numero corrispondente all'interfaccia (
eth0andeth1)./sbin/ifdown ethN - Controllo dello stato delle interfacce di rete
- Se desiderate controllare quale interfaccia è attiva in un determinato momento, digitate quanto segue:
/sbin/ifconfigPer visualizzare la tabella d'instradamento per una macchina usare il seguente comando:/sbin/route
3.3.1.1. Risoluzione problematiche dell'indirizzo IP virtuale Copia collegamentoCollegamento copiato negli appunti!
pulse.
echo 1 > /proc/sys/net/ipv4/conf/all/promote_secondaries
echo 1 > /proc/sys/net/ipv4/conf/all/promote_secondaries
/etc/sysctl.conf e aggiungere la seguente riga:
net.ipv4.conf.all.promote_secondaries = 1
net.ipv4.conf.all.promote_secondaries = 1
3.4. Servizi multi-port e Load Balancer Add-On Copia collegamentoCollegamento copiato negli appunti!
iptables, esternamente al Piranha Configuration Tool.
3.4.1. Assegnazione dei firewall mark Copia collegamentoCollegamento copiato negli appunti!
iptables.
iptables equivalente per assegnare i firewall mark ai pacchetti di rete.
/sbin/service iptables status
iptables non è in esecuzione, il prompt apparirà istantaneamente.
iptables è attivo, esso visualizzerà un set di regole. Se sono presenti alcune regole, digitate il seguente comando:
/sbin/service iptables stop
/etc/sysconfig/iptables e copiate qualsiasi regola importante in un luogo sicuro prima di procedere.
/sbin/iptables -t mangle -A PREROUTING -p tcp -d n.n.n.n/32 -m multiport --dports 80,443 -j MARK --set-mark 80
/sbin/iptables -t mangle -A PREROUTING -p tcp -d n.n.n.n/32 -m multiport --dports 80,443 -j MARK --set-mark 80
iptables prima di assegnare le regole per la prima volta.
iptables sopra riportati, n.n.n.n deve essere sostituito con l'IP floating per i vostri server virtuali HTTP e HTTPS. Questi comandi avranno l'effetto di assegnare a qualsiasi traffico indirizzato al VIP sulle porte appropriate, un firewall mark di 80, il quale a sua volta viene riconosciuto da IPVS e inoltrato in modo appropriato.
Avvertimento
3.5. Configurazione di FTP Copia collegamentoCollegamento copiato negli appunti!
3.5.1. Come funziona FTP Copia collegamentoCollegamento copiato negli appunti!
- Collegamenti attivi
- Quando si stabilisce un collegamento attivo il server aprirà un collegamento dei dati per il client dalla porta 20 ad una porta con un valore più alto sulla macchina client. Successivamente tutti i dati del server verranno passati attraverso questo collegamento.
- Collegamenti passivi
- Quando stabilite un collegamento passivo il client chiederà al server FTP di stabilire una porta per il collegamento passivo, la quale può essere superiore a 10,000. Per questa sessione il server si unisce alla suddetta porta e trasmette al client il numero della porta stessa. A questo punto il client aprirà la nuova porta per il collegamento dei dati. Ogni richiesta fatta dal client risulterà in un collegamento dei dati separato. La maggior parte dei client FTP moderni cercano di stabilire un collegamento passivo al momento della richiesta dei dati dal server.
Nota
3.5.2. Come interessare l'instradamento di Load Balancer Add-On Copia collegamentoCollegamento copiato negli appunti!
Nota
ip_vs_ftp, per fare questo eseguire modprobe ip_vs_ftp come utente amministrativo al prompt della shell.
3.5.3. Creazione delle regole per il filtro dei pacchetti di rete Copia collegamentoCollegamento copiato negli appunti!
iptables per il servizio FTP, ricontrollate le informazioni in Sezione 3.4.1, «Assegnazione dei firewall mark» relative ai servizi multi-port e alle tecniche per il controllo di regole esistenti per il filtraggio dei pacchetti di rete.
21 nel campo Firewall Mark. Consultate la Sezione 4.6.1, «Sottosezione SERVER VIRTUALE» per maggiori informazioni.
3.5.3.1. Regole per collegamenti attivi Copia collegamentoCollegamento copiato negli appunti!
iptables permette al router LVS di accettare i collegamenti in uscita dai real server non conosciuti da IPVS:
/sbin/iptables -t nat -A POSTROUTING -p tcp -s n.n.n.0/24 --sport 20 -j MASQUERADE
iptables, n.n.n deve essere sostituito con i primi tre valori dell'IP floating per l'interfaccia di rete interna dell'interfaccia NAT, definita nel pannello IMPOSTAZIONI GLOBALI del Piranha Configuration Tool.
3.5.3.2. Regole per i collegamenti passivi Copia collegamentoCollegamento copiato negli appunti!
Avvertimento
/etc/vsftpd.conf:
pasv_min_port=10000
pasv_max_port=20000
pasv_address per sovrascrivere l'indirizzo del real server FTP poichè esso viene aggiornato sull'indirizzo IP virtuale da LVS.
10000:20000 nei comandi sotto riportati in 1024:65535.
iptables avranno l'effetto di assegnare un firewall mark di 21 a qualsiasi traffico indirizzato all'IP floating delle porte appropriate, il quale a sua volta viene riconosciuto da IPVS e inoltrato in modo appropriato:
/sbin/iptables -t mangle -A PREROUTING -p tcp -d n.n.n.n/32 --dport 21 -j MARK --set-mark 21
/sbin/iptables -t mangle -A PREROUTING -p tcp -d n.n.n.n/32 --dport 10000:20000 -j MARK --set-mark 21
iptables, n.n.n.n dovrebbe essere sostituito con l'IP floating per il virtual server FTP, definito nella sottosezione VIRTUAL SERVER di Piranha Configuration Tool.
Avvertimento
3.6. Come salvare le impostazioni per il filtro del pacchetto di rete Copia collegamentoCollegamento copiato negli appunti!
iptables, digitate il seguente comando:
/sbin/service iptables save
/etc/sysconfig/iptables, e potranno essere richiamate al momento dell'avvio.
/sbin/service per poter avviare, arrestare e controllare lo stato (utilizzando lo status switch) di iptables. /sbin/service caricherà automaticamente il modulo appropriato per voi. Per un esempio su come utilizzare il comando /sbin/service, consultate la Sezione 2.3, «Avvio servizio Piranha Configuration Tool».
Capitolo 4. Configurazione di Load Balancer Add-On con Piranha Configuration Tool Copia collegamentoCollegamento copiato negli appunti!
/etc/sysconfig/ha/lvs.cf. Questo capitolo descrive l'operazione di base del Piranha Configuration Tool, ed il processo di attivazione del Load Balancer Add-On una volta completata la configurazione.
Importante
lvs.cf e quindi prevenire errori software.
4.1. Software necessario Copia collegamentoCollegamento copiato negli appunti!
piranha-gui deve essere in esecuzione sul router LVS primario per poter usare Piranha Configuration Tool. Per poter configurare Load Balancer Add-On è necessario avere almeno un Web browser di solo testo, ad esempio links. Se desiderate accedere al router LVS da un'altra macchina, allora sarà necessario un collegamento ssh al router LVS primario come utente root.
ssh corrente in una finestra del terminale. Questo collegamento fornisce un modo sicuro per riavviare pulse e altri servizi, configurare i filtri del pacchetto di rete, e monitorare /var/log/messages durante la risoluzione dei problemi.
4.2. Accesso al Piranha Configuration Tool Copia collegamentoCollegamento copiato negli appunti!
piranha-gui sia in esecuzione, e che la password amministrativa sia stata impostata, come riportato in Sezione 2.2, «Impostazione di una password per Piranha Configuration Tool».
http://localhost:3636 in un web browser per accedere al Piranha Configuration Tool. In caso contrario digitate l'hostname o l'indirizzo IP reale per il server, seguito da :3636. Una volta stabilito il collegamento da parte del browser, sarete in grado di visualizzare la schermata mostrata in Figura 4.1, «Pannello di benvenuto».
Figura 4.1. Pannello di benvenuto
piranha per il Nome utente e la password amministrativa creata nel campo Password.
4.3. CONTROLLO/MONITORAGGIO Copia collegamentoCollegamento copiato negli appunti!
pulse, la tabella d'instradamento LVS, ed i processi nanny generati da LVS.
Nota
Figura 4.2. Pannello CONTROLLO/MONITORAGGIO
- Auto update
- È possibile aggiornare automaticamente il display dello stato ad un intervallo configurato dall'utente. Per abilitare questa funzione selezionare Auto update e impostare la frequenza di aggiornamento desiderata nella casella Frequenza di aggiornamento in secondi (il valore predefinito è 10 secondi).Non è consigliato impostare l'aggiornamento automatico ad un intervallo di tempo inferiore a 10 secondi, poichè così facendo sarà difficile riconfigurare l'intervallo di Aggiornamento automatico poichè la pagina verrà aggiornata troppo frequentemente. Se incontrate questo problema fate clic su di un altro pannello e successivamente su CONTROLLO/MONITORAGGIO.La funzione di Auto update non è operativa con tutti i browser, come ad esempio Mozilla.
- È possibile aggiornare manualmente le informazioni sullo stato selezionando questo pulsante.
- Facendo clic su questo pulsante verrete direzionati su di una schermata d'aiuto, contenente le informazioni su come modificare la password amministrativa per il Piranha Configuration Tool.
4.4. IMPOSTAZIONI GLOBALI Copia collegamentoCollegamento copiato negli appunti!
Figura 4.3. Pannello IMPOSTAZIONI GLOBALI
- IP pubblico del server primario
- In questo campo inserire l'indirizzo IP reale pubblicamente instradabile per il nodo LVS primario.
- IP privato del server primario
- Inserite l'indirizzo IP reale per una interfaccia di rete alternativa sul nodo LVS primario. Questo indirizzo verrà utilizzato solo come canale heartbeat alternativo per il router di backup, e non sarà correlato all'indirizzo IP privato reale assegnato in Sezione 3.1.1, «Configurazione delle interfacce di rete per il Load Balancer Add-On con NAT». È possibile lasciare vuoto questo campo, ma così facendo non avrete a disposizione alcun canale heartbeat alternativo per il router LVS di backup da utilizzare, creando così un single point of failure.
Nota
L'indirizzo IP privato non è necessario per le configurazioni , poichè tutti i real server e le directory LVS condividono gli stessi indirizzi IP virtuali, e dovrebbero avere la stessa configurazione IP route.Nota
L'IP privato del router LVS primario può essere configurato su qualsiasi interfaccia che accetti TCP/IP, incluso un adattatore Ethernet oppure una porta seriale. - TCP Timeout
- Inserire il periodo (in secondi) prima della scadenza della sezione TCP. Il valore di timeout predefinito è 0.
- TCP Fin Timeout
- Inserire il periodo (in secondi) prima della scadenza della sezione TCP dopo aver ricevuto il pacchetto FIN. Il valore di timeout predefinito è 0.
- UDP Timeout
- Inserire il periodo (in secondi) prima della scadenza della sezione UDP. Il valore di timeout predefinito è 0.
- Tipo di rete da usare
- Selezionare per l'instradamento NAT.Selezionare per l'instradamento diretto.
- IP del router NAT
- Inserite in questo campo l'IP floating privato. Il suddetto IP dovrebbe essere usato come gateway per i real server.
- Maschera di rete del router NAT
- Se l'indirizzo IP floating del router NAT ha bisogno di una maschera di rete particolare, selezionatela dall'elenco a tendina.
- Dispositivo del router NAT
- Usate questo campo per deifinire il nome del dispositivo dell'interfaccia di rete per l'indirizzo IP floating, come ad esempio
eth1:1.Nota
Eseguite l'alias dell'indirizzo IP floating del NAT sull'interfaccia Ethernet collegata alla rete privata. In questo esempio la rete privata si trova sull'interfacciaeth1e quindieth1:1risulta essere l'indirizzo IP floating.
Avvertimento
4.5. RIDONDANZA Copia collegamentoCollegamento copiato negli appunti!
Nota
Figura 4.4. Il pannello RIDONDANZA
- IP pubblico del server ridondante
- Inserire l'indirizzo IP reale pubblico per il nodo del router LVS di backup.
- IP privato del server ridondante
- Inserire in questo campo l'indirizzo IP reale privato del nodo di backup.Se non siete in grado di visualizzare il campo IP privato del server ridondante, tornate sul pannello IMPOSTAZIONI GLOBALI e inserite un indirizzo IP privato del server primario e successivamente fate clic su .
- Intervallo heartbeat (secondi)
- Questo campo imposta il numero di secondi che intercorrono tra gli heartbeat — l'intervallo entro il quale il nodo di backup controllerà lo stato di funzionalità del nodo LVS primario.
- Supponi inattivo dopo (secondi)
- Se il nodo LVS primario non risponde dopo il suddetto numero di secondi, allora il nodo del router LVS di backup inizierà un processo di failover.
- Heartbeat è in esecuzione sulla porta
- Questo campo imposta la porta sulla quale l'heartbeat comunica con il nodo LVS primario. Il default è impostato su 539 se questo campo viene lasciato vuoto.
Avvertimento
sync_version usando il comando echo come utente root nel prompt della shell:
echo 0 > /proc/sys/net/ipv4/vs/sync_version
echo 0 > /proc/sys/net/ipv4/vs/sync_version
- Come selezionare il demone di sincronizzazione
- Selezionare la casella corrispondente se desiderate abilitare il Demone di sincronizzazione.
- Interfaccia del demone di sincronizzazione
- L'interfaccia di rete attraverso la quale il demone di sincronizzazione invia/riceve i propri messaggi multicast. L'interfaccia predefinita in questo campo è
eth0. - id demone di sinc
- Questo campo imposta un identificatore (ID) per i messaggi di sinc multicast. I valori supportati vanno da 0 a 255, con il valore predefinito 0 se il campo viene lasciato vuoto.
Avvertimento
4.6. SERVER VIRTUALI Copia collegamentoCollegamento copiato negli appunti!
Figura 4.5. Pannello SERVER VIRTUALI
4.6.1. Sottosezione SERVER VIRTUALE Copia collegamentoCollegamento copiato negli appunti!
Figura 4.6. La sottosezione SERVER VIRTUALI
- Nome
- Inserite un nome descrittivo per identificare il server virtuale. Questo nome non è l'hostname per la macchina, quindi rendetelo descrittivo e facilmente identificabile. È possibile far riferimento al protocollo usato dal virtual server, come ad esempio HTTP.
- Porta per l'applicazione
- Inserite il numero della porta attraverso la quale l'applicazione del servizio sarà in ascolto. Poichè questo esempio si riferisce ai servizi HTTP, la porta usata è 80.
- Scegliere tra UDP e TCP nel menù a tendina. I web server generalmente comunicano tramite il protocollo TCP, per questo motivo esso viene selezionato nell'esempio sopra riportato.
- Indirizzo IP virtuale
- Inserite in questo campo l'indirizzo IP floating del server virtuale.
- Impostate la maschera di rete per questo server virtuale attraverso il menù a tendina.
- Firewall Mark
- Non inserite alcun valore intero per il firewall mark in questo campo, a meno che non raggruppate protocolli multi-port o create un virtual server multi-port per protocolli separati ma correlati. In questo esempio il server virtuale presenta un Firewall Mark di 80, poichè stiamo raggruppando i collegamenti per HTTP sulla porta 80 e per HTTPS sulla porta 443 utilizzando il valore 80 del firewall mark. Combinata con la persistenza questa tecnica è in grado di assicurare agli utenti che accedono pagine web sicure e non sicure, un instradamento allo stesso real server conservandone così lo stato.
Avvertimento
Inserendo un firewall mark in questo campo permetterete a IPVS di riconoscere che i pacchetti con questo firewall mark verranno trattati allo stesso modo, ricordate che sarà comunque necessario eseguire una ulteriore configurazione esterna al Piranha Configuration Tool per assegnare i firewall mark. Consultate la Sezione 3.4, «Servizi multi-port e Load Balancer Add-On» per informazioni sulla creazione di servizi multi-port, e la Sezione 3.5, «Configurazione di FTP» per la creazione di un server virtuale FTP ad elevata disponibilità. - Dispositivo
- Inserire il nome del dispositivo di rete al quale desiderate unire l'indirizzo IP floating definito nel campo Indirizzo IP virtuale.Eseguite l'alias dell'indirizzo IP floating pubblico sull'interfaccia Ethernet collegata alla rete pubblica. In questo esempio la rete pubblica si trova sull'interfaccia
eth0, e quindieth0:1deve essere inserito come nome del dispositivo.
- Periodo nuovo tentativo
- Inserite un valore intero il quale definisce la durata del periodo, in secondi, prima che il router LVS attivo cerchi di ripristinare un real server nel gruppo dopo il verificarsi di un errore.
- Timeout del servizio
- Inserite un valore intero il quale definisce la durata del periodo, in secondi, prima che un real server venga considerato inattivo e quindi rimosso dal gruppo.
- Server Quiesce
- Dopo aver selezionato il pulsante del server Quiesce il peso di un real server verrà impostato su 0 quando non disponibile. Così facendo il real server verrà disabilitato e, se in un secondo momento, risulterà essere nuovamente disponibile, i real server verranno riabilitati implementando il peso originale. Se il server Quiesce è disabilitato, il real server fallito verrà rimosso dalla tabella dei server, ma verrà nuovamente aggiunto quando riporterà uno stato disponibile.
- Tool di monitoraggio del carico
- Il router LVS è in grado di monitorare il carico sui vari real server tramite l'utilizzo sia di
rupche diruptime. Se selezionaterupdal menu a tendina, ogni real server deve eseguire il serviziorstatd. Se invece selezionateruptime, ogni real server deve eseguire il serviziorwhod.Avvertimento
Il controllo del carico non è sinonimo di bilanciamento del carico, e può risultare in un comportamento di programmazione difficile da prevedere, quando combinato con algoritmi di schedulazione 'pesati'. Altresì se utilizzate il monitoraggio del carico, i real server devono essere macchine Linux. - Programmazione
- Selezionate l'algoritmo di programmazione preferito dal menù a tendina. Il valore di default è
Weighted least-connection. Per maggiori informazioni sugli algoritmi di scheduling consultate la Sezione 1.3.1, «Algoritmi di programmazione». - Persistenza
- Se un amministratore ha bisogno di collegamenti persistenti per il server virtuale durante le transazioni del client, inserite in questo campo il numero di secondi di inattività permessi prima dell'interruzione del collegamento.
Importante
Se avete inserito un valore nel campo Firewall Mark, allora dovreste inserire anche un valore per la persistenza. Se utilizzate insieme i firewall mark e la persistenza, assicuratevi che la quantità di persistenza sia uguale per ogni server virtuale con il firewall mark. Per maggiori informazioni sulla persistenza e firewall mark, consultate la Sezione 1.5, «Persistenza e Firewall Mark». - Per poter limitare la persistenza di una particolare sottorete, selezionate la maschera di rete appropriata dal menu a tendina.
Nota
Prima dell'avvento dei firewall mark la persistenza, limitata in base alle sottoreti, rappresentava un metodo artigianale per unificare i collegamenti. Ora per ottenere lo stesso risultato è consigliato utilizzare la persistenza in relazione ai firewall mark.
Avvertimento
4.6.2. Sottosezione REAL SERVER Copia collegamentoCollegamento copiato negli appunti!
Figura 4.7. Sottosezione REAL SERVER
Figura 4.8. Pannello di configurazione del REAL SERVER
- Nome
- Un nome descrittivo per il real server.
Nota
Questo nome non è l'hostname per la macchina, quindi rendetelo descrittivo e facilmente identificabile. - Indirizzo
- L'indirizzo IP del real server. Poichè la porta in ascolto è stata già specificata per il server virtuale associato, non aggiungete alcun numero.
- Peso
- Un valore intero il quale indica la capacità di questo host in relazione alla capacità di altri host presenti nel gruppo. Il valore può essere arbitrario, ma consideratelo come un rapporto in relazione agli altri real server. Per maggiori informazioni consultare Sezione 1.3.2, «Peso del server e programmazione (scheduling)».
Avvertimento
4.6.3. Sottosezione MODIFICA SCRIPT DI MONITORAGGIO Copia collegamentoCollegamento copiato negli appunti!
Figura 4.9. Sottosezione MODIFICA SCRIPT DI MONITORAGGIO
- Programma mittente
- Per una verifica dei servizi molto più avanzata è possibile utilizzare questo campo per specificare il percorso per uno script di controllo del servizio. Questa funzione è particolarmente utile per servizi che richiedono una modifica dinamica dei dati, come ad esempio HTTPS o SSL.Per utilizzare questa funzione è necessario scrivere uno script il quale ritorna una risposta testuale, impostatela in modo da essere eseguibile e digitate il percorso relativo nel campo Programma mittente.
Nota
Per assicurarsi che ogni server all'interno del pool dei real server venga controllato, utilizzate il token speciale%hdopo il percorso per lo script nel campo Programma mittente. Il suddetto token viene sostituito con l'indirizzo IP del real server durante la chiamata dello script da parte del demonenanny.Il seguente è un esempio di scirpt da utilizzare come guida durante la composizione di uno script esterno per il controllo del servizio:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Nota
Se inserite nel campo Programma mittente un programma esterno, allora il campo Invio viene ignorato. - Invio
- Inserire una stringa per il demone
nannyda inviare ad ogni real server in questo campo. Per default il campo relativo a HTTP è stato completato. È possibile alterare questo valore a seconda delle vostre esigenze. Se lasciate questo campo vuoto, il demonenannycerca di aprire la porta, e se ha successo assume che il servizio è in esecuzione.In questo campo è permesso solo una sola sequenza d'invio, e può contenere solo caratteri ASCII stampabili insieme ai seguenti caratteri:- \n per una nuova riga.
- \r per il ritorno a capo del cursore.
- \t per tab.
- \ escape del carattere successivo che lo segue.
- In attesa
- Inserire la risposta testuale che il server dovrebbe ritornare se funziona correttamente. Se avete scritto il vostro programma mittente, inserite la risposta da inviare in caso di successo.
Nota
Per determinare cosa inviare per un determinato servizio, aprite un collegamentotelnetper la porta su di un real server, e controllate cosa viene ritornato. Per esempio FTP riporta 220 previo collegamento, è possibile quindi inserirequitnel campo Invia e220nel campo In attesa.
Avvertimento
4.7. Sincronizzazione dei file di configurazione Copia collegamentoCollegamento copiato negli appunti!
/etc/sysconfig/ha/lvs.cf— i file di configurazione per i router LVS./etc/sysctl— il file di configurazione che, oltre ad altre funzioni, abilita l'inoltro dei pacchetti nel kernel./etc/sysconfig/iptables— Se state utilizzando i firewall mark dovreste sincronizzare uno di questi file in base al filtro del pacchetto di rete usato.
Importante
/etc/sysctl.conf e /etc/sysconfig/iptables non vengono modificati quando si configura Load Balancer Add-On con Piranha Configuration Tool.
4.7.1. Sincronizzazione di lvs.cf Copia collegamentoCollegamento copiato negli appunti!
/etc/sysconfig/ha/lvs.cf, viene aggiornato o creato, sarà necessario copiarlo sul nodo del router LVS di backup.
Avvertimento
lvs.cf identici. Se i file di configurazione LVS dei nodi del router LVS non corrispondono, il processo di failover non si potrà verificare.
scp .
Importante
scp è necessario eseguire sshd nel router di backup. Consultare Sezione 2.1, «Configurazione dei servizi sul router LVS» per informazioni su come configurare correttamente i servizi necessari sui router LVS.
lvs.cf tra i nodi del router:
scp /etc/sysconfig/ha/lvs.cf n.n.n.n:/etc/sysconfig/ha/lvs.cf
4.7.2. Sincronizzazione di sysctl Copia collegamentoCollegamento copiato negli appunti!
sysctl viene modificato solo una volta. Questo file viene letto al momento dell'avvio e indica al kernel di abilitare il packet forwarding.
Importante
4.7.3. Sincronizzazione delle regole per il filtro dei pacchetti di rete Copia collegamentoCollegamento copiato negli appunti!
iptables sarà necessario sincronizzare il file di configurazione appropriato sul router LVS di backup.
scp /etc/sysconfig/iptables n.n.n.n:/etc/sysconfig/
ssh per il router di backup, oppure eseguite la registrazione sulla macchina come utente root e digitate il seguente comando:
/sbin/service iptables restart
4.8. Avvio di Load Balancer Add-On Copia collegamentoCollegamento copiato negli appunti!
ssh root per il router LVS primario.
tail -f /var/log/messages
/sbin/service pulse start
pulse nel terminale con i messaggi di log del kernel. Quando visualizzerete il seguente output, il demone di pulse sarà stato avviato correttamente:
gratuitous lvs arps finished
/var/log/messages, digitare Ctrl+c.
Appendice A. Come usare il Load Balancer Add-On con High Availability Add-On Copia collegamentoCollegamento copiato negli appunti!
Figura A.1. Load Balancer Add-On con un High Availability Add-On
- Primo livello — i router LVS eseguono un bilanciamento del carico per distribuire le richieste web.
- Secondo livello — Un set di web server per servire le richieste.
- Terzo livello — Un High Availability Add-On per servire i dati ai Web server.
Appendice B. Diario delle Revisioni Copia collegamentoCollegamento copiato negli appunti!
| Diario delle Revisioni | |||
|---|---|---|---|
| Revisione 1-15.1 | Thu Apr 30 2015 | ||
| |||
| Revisione 1-15 | Tue Dec 16 2014 | ||
| |||
| Revisione 1-13 | Thu Oct 9 2014 | ||
| |||
| Revisione 1-10 | Tue Nov 19 2013 | ||
| |||
| Revisione 1-8 | Fri Sep 27 2013 | ||
| |||
| Revisione 1-4 | Wed Nov 28 2012 | ||
| |||
| Revisione 1-3 | Mon Jun 18 2012 | ||
| |||
| Revisione 1-2 | Fri Dec 2 2011 | ||
| |||
| Revisione 1-1 | Wed Nov 10 2010 | ||
| |||
Indice analitico
Simboli
- /etc/sysconfig/ha/lvs.cf file, /etc/sysconfig/ha/lvs.cf
A
- arptables_jf, Instradamento diretto e arptables_jf
C
- chkconfig, Configurazione dei servizi sul router LVS
- cluster
- come usare il Load Balancer Add-On con High Availability Add-On, Come usare il Load Balancer Add-On con High Availability Add-On
- commenti, Commenti
- componenti
- Load Balancer Add-On, Componenti di Load Balancer Add-On
F
- FTP, Configurazione di FTP
- (vedi anche Load Balancer Add-On)
H
- High Availability Add-On
- come usare Load Balancer Add-On con, Come usare il Load Balancer Add-On con High Availability Add-On
- e Load Balancer Add-On , Come usare il Load Balancer Add-On con High Availability Add-On
I
- inoltro dei pacchetti, Abilitare l'inoltro dei pacchetti
- (vedi anche Load Balancer Add-On)
- instradamento
- prerequisiti per il Load Balancer Add-On, Configurazione delle interfacce di rete per il Load Balancer Add-On con NAT
- instradamento diretto
- e arptables_jf, Instradamento diretto e arptables_jf
- introduzione, Introduzione
- altri documenti Red Hat Enterprise Linux, Introduzione
- iptables , Configurazione dei servizi sul router LVS
- ipvsadm programma, ipvsadm
L
- least connections (vedi programmazione processi, Load Balancer Add-On)
- Load Balancer Add-On
- /etc/sysconfig/ha/lvs.cf file, /etc/sysconfig/ha/lvs.cf
- avvio di Load Balancer Add-On, Avvio di Load Balancer Add-On
- come usare il Load Balancer Add-On con High Availability Add-On, Come usare il Load Balancer Add-On con High Availability Add-On
- componenti, Componenti di Load Balancer Add-On
- configurazione iniziale, Configurazione iniziale di Load Balancer Add-On
- dati condivisi, Condivisione e replica dei dati tra real server
- inoltro dei pacchetti, Abilitare l'inoltro dei pacchetti
- instradamento diretto
- e arptables_jf, Instradamento diretto e arptables_jf
- requisiti di rete, Load Balancer Add-On tramite instradamento diretto
- requisiti, di rete, Instradamento diretto
- requisiti, hardware, Instradamento diretto, Load Balancer Add-On tramite instradamento diretto
- requisiti, software, Instradamento diretto, Load Balancer Add-On tramite instradamento diretto
- instradamento NAT
- requisiti, di rete, Il NAT Load Balancer Add-On Network
- requisiti, hardware, Il NAT Load Balancer Add-On Network
- requisiti, software, Il NAT Load Balancer Add-On Network
- ipvsadm programma, ipvsadm
- metodi di instradamento
- nanny demone, nanny
- Piranha Configuration Tool , Piranha Configuration Tool
- prerequisiti per l'instradamento, Configurazione delle interfacce di rete per il Load Balancer Add-On con NAT
- programmazione processi, Panoramica programmazione di Load Balancer Add-On
- programmazione, processi, Panoramica programmazione di Load Balancer Add-On
- pulse demone, pulse
- replica dei dati, real server, Condivisione e replica dei dati tra real server
- router LVS
- configurazione servizi, Configurazione iniziale di Load Balancer Add-On
- nodo primario, Configurazione iniziale di Load Balancer Add-On
- servizi necessari, Configurazione dei servizi sul router LVS
- send_arp programma, send_arp
- servizi multi-port, Servizi multi-port e Load Balancer Add-On
- sincronizzazione dei file di configurazione, Sincronizzazione dei file di configurazione
- tre livelli
- Load Balancer Add-on, Configurazione Load Balancer Add-On a tre livelli
- LVS
- instradamento NAT
- abilitazione, Come abilitare l'instradamento NAT sui router LVS
- lvs demone, lvs
- panoramica, Panoramica Load Balancer Add-On
- real server, Panoramica Load Balancer Add-On
- lvs demone, lvs
N
- nanny demone, nanny
- NAT
- abilitazione, Come abilitare l'instradamento NAT sui router LVS
- metodi di instradamento, Load Balancer Add-On, Metodi di instradamento
- network address translation (vedi NAT)
P
- Piranha Configuration Tool , Piranha Configuration Tool
- CONTROLLO/MONITORAGGIO , CONTROLLO/MONITORAGGIO
- impostazione di una password, Impostazione di una password per Piranha Configuration Tool
- IMPOSTAZIONI GLOBALI , IMPOSTAZIONI GLOBALI
- limitare l'accesso a, Limitare l'accesso a Piranha Configuration Tool
- MODIFICA SCRIPT DI MONITORAGGIO Sottosezione, Sottosezione MODIFICA SCRIPT DI MONITORAGGIO
- pannello di login, Accesso al Piranha Configuration Tool
- panoramica, Configurazione di Load Balancer Add-On con Piranha Configuration Tool
- REAL SERVER sottosezione, Sottosezione REAL SERVER
- RIDONDANZA , RIDONDANZA
- SERVER VIRTUALE sottosezione, Sottosezione SERVER VIRTUALE
- Firewall Mark , Sottosezione SERVER VIRTUALE
- Indirizzo IP virtuale , Sottosezione SERVER VIRTUALE
- Persistence , Sottosezione SERVER VIRTUALE
- Scheduling , Sottosezione SERVER VIRTUALE
- SERVER VIRTUALI , SERVER VIRTUALI
- software necessario, Software necessario
- piranha-passwd , Impostazione di una password per Piranha Configuration Tool
- programmazione processi, Load Balancer Add-On, Panoramica programmazione di Load Balancer Add-On
- programmazione, processi (Load Balancer Add-On), Panoramica programmazione di Load Balancer Add-On
- pulse demone, pulse
R
- real server
- configurazione dei servizi, Configurazione dei servizi sui Real Server
- round robin (vedi programmazione processi, Load Balancer Add-On)
S
- Samba
- demone, lvs
- security
- Piranha Configuration Tool , Limitare l'accesso a Piranha Configuration Tool
- send_arp programma, send_arp
- servizi multi-port, Servizi multi-port e Load Balancer Add-On
- (vedi anche Load Balancer Add-On)
- servizio piranha-gui , Configurazione dei servizi sul router LVS
- servizio pulse , Configurazione dei servizi sul router LVS
- servizio sshd , Configurazione dei servizi sul router LVS
- sincronizzazione dei file di configurazione, Sincronizzazione dei file di configurazione
W
- weighted least connections (vedi programmazione processi, Load Balancer Add-On)
- weighted round robin (vedi programmazione processi, Load Balancer Add-On)