Loadbalancers
doel
De loadbalancer zorgt er voor dat bij voorbeeld een webdienst redundant uitgevoerd kan worden. De loadbalancer zelf is ook redundant uitgevoerd.
opzet
We hebben 2 loadbalancers, ieder draait op een andere ESXi server voor redundantie. Als de ene loadbalancer faalt neemt de andere het over. Daarnaast zorgt de actieve loadbalancer er voor dat verkeer over de webservers wordt verspreid. Als er een webserver uitvalt wordt deze uit de pool gehaald, waardoor de webdienst zelf gewoon bereikbaar blijft, zij het op maar één server.
normale situatie
Dit geeft weer hoe in normale situaties het verkeer loopt.
webserver faalt
Dit geeft weer hoe het verkeer loopt wanneer een webserver faalt.
loadbalancer faalt
Dit geeft weer hoe het verkeer loopt wanneer een loadbalancer faalt.
IP plan
servers
Gereserveerd
212.72.224 IP reeks
Server id 41 t/m 50 212.72.224.101 vip21.hobby.nl (virtuele IP adressen voor diensten die gebalanced worden) t/m 212.72.224.110 vip30.hobby.nl (virtuele IP adressen voor diensten die gebalanced worden) 212.72.224.251 lb1-vlan100-bip.hobby.nl (IP adres voor loadbalancer zelf) 212.72.224.252 lb2-vlan100-bip.hobby.nl (IP adres voor loadbalancer zelf) 212.72.224.253 lb1-vlan100.hobby.nl (IP adres voor het OS van de loadbalancer) 212.72.224.254 lb2-vlan100.hobby.nl (IP adres voor het OS van de loadbalancer)
212.72.227 IP reeks
server id 1 t/m 20 212.72.227.80 vip01.hobby.nl (virtuele IP adressen voor diensten die gebalanced worden) t/m 212.72.227.89 vip10.hobby.nl (virtuele IP adressen voor diensten die gebalanced worden) 212.72.227.91 lb1-bip.hobby.nl (IP adres voor loadbalancer zelf) 212.72.227.92 lb2-bip.hobby.nl (IP adres voor loadbalancer zelf) 212.72.227.93 lb1.hobby.nl (IP adres voor het OS van de loadbalancer) 212.72.227.94 lb2.hobby.nl (IP adres voor het OS van de loadbalancer)
Voor alle genoemde IPv4 adressen, is er ook een IPv6 adres in de stijl die we bij Hobbynet hanteren: 212.72.227.80 wordt 2a02:968:1:7:212:72:227:80.
212.72.229 IP reeks
server id 21 t/m 40 212.72.229.101 vip11.hobby.nl (virtuele IP adressen voor diensten die gebalanced worden) t/m 212.72.229.110 vip20.hobby.nl (virtuele IP adressen voor diensten die gebalanced worden) server id 81 t/m 100 212.72.229.111 vip31.hobby.nl (virtuele IP adressen voor diensten die gebalanced worden) t/m 212.72.229.120 vip40.hobby.nl (virtuele IP adressen voor diensten die gebalanced worden) 212.72.229.251 lb1-vlan102-bip.hobby.nl (IP adres voor loadbalancer zelf) 212.72.229.252 lb2-vlan102-bip.hobby.nl (IP adres voor loadbalancer zelf) 212.72.229.253 lb1-vlan102.hobby.nl (IP adres voor het OS van de loadbalancer) 212.72.229.254 lb2-vlan102.hobby.nl (IP adres voor het OS van de loadbalancer)
172.31.1 IP reeks
server id 61 t/m 80 172.31.1.100 vip01-int.hobby.nl (virtuele IP adressen voor diensten die gebalanced worden voor interne diensten) t/m 172.31.1.109 vip10-int.hobby.nl (virtuele IP adressen voor diensten die gebalanced worden voor interne diensten) 172.31.1.196 lb1-bip-int.hobby.nl (IP adres voor loadbalancer zelf) 172.31.1.197 lb2-bip-int.hobby.nl (IP adres voor loadbalancer zelf) 172.31.1.198 lb1-int.hobby.nl (IP adres voor het OS van de loadbalancer) 172.31.1.199 lb2-int.hobby.nl (IP adres voor het OS van de loadbalancer)
ipv6
Voor alle genoemde externe IPv4 adressen, is er ook een IPv6 adres in de stijl die we bij Hobbynet hanteren: 212.72.229.101 wordt 2a02:968:1:1:212:72:229:101.
targets
toegekend
extern
- vip01 www-test HCC.nl test omgeving
- vip03 www-prod HCC.nl productie omgeving
- vip11 php-joomla algemeen en test.hcc.nl https
- vip12 groepen.hcc.nl + sub urls http https
- vip13 www.dikkenberg.net http https
- vip20 www.scouthout.nl http https
- vip31 xxx.scoutingschipluiden.nl http https
intern
- vip01-int db-clus01 database cluster groeperingen
- vip02-int hcc-dbclus02 database cluser hcc.nl website
targets
Target vallen in de gewone ip space en is dus geen ruimte voor gereserveerd
toegekend
extern
- 212.72.227.68 www-test-lb1
- 212.72.227.69 www-test-lb2
- 212.72.227.72 www-prod-lb1
- 212.72.227.73 www-prod-lb2
- 212.72.229.90 php-joomla-lb1
- 212.72.229.91 php-joomla-lb2
intern
- 172.31.1.213 db01
- 172.31.1.214 db02
- 172.31.1.215 HCC-db03
- 172.31.1.216 HCC-db04
configuratie
termen
Hieronder een overzicht van termen die in de configuratie worden gebruikt en mogelijk verwarrend zijn.
- server
Dit is de kant waar, via virtuele IP adressen, de webserver draait en waar de client mee communiceert.
- target
Dit zijn bijvoorbeeld de webservers die in één balanced pool zitten
- VRRP
Dit is het protocol dat zorgt voor de master slave setup, ook wel hartbeat protocol genoemd
- network
Hier staat gedefinieerd met welk IP adres (en subnet) de loadbalancer in een bepaald subnet hangt.
Let op: de loadbalancer heeft zijn eigen IP adressen die los staan van het OS
config files
De configuratie bestanden mogen nooit met de hand ge-edit worden. Dit dient altijd te gebeuren door middel van de loadbalancer command prompt. Deze kan je benaderen door met ssh in te loggen op een loadbalancer en als root het commando te geven bng control
Elke configuratiewijziging moet op beide loadbalancers doorgevoerd worden. Dit wordt helaas niet vanzelf gerepliceerd.
Ook moet je elke wijziging, min of meer zoals bij Cisco, opslaan door het commando save all te gebruiken.
nieuwe server aanmaken/aanpassen/bekijken
Een server en een target moeten in het zelfde subnet zitten ivm routering
Meerder servers kunnen de zelfde target hebben, denk hiet bij aan webserver met meerdere https sites. in zo'n geval krijgt het target echter alleen een extra loopback adres.
even eens moet voor elke poort een eigen server worden geconfigureerd dus bijvoorbeeld server 3 voor http en server 4 met https met beide de zelfde targets.
server ids
voor de volgende reeksen zijn de volgende ids toegewezen:
- 212.72.227.0/24 id 1/20
- 212.72.229.0/24 id 21/40
- 212.72.224.0/24 id 41/60
- 172.31.1.0/24 id 61/80
aanmaken
In dit voorbeeld gaan we de server configureren voor een webserver. Dit doen we als volgt via de loadbalancer command prompt:
loadbalancing
bng control LB1# server 2 name vip2 LB1# server 2 ipaddr 212.72.227.81 LB1# server 2 ipaddr6 2a02:968:1:7:212:72:227:81 LB1# server 2 port 80 LB1# server 2 protocol tcp LB1# server 2 sessionid src+dstport LB1# server 2 method session LB1# server 2 targets 2,3
Hierna willen we deze configuratie doorvoeren en activeren. Dit doen we door het commando:
commit server 2
Fallback
Als je niet wilt dat er geloadbalanced wordt, maar dat er gebruik wordt gemaakt van een andere target als de originele target er niet is, configureer je het als volgt:
bng control LB1# server 2 name vip2 LB1# server 2 ipaddr 212.72.227.81 LB1# server 2 ipaddr6 2a02:968:1:7:212:72:227:81 LB1# server 2 port 80 LB1# server 2 protocol tcp LB1# server 2 sessionid src+dstport LB1# server 2 method session LB1# server 2 targets 2 LB1# server 2 backup 3
bekijken
Nu willen we kijken of de configuratie goed is. Dit kan je door het show server commando te geven.
LB1#show server (of sh server 2 als je alleen server 2 wil zien) no ipaddr ipaddr6 port prt net net6 sessions S targets backups -- ------------- -------------------------- ---- --- --- ---- -------- - ------- ------- 1 212.72.227.80 2a02:968:1:7:212:72:227:80 80 tcp 1 0 0 e 1,2 2 212.72.227.81 2a02:968:1:7:212:72:227:81 80 tcp 1 0 0 e 2,[3] LB1# show server 2 no ipaddr ipaddr6 port prt net net6 sessions S targets backups -- ------------- -------------------------- ---- --- --- ---- -------- - ------- ------- 2 212.72.227.81 2a02:968:1:7:212:72:227:81 80 tcp 1 0 0 e 2,[3]
aanpassen
In het vorige voorbeeld hebben we 2 foutjes gemaakt die willen we herstellen. Voordat we dat doen moeten we eerst de server disablen en de-registeren:
dat doe je als volgt:
LB1# disable server 2 LB1# unregister server 2
Wat we willen aanpassen is de naam van de server. Die is nu 'vip2', dat moet zijn 'vip02'. Ga als volgt te werk:
LB1# server 2 name vip02
Daarna willen we de target nog aanpassen naar 3 en 4 in plaats van 2 en 3:
LB1# server 2 target 3,4
Ook hier na moeten we weer een commit doen echter krijgen we nu wel een foutmelding:
LB1# commit server 2 ERROR: WARNING: server 2 references unregistered target 3 ERROR: WARNING: server 2 references unregistered target 4
dit komt om dat target 3 en 4 nog niet bestaan.
nieuwe target aanmaken/aanpassen/bekijken
Een server en een target moeten in hetzelfde subnet zitten ivm routering
target ids
- 212.72.227.0/24 ids 100/199
- 212.72.229.0/24 ids 200/299
- 212.72.224.0/24 ids 300/399
- 172.31.1.0/24 ids 400/499
aanmaken
configuratie op de loadbalancer
Dit gaat vrijwel identiek aan het configureren van de server:
target 2 name www-test-lb2 target 2 ipaddr 212.72.227.69 target 2 ipaddr6 2a02:968:1:7:212:72:227:69 target 2 port 80 target 2 protocol tcp target 2 ping 3,10 target 2 ping6 3,10 target 2 agent6 10000,3,10 target 2 sessionid src+dstport target 2 dsr enable
Hierna moet ook weer een commit gedaan worden:
commit target 2
configuratie op de target
Op de target in kwestie moeten een aantal wijzigingen worden doorgevoerd om alles goed te laten werken.
sysctl.conf
De volgende regels moeten aan /etc/sysctl.conf worden toegevoegd:
net.ipv4.conf.all.arp_ignore=1 net.ipv4.conf.all.arp_announce=2
Deze hierna activeren door middel van het commando sysctl -p
loopback interface
Om te zorgen dat de target naar het IP adres (vip) van de loadbalancer luistert, moet er een loopback interface worden aangemaakt met het vip van de loadbalancer:
iface lo inet6 static address 2a02:968:1:7:212:72:227:80 netmask 128 auto lo:0 iface lo:0 inet static address 212.72.227.80 netmask 255.255.255.255
Interface lo heeft geen auto erbij staan omdat die al default bovenaan de interfaces configuratie staat.
BNG agent
De bng agent wordt gebruikt om diverse controles uit te voeren en bij te houden hoe zwaar de server wordt belast. Dit wordt vervolgens uitgelezen door de loadbalancer. Deze agent kan je voor zowel 32 bit als 64 bit vinden in de /sbin directory op LB1 en natuurlijk LB2
- /sbin/bngagent-Linux-i386 is de 32 bit
- /sbin/bngagent-Linux-amd64 is de 64 bit
Eén van deze twee moet je naar de target kopiëren. Hierna moet je de volgende regel toevoegen onderaan de lo:0 interface:
up /sbin/bngagent-Linux-amd64 -6 10000
Dit zorgt er voor dat wanneer de interface up gaat, de agent wordt gestart en dat deze luistert op IPv6 op port 10000/udp. Dit verkeer moet dus ook doorgelaten worden door de firewall.
bekijken
Door middel van het show commando kan je zien hoe een target erbij staat:
LB1# show target no ipaddr ipaddr6 port prt net net6 srv sessions status info name -- ------------- -------------------------- ---- --- --- ---- --- -------- ----------- --------------------------------------- ------------ 1 212.72.227.68 2a02:968:1:7:212:72:227:68 80 tcp 1 1 1 0 operational arp:up,nd6:up,ping:up,ping6:up,agent6:1 www-test-lb1 2 212.72.227.69 2a02:968:1:7:212:72:227:69 80 tcp 1 1 1 0 operational arp:up,nd6:up,ping:up,ping6:up,agent6:1 www-test-lb2
Zoals je hier kan zien is de gehele pool (alle targets) up en operationeel.
aanpassen
Het aanpassen gaat hetzelfde als bij de server. We gaan nu nog een extra monitoring script voor http toevoegen, zodat we zeker weten dat de webserver draait.
LB1# disable target 1 LB1# unregister target 1 LB1# target 1 script "/usr/lib/mon/mon.d/http.monitor -p $port$ -u /index.html $ipaddr$",2,7 LB1# commit target 1 LB1# disable target 2 LB1# unregister target 2 LB1# target 2 script "/usr/lib/mon/mon.d/http.monitor -p $port$ -u /index.html $ipaddr$",2,7 LB1# commit target 2
Als we nu de status bekijken met show target zul je zien dat er een extra controle bij staat (onder script):
LB1# sh target no ipaddr ipaddr6 port prt net net6 srv sessions status info name -- ------------- -------------------------- ---- --- --- ---- --- -------- ----------- -------------------------------------------------- ------------ 1 212.72.227.68 2a02:968:1:7:212:72:227:68 80 tcp 1 1 1 0 operational arp:up,nd6:up,ping:up,ping6:up,agent6:14,script:up www-test-lb1 2 212.72.227.69 2a02:968:1:7:212:72:227:69 80 tcp 1 1 1 0 operational arp:up,nd6:up,ping:up,ping6:up,agent6:8,script:up www-test-lb2
configuratie opslaan
- Vergeet niet om de wijzigingen op te slaan:
LB1# save all
- Vergeet niet om de aanpassingen op beide loadbalancers aan te brengen
VRRP
VRRP is het protocol waarmee wordt geregeld welke loadbalancer de master is en welke de slave.
Met show vrrp kan je zien of de loadbalancer waar je op bent ingelogd master of slave is.
Door het commando stop te geven zet je de loadbalancer uit en wordt de master taak overgedragen aan de andere loadbalancer.
VRRP draait op dedeicated vlan 997 en is eth4 (network5) op de loadbalancers
Vanaf de ssh command prompt kan je weer starten met bng start of service bng start.
LB2# sh vrrp state BACKUP vrid 9 (0x09) priority 200 ipaddr0 ::ffff:212.72.227.80 ipaddr1 2a02:968:1:7:212:72:227:80
status van de servers bekijken
Dit doe je met het commando show servers vanaf de bng command prompt
LB1# show servers no ipaddr ipaddr6 port prt net net6 sessions S targets backups -- -------------- --------------------------- ---- --- --- ---- -------- - ------- ------- 1 212.72.227.80 2a02:968:1:7:212:72:227:80 80 tcp 1 0 2 e 1,2 2 172.31.1.100 - 3306 tcp 2 0 509 e 3 4 3 212.72.229.101 2a02:968:1:1:212:72:229:101 80 tcp 3 0 85 e 5,6 4 212.72.229.101 2a02:968:1:1:212:72:229:101 443 tcp 3 0 24 e 7,8 5 172.31.1.101 - 3306 tcp 2 0 9 e 9 10 6 212.72.227.82 2a02:968:1:7:212:72:227:82 80 tcp 1 0 2 e 11,12 7 212.72.227.82 2a02:968:1:7:212:72:227:82 443 tcp 1 0 0 e 13,14 8 212.72.227.80 2a02:968:1:7:212:72:227:80 443 tcp 1 0 0 e 15,16 9 212.72.229.102 2a02:968:1:1:212:72:229:102 80 tcp 3 0 134 e 5,6 10 212.72.229.102 2a02:968:1:1:212:72:229:102 443 tcp 3 0 39 e 7,8 11 212.72.229.103 2a02:968:1:1:212:72:229:103 80 tcp 3 0 2 e 5,6 12 212.72.229.103 2a02:968:1:1:212:72:229:103 443 tcp 3 0 0 e 7,8
server uitschakelen
Stel we willen server 12 uitschakelen, dan doe je dat met volgende commando: disable server 12.
Je zult zien, als je de status opvraagt, dat in de kolom S nu een D staat bij server 12
LB1# disable server 12 LB1# show server no ipaddr ipaddr6 port prt net net6 sessions S targets backups -- -------------- --------------------------- ---- --- --- ---- -------- - ------- ------- 1 212.72.227.80 2a02:968:1:7:212:72:227:80 80 tcp 1 0 2 e 1,2 2 172.31.1.100 - 3306 tcp 2 0 499 e 3 4 3 212.72.229.101 2a02:968:1:1:212:72:229:101 80 tcp 3 0 100 e 5,6 4 212.72.229.101 2a02:968:1:1:212:72:229:101 443 tcp 3 0 25 e 7,8 5 172.31.1.101 - 3306 tcp 2 0 9 e 9 10 6 212.72.227.82 2a02:968:1:7:212:72:227:82 80 tcp 1 0 2 e 11,12 7 212.72.227.82 2a02:968:1:7:212:72:227:82 443 tcp 1 0 0 e 13,14 8 212.72.227.80 2a02:968:1:7:212:72:227:80 443 tcp 1 0 0 e 15,16 9 212.72.229.102 2a02:968:1:1:212:72:229:102 80 tcp 3 0 133 e 5,6 10 212.72.229.102 2a02:968:1:1:212:72:229:102 443 tcp 3 0 39 e 7,8 11 212.72.229.103 2a02:968:1:1:212:72:229:103 80 tcp 3 0 3 e 5,6 12 212.72.229.103 2a02:968:1:1:212:72:229:103 443 tcp 3 0 0 D 7,8
server inschakelen
Stel we willen server 12 inschakelen, dan doe je dat met volgende commando: enable server 12.
Je zult zien, als je de status opvraagt, dat in de kolom S nu een e staat bij server 12
LB1# enable server 12 LB1# show server no ipaddr ipaddr6 port prt net net6 sessions S targets backups -- -------------- --------------------------- ---- --- --- ---- -------- - ------- ------- 1 212.72.227.80 2a02:968:1:7:212:72:227:80 80 tcp 1 0 2 e 1,2 2 172.31.1.100 - 3306 tcp 2 0 486 e 3 4 3 212.72.229.101 2a02:968:1:1:212:72:229:101 80 tcp 3 0 100 e 5,6 4 212.72.229.101 2a02:968:1:1:212:72:229:101 443 tcp 3 0 22 e 7,8 5 172.31.1.101 - 3306 tcp 2 0 9 e 9 10 6 212.72.227.82 2a02:968:1:7:212:72:227:82 80 tcp 1 0 2 e 11,12 7 212.72.227.82 2a02:968:1:7:212:72:227:82 443 tcp 1 0 0 e 13,14 8 212.72.227.80 2a02:968:1:7:212:72:227:80 443 tcp 1 0 0 e 15,16 9 212.72.229.102 2a02:968:1:1:212:72:229:102 80 tcp 3 0 128 e 5,6 10 212.72.229.102 2a02:968:1:1:212:72:229:102 443 tcp 3 0 40 e 7,8 11 212.72.229.103 2a02:968:1:1:212:72:229:103 80 tcp 3 0 3 e 5,6 12 212.72.229.103 2a02:968:1:1:212:72:229:103 443 tcp 3 0 0 e 7,8
status van target bekijken
Met het commando show target zien we de status van alle targets
LB1# show target no ipaddr ipaddr6 port prt net net6 srv sessions status info name -- ------------- -------------------------- ---- --- --- ---- --- -------- ----------- -------------------------------------------------- -------------------- 1 212.72.227.68 2a02:968:1:7:212:72:227:68 80 tcp 1 1 1 1 operational arp:up,nd6:up,ping:up,ping6:up,agent6:5,script:up www-test-lb1 2 212.72.227.69 2a02:968:1:7:212:72:227:69 80 tcp 1 1 1 1 operational arp:up,nd6:up,ping:up,ping6:up,agent6:1,script:up www-test-lb2 3 172.31.1.213 - 3306 tcp 2 0 2 471 operational arp:up,ping:up,agent:1,script:up db01 4 172.31.1.214 - 3306 tcp 2 0 2 0 operational arp:up,ping:up,agent:5,script:up db02 5 212.72.229.90 2a02:968:1:1:212:72:229:90 80 tcp 3 3 * 105 operational arp:up,nd6:up,ping:up,ping6:up,agent6:16,script:up php-joomla-lb1 http 6 212.72.229.91 2a02:968:1:1:212:72:229:91 80 tcp 3 3 * 108 operational arp:up,nd6:up,ping:up,ping6:up,agent6:4,script:up php-joomla-lb2 http 7 212.72.229.90 2a02:968:1:1:212:72:229:90 443 tcp 3 3 * 28 operational arp:up,nd6:up,ping:up,ping6:up,agent6:16,script:up php-joomla-lb1 https 8 212.72.229.91 2a02:968:1:1:212:72:229:91 443 tcp 3 3 * 26 operational arp:up,nd6:up,ping:up,ping6:up,agent6:4,script:up php-joomla-lb2 https 9 172.31.1.215 - 3306 tcp 2 0 5 9 operational arp:up,ping:up,agent:1,script:up HCC-db03-int 10 172.31.1.216 - 3306 tcp 2 0 5 0 operational arp:up,ping:up,agent:1,script:up HCC-db04-int 11 212.72.227.72 2a02:968:1:7:212:72:227:72 80 tcp 1 1 6 1 operational arp:up,nd6:up,ping:up,ping6:up,agent6:1,script:up www-prod-lb1 http 12 212.72.227.73 2a02:968:1:7:212:72:227:73 80 tcp 1 1 6 1 operational arp:up,nd6:up,ping:up,ping6:up,agent6:3,script:up www-prod-lb2 http 13 212.72.227.72 2a02:968:1:7:212:72:227:72 443 tcp 1 1 7 0 operational arp:up,nd6:up,ping:up,ping6:up,agent6:1,script:up www-prod-lb1 https 14 212.72.227.73 2a02:968:1:7:212:72:227:73 443 tcp 1 1 7 0 operational arp:up,nd6:up,ping:up,ping6:up,agent6:3,script:up www-prod-lb2 https 15 212.72.227.68 2a02:968:1:7:212:72:227:68 443 tcp 1 1 8 0 operational arp:up,nd6:up,ping:up,ping6:up,agent6:5,script:up www-test-lb1 https 16 212.72.227.69 2a02:968:1:7:212:72:227:69 443 tcp 1 1 8 0 operational arp:up,nd6:up,ping:up,ping6:up,agent6:1,script:up www-test-lb2 https
target uitschakelen
Stel je wilt target 8 uitschakelen dan geef je het commando disable target 8, als je dan de status van de targets opvraagt zul je zien dat bij target 8 disabled staat:
LB1# disable target 8 LB1# show target no ipaddr ipaddr6 port prt net net6 srv sessions status info name -- ------------- -------------------------- ---- --- --- ---- --- -------- ----------- -------------------------------------------------- -------------------- 1 212.72.227.68 2a02:968:1:7:212:72:227:68 80 tcp 1 1 1 1 operational arp:up,nd6:up,ping:up,ping6:up,agent6:7,script:up www-test-lb1 2 212.72.227.69 2a02:968:1:7:212:72:227:69 80 tcp 1 1 1 1 operational arp:up,nd6:up,ping:up,ping6:up,agent6:2,script:up www-test-lb2 3 172.31.1.213 - 3306 tcp 2 0 2 444 operational arp:up,ping:up,agent:1,script:up db01 4 172.31.1.214 - 3306 tcp 2 0 2 0 operational arp:up,ping:up,agent:1,script:up db02 5 212.72.229.90 2a02:968:1:1:212:72:229:90 80 tcp 3 3 * 90 operational arp:up,nd6:up,ping:up,ping6:up,agent6:2,script:up php-joomla-lb1 http 6 212.72.229.91 2a02:968:1:1:212:72:229:91 80 tcp 3 3 * 85 operational arp:up,nd6:up,ping:up,ping6:up,agent6:7,script:up php-joomla-lb2 http 7 212.72.229.90 2a02:968:1:1:212:72:229:90 443 tcp 3 3 * 27 operational arp:up,nd6:up,ping:up,ping6:up,agent6:2,script:up php-joomla-lb1 https 8 212.72.229.91 2a02:968:1:1:212:72:229:91 443 tcp 3 3 * 28 disabled disabled php-joomla-lb2 https 9 172.31.1.215 - 3306 tcp 2 0 5 9 operational arp:up,ping:up,agent:1,script:up HCC-db03-int 10 172.31.1.216 - 3306 tcp 2 0 5 0 operational arp:up,ping:up,agent:38,script:up HCC-db04-int 11 212.72.227.72 2a02:968:1:7:212:72:227:72 80 tcp 1 1 6 2 operational arp:up,nd6:up,ping:up,ping6:up,agent6:1,script:up www-prod-lb1 http 12 212.72.227.73 2a02:968:1:7:212:72:227:73 80 tcp 1 1 6 1 operational arp:up,nd6:up,ping:up,ping6:up,agent6:10,script:up www-prod-lb2 http 13 212.72.227.72 2a02:968:1:7:212:72:227:72 443 tcp 1 1 7 0 operational arp:up,nd6:up,ping:up,ping6:up,agent6:1,script:up www-prod-lb1 https 14 212.72.227.73 2a02:968:1:7:212:72:227:73 443 tcp 1 1 7 0 operational arp:up,nd6:up,ping:up,ping6:up,agent6:10,script:up www-prod-lb2 https 15 212.72.227.68 2a02:968:1:7:212:72:227:68 443 tcp 1 1 8 0 operational arp:up,nd6:up,ping:up,ping6:up,agent6:7,script:up www-test-lb1 https 16 212.72.227.69 2a02:968:1:7:212:72:227:69 443 tcp 1 1 8 0 operational arp:up,nd6:up,ping:up,ping6:up,agent6:2,script:up www-test-lb2 https
target inschakelen
Stel je wilt target 8 inschakelen dan geef je het commando enable target 8, als je dan de status van targets op vraagt zul je zien dat bij target 8 operational staat:
LB1# show target no ipaddr ipaddr6 port prt net net6 srv sessions status info name -- ------------- -------------------------- ---- --- --- ---- --- -------- ----------- ------------------------------------------------- -------------------- 1 212.72.227.68 2a02:968:1:7:212:72:227:68 80 tcp 1 1 1 1 operational arp:up,nd6:up,ping:up,ping6:up,agent6:1,script:up www-test-lb1 2 212.72.227.69 2a02:968:1:7:212:72:227:69 80 tcp 1 1 1 1 operational arp:up,nd6:up,ping:up,ping6:up,agent6:1,script:up www-test-lb2 3 172.31.1.213 - 3306 tcp 2 0 2 422 operational arp:up,ping:up,agent:1,script:up db01 4 172.31.1.214 - 3306 tcp 2 0 2 0 operational arp:up,ping:up,agent:1,script:up db02 5 212.72.229.90 2a02:968:1:1:212:72:229:90 80 tcp 3 3 * 97 operational arp:up,nd6:up,ping:up,ping6:up,agent6:3,script:up php-joomla-lb1 http 6 212.72.229.91 2a02:968:1:1:212:72:229:91 80 tcp 3 3 * 96 operational arp:up,nd6:up,ping:up,ping6:up,agent6:6,script:up php-joomla-lb2 http 7 212.72.229.90 2a02:968:1:1:212:72:229:90 443 tcp 3 3 * 25 operational arp:up,nd6:up,ping:up,ping6:up,agent6:3,script:up php-joomla-lb1 https 8 212.72.229.91 2a02:968:1:1:212:72:229:91 443 tcp 3 3 * 18 operational arp:up,nd6:up,ping:up,ping6:up,agent6:6,script:up php-joomla-lb2 https 9 172.31.1.215 - 3306 tcp 2 0 5 9 operational arp:up,ping:up,agent:1,script:up HCC-db03-int 10 172.31.1.216 - 3306 tcp 2 0 5 0 operational arp:up,ping:up,agent:6,script:up HCC-db04-int 11 212.72.227.72 2a02:968:1:7:212:72:227:72 80 tcp 1 1 6 1 operational arp:up,nd6:up,ping:up,ping6:up,agent6:3,script:up www-prod-lb1 http 12 212.72.227.73 2a02:968:1:7:212:72:227:73 80 tcp 1 1 6 1 operational arp:up,nd6:up,ping:up,ping6:up,agent6:7,script:up www-prod-lb2 http 13 212.72.227.72 2a02:968:1:7:212:72:227:72 443 tcp 1 1 7 0 operational arp:up,nd6:up,ping:up,ping6:up,agent6:3,script:up www-prod-lb1 https 14 212.72.227.73 2a02:968:1:7:212:72:227:73 443 tcp 1 1 7 0 operational arp:up,nd6:up,ping:up,ping6:up,agent6:7,script:up www-prod-lb2 https 15 212.72.227.68 2a02:968:1:7:212:72:227:68 443 tcp 1 1 8 0 operational arp:up,nd6:up,ping:up,ping6:up,agent6:1,script:up www-test-lb1 https 16 212.72.227.69 2a02:968:1:7:212:72:227:69 443 tcp 1 1 8 0 operational arp:up,nd6:up,ping:up,ping6:up,agent6:1,script:up www-test-lb2 https
handige links
De site van de maker van BalanceNG
handleiding
Vereiste voor instalatie loadbalcer software
software
het ubuntu pakket mon en mysql-client moet worden geinstalleerd, daar moet mon service wel gedactiveerd worden:
update-rc.d mon disable
Daarnaast moet de dbi perl module worden geinstalleerd als volgt:
perl -MCPAN -e 'install DBI'
Deze pakket zijn voor de check plugins
firewall
De firewall dient uitgeschakeld te worden
sysctl.conf
deze settings moeten worden toegevoegd worden aan sysctl.conf
# Disable IPv6 on internal network net.ipv6.conf.eth1.disable_ipv6=1 # # Disable auto generated IPv6 address on eth0 net.ipv6.conf.eth0.autoconf=0 # # Disable auto generated IPv6 address on eth2 net.ipv6.conf.eth2.autoconf=0 # # Disable auto generated IPv6 address on eth2 net.ipv6.conf.eth3.autoconf=0
licentie
De licentie is gekoppeld aan eth0 met mac address 00:50:56:b4:62:5c
bij her install mac mee verhuizen
lb1
Serial Number: HCC1108311 Node-Id: 3d:b9:04:61:5f:ae (vnode id ) License Key: 54f9cf1eede9d608639a6ba7f19883a3 Password: 3421773
lb2
De licentie is gekoppeld aan eth0 met mac address 00:50:56:b4:5a:dd
bij her install mac mee verhuizen
Serial Number: HCC1108312 Node-Id: c0:15:0b:47:24:a3 (vnode id) License Key: 03458523fe3603f30e2d3d54f72c5a58 Password: 3421773