Workshop sulle problematiche di calcolo e reti nell'INFN Pæstum, 9-12 Giugno 2003 Ridondanza di sistemi a livello di connessioni di rete Andrea.Baldini@mi.infn.it
Server load balancing BIBI 192.168.119.3 BIBO 192.168.119.4
Quali servizi? In generale tutti i servizi che hanno un server primario e uno secondario (lpr, ntp, dns) I “servizi read-only” (WWW, font server) Ftp, tftp (entrambi in lettura, ad es. per fare bootare macchine diskless)
Caveat Il load balancing funziona al livello 3 della pila Iso/Osi. Alcuni servizi hanno bisogno di fare riferimento allo indirizzo IP sorgente per scambiare pacchetti in un secondo tempo (ad es. Domain per aggiornare le tabelle) Bisogna porre rimedio, ad esempio con IPTABLES
Caveat Nel caso del DNS iptables -t nat -A POSTROUTING -p tcp --destination-port 53 -j SNAT --to-source 192.84.138.181 iptables -t nat -A POSTROUTING -p udp --destination-port 53 -j SNAT --to-source 192.84.138.181 Cosi’ facendo le singole macchine possono ricevere una risposta a cui non viene applicato il sistema di load balancing
Come funziona sugli Extreme Summit Nodo Pool Vip (Virtual IP)
Creazione delle Vlan VLAN INSIDE 192.168.119.254 VLAN OUTSIDE 192.84.138.7 LAN Server #>configure vlan “outside” ipaddress 192.84.138.7 #>configure vlan “outside” add port 3-8 untagged #>create vlan “inside” #>create vlan “outside” #>configure vlan “inside” ipaddress 192.168.119.254 255.255.255.0 #>configure vlan “inside” add port 1 untagged #>configure vlan “inside” add port 2 untagged
In pratica e` la configurazione tipica di un Gateway o VLAN Creazione delle Vlan #>enable ipforwarding vlan “outside” #>disable ipforwarding broadcast vlan “outside” #>disable ipforwarding fast-direct-broadcast vlan “outside” #>disable ipforwarding ignore-broadcast vlan “outside” #>disable isq vlan “outside” #>disable irdp vlan “outside” #>enable icmp unreachable vlan “outside” #>enable icmp redirects vlan “outside” #>enable icmp port-unreachables vlan “outside” #>enable icmptime-exceeded vlan “outside” #>enable icmp parameter-problem vlan “outside” #>enable icmp timestamp vlan “outside” #>enable icmp address-mask vlan “outside” #>enable subvlan-proxy-arp “outside” #>configure ip-mtu 1500 vlan “outside” Feature proprietaria di Extreme, non va abilitata sui modelli “non -i”; Intra Subnet QOS Disabilita i pacchetti “ICMP router advertisement” Impostazione di default, le eventuali sub-vlan di “outside” non sono isolate tra di loro In pratica e` la configurazione tipica di un Gateway o VLAN La configurazione di “inside” e` identica
Creazione delle Vlan Disabilito IP multicast forwarding #> disable ipmcforwarding “inside” #> enable igmp “inside” #> disable ipmcforwarding “outside” #> enable igmp “outside” Disabilito IP multicast forwarding Abilito IGMP (Internet Group Management Protocol)
Creazione dei Pool Cocorico-ftp Pool :21 BIBI 192.168.119.3:21 BIBO 192.168.119.4:21 :21
Creazione dei Pool #> enable slb #> config slb global tcp-port-check frequency 15 timeout 30 #> config vlan “inside” slb-type server #> config vlan “outside”slb-type both #> create slb pool Cocorico-ftp lb-method least-connection #> config slb pool Cocorico-ftp add 192.168.119.3 : 21 #> config slb pool Cocorico-ftp add 192.168.119.4 : 21 #> create slb vip megaserver-ftp pool Cocorico-ftp mode translation 192.84.138.179 : 21 unit 1 Comunic az. anche verso altri server, per nostre future implementazioni, potevamo mettere “client” Test di Layer 4 (secondi) Indica che la comunicaz. avviene dalla Vlan all`esterno Passa la connessione al server con meno sessioni attive Aggiungo gli IP dei due server al “pool ftp” Al pool “megaserver-ftp” viene assegnato un IP virtuale (VIP 192.84.138.179) che risponde sulla sola porta 21. Mode translation significa che viene riscritta l`intestazione del pacchetto IP che esce dallo switch. I pacchetti sembrano cosi` provenire dal server viruale.
Megaserver 192.84.138.179 :21 Megaserver 192.84.138.179 :53 BIBI 192.168.119.3:21 Megaserver 192.84.138.179 :21 Cocorico-Ftp Pool BIBO 192.168.119.4:21 Port:21 BIBI 192.168.119.3:53 Megaserver 192.84.138.179 :53 Cocorico-Domain Pool BIBO 192.168.119.4:53 Port:53
Esempio con ftp [abaldini@baldo abaldini]$ ftp megaserver Connected to megaserver (192.84.138.179). 220 bibi.mi.infn.it FTP server (Version wu-2.6.2-5) ready. Name (megaserver:abaldini): 331 Password required for abaldini. Password: […] 220 bibo.mi.infn.it FTP server (Version wu-2.6.2-5) ready.
Domande? ?