Capitolo 3. Impostazione Load Balancer Add-On
Load Balancer Add-On consiste in due gruppi di base: i router LVS ed i real server. Per evitare il verificarsi di un single point of failure, ogni gruppo dove avere un minimo di due membri.
Il gruppo del router LVS deve essere composto di due sistemi identici o molto simili sui quali viene eseguito Red Hat Enterprise Linux. Uno come router LVS attivo e l'altro in modalità di hot standby, quindi entrambi dovranno avere una capacità quanto più simile possibile.
Prima di selezionare e configurare l'hardware per il gruppo di real server è necessario determinare quale tipologia di Load Balancer Add-On usare.
3.1. Il NAT Load Balancer Add-On Network
La tipologia NAT permette di utilizzare l'hardware esistente in diversi modi, ma è limitata nella propria abilità di gestire carichi molto grandi a causa del passaggio di tutti i pacchetti, sia in entrata che in uscita, attraverso il router Load Balancer Add-On.
- 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
iptables
per 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
Per impostare il Load Balancer Add-On con il NAT è necessario configurare sui router LVS le interfacce di rete per la rete pubblica e per la rete privata. In questo esempio le interfacce pubbliche del router LVS (
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
Da notare che la modifica dei seguenti file relativi al servizio
network
ed il Load Balancer Add-on, non è compatibile con il servizio NetworkManager
.
Quindi sul nodo del router LVS primario o attivo, lo script di rete dell'interfaccia pubblica,
/etc/sysconfig/network-scripts/ifcfg-eth0
, potrebbe somigliare al seguente:
DEVICE=eth0 BOOTPROTO=static ONBOOT=yes IPADDR=192.168.26.9 NETMASK=255.255.255.0 GATEWAY=192.168.26.254
/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
In questo esempio il VIP per l'interfaccia pubblica del router LVS sarà 192.168.26.10, ed il VIP per NAT o interfaccia privata sarà 10.11.12.10. Sarà quindi necessario che i real server inoltrino le richieste al VIP per l'interfaccia NAT.
Importante
Gli esempi delle impostazioni per la configurazione dell'interfaccia Ethernet in questa sezione, si riferiscono agli indirizzi IP reali di un router LVS e non agli indirizzi IP floating. Per configurare gli indirizzi IP floating privato e pubblico, l'amministratore dovrà utilizzare Piranha Configuration Tool come mostrato in Sezione 4.4, «IMPOSTAZIONI GLOBALI» e Sezione 4.6.1, «Sottosezione SERVER VIRTUALE».
Dopo aver configurato le interfacce di rete per il nodo del router LVS primario, configurate le interfacce della rete reale del router LVS di backup — facendo particolare attenzione che nessun indirizzo IP sia in conflitto con gli indirizzi IP presenti sulla rete.
Importante
Assicuratevi che ogni interfaccia sul nodo di backup serva la stessa rete dell'interfaccia presente sul nodo primario. Per esempio se eth0 si collega alla rete pubblica sul nodo primario, la stessa deve collegarsi anche alla rete pubblica sul nodo di backup.
3.1.2. Instradamento sui real server
La cosa più importante da ricordare durante la configurazione delle interfacce di rete dei real server in una tipologia NAT, è quella d'impostare il gateway per l'indirizzo IP floating NAT del router LVS. In questo esempio, l'indirizzo in questione sarà 10.11.12.10.
Nota
Una volta impostate le interfacce di rete sui real server le macchine non saranno in grado di eseguire il ping, o di stabilire un collegamento con la rete pubblica. Ciò è normale. Tuttavia sarete in grado di eseguire il ping dell'IP reale per l'interfaccia privata del router LVS, in questo caso 10.11.12.9.
Quindi il file
/etc/sysconfig/network-scripts/ifcfg-eth0
del real server somiglierà al seguente:
DEVICE=eth0 ONBOOT=yes BOOTPROTO=static IPADDR=10.11.12.1 NETMASK=255.255.255.0 GATEWAY=10.11.12.10
Avvertimento
Se un real server possiede più di una interfaccia di rete configurata con la riga
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.
È fortemente consigliato disabilitare le interfacce di rete estranee tramite l'impostazione di
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
In una configurazione NAT Load Balancer Add-On semplice dove ogni servizio clusterizzato utilizza solo una porta, come ad esempio HTTP sulla porta 80, l'amministratore può abilitare solo il packet forwarding sui router LVS per instradare correttamente le richieste tra il mondo esterno ed i real server. Consultate la Sezione 2.5, «Abilitare l'inoltro dei pacchetti» per informazioni su come abilitare il packet forwarding. Tuttavia sarà necessario una ulteriore configurazione quando i servizi clusterizzati richiedono più di una porta per andare dallo stesso real server durante una sessione dell'utente. Per informazioni sulla creazione di servizi multi-port utlizzando i firewall mark, consultate la Sezione 3.4, «Servizi multi-port e Load Balancer Add-On».
Una volta abilitato il forwarding sui router LVS ed impostato i real server sui quali vengono eseguiti i servizi clusterizzati, utilizzate Piranha Configuration Tool per configurare Load Balancer Add-On come mostrato nel Capitolo 4, Configurazione di Load Balancer Add-On con Piranha Configuration Tool.
Avvertimento
Non configurate l'IP floating per
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».
Una volta terminato avviate il servizio
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.