Loadbalancers
doel
De loadbalancer zorgt er voor dat onze webdiensten redundant uitgevoerd worden.
OPGELET
heel belangrijk de loadbalancer mag je nooit migraten als ze aanstaan hier door krijg een split brain situatie
Dit is dan ook geblokkeerd in vmware zoals omschreven hier https://frankdenneman.nl/2014/08/18/disable-vmotion-single-vm/ met 1 aanpassing query mag wel en vmotion als uit staat mag wel
opzet
We hebben 2 virutele loadbalancer loadbalancer1 en loadbalancer2. Elk draai op een andere hypervisor te weten vmware1 en vmware2
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
212.72.224 IP reeks (eth1)
212.72.224.240 2a02:968:1:2:212:72:224:240 loadbalancer1-vlan100.hobby.nl (IP adressen voor loadbalancer zelf) 212.72.224.241 2a02:968:1:2:212:72:224:241 loadbalancer2-vlan100.hobby.nl (IP adressen voor loadbalancer zelf)
212.72.227 IP reeks (eth3)
212.72.227.88 en 2a02:968:1:7:212:72:227:88 loadbalancer1-vlan107.hobby.nl (IP adressen voor loadbalancer zelf) 212.72.227.89 en 2a02:968:1:7:212:72:227:89 loadbalancer2-vlan107.hobby.nl (IP adressen voor loadbalancer zelf)
212.72.229 IP reeks (eth2)
212.72.229.240 2a02:968:1:1:212:72:229:240 loadbalancer1-vlan102.hobby.nl (IP adressen voor loadbalancer zelf) 212.72.229.241 2a02:968:1:1:212:72:229:241 loadbalancer2-vlan102.hobby.nl (IP adressen voor loadbalancer zelf)
172.31.1 IP reeks (eth0)
172.31.1.240 2a02:968:ffff:999:172:31:1:240 loadbalancer1-vlan999.hobby.nl (IP adressen voor loadbalancer zelf) 172.31.1.241 2a02:968:ffff:999:172:31:1:241 loadbalancer2-vlan999.hobby.nl (IP adressen voor loadbalancer zelf)
172.31.254 IP reeks (eth5)
172.31.254.240 2a02:968:ffff:997:172:31:254:240 loadbalancer1-vlan997.hobby.nl (IP adressen voor loadbalancer zelf) 172.31.254.241 2a02:968:ffff:997:172:31:254:241 loadbalancer2-vlan997.hobby.nl (IP adressen voor loadbalancer zelf)
dns aliassen
Via interne netwerk zijn de dns aliassen aangemaakt loadbalancer1-int.hobby.nl en loadbalancer2-int.hobby.nl op die manier konden gebruik blijven maken van hobbynet wildcard certificaat.
configuratie
termen
- Virtual service De dienst die geloadbalanced wordt (dit layer 4 of layer 7 zijn)
Configuratie gebeurt altijd via de webinterface bij hele uitzonderlijke gevallen moet je wat via SSH doen. De loadbalancers zijn te bereiken via:
ssh toegang
SSH keys kunnen toegevoegd worden, dit vereist echter strak formaat namelijk
ssh-rsa <snip> je key </snip> bas@een.domein.nl
Het is heel belangrijk dat je key in dit formaat is, ook ben je verplicht een hostnaam in te geven, gebruik daar voor gewoon je naam dit moet namelijk uniek zijn. Key's mogen niet met de hand worden toegevoegd via SSH ! Je kan in de loadbalancer onder Local Configuration -> SSH Keys en dan het tab SSH Authentication
Configuratie van dit onderdeel moet je op beide loadbalancer doen want dit wordt niet gerepliceerd!
Direct routing
Op dit moment maken we nog gebruik van direct routing, dit wil zeggen dat de loadbalancer het inkomend verkeer door stuurt naar server en de server stuurt zelf het antwoord door naar de client.
standaard setup
Standaard gebruiken wij een setup waar bij de load over meer de servers verspreid altijd
instellen van Virtual service layer 4
van scratch
Ga naar cluster configuration -> layer 4 - virtual services en klik daar op 'Add a new Virtual Service'
- 1) Vul hier de naam van virtual service standaard is dat VIP(nr) naam.url.nl-v4 (of v6 bij IPv6) (letop geen spatie tussen vip en het nummer van de vip)
- 2) Het ip adres wat aan de buiten kant wordt gebruikt
- 3) De poort nummers voor web standaard 80,443 je mag meer poort nummers opgeven door te scheiden met een ,
Klik op update
Herhaal de bovenstaande stappen voor het IPv6 adres
Nu moeten we nog bestemming toevoegen waar moet het verkeer naar toe worden gerouteerd.
Ga naar cluster configuration -> layer 4 - Real Servers Zoek daar je Virtual service op en klik op modify
Tip je standaard staat de Virtual service die je net hebt gemaakt onderaan Klik op 'Add a new Real Server" bij de Virtual service die we net hebben aangemaakt
1) Zet naam van de bestemming neer dit geval Joomla-lb1-v4 (of v6 bij IPv6) 2) Vul het ip adres van de bestemming in 3) Klik op update
Indien het hier geen fallback scenario betreft herhaal de bovenstaande stap voor de 2e bestemming Herhaal deze stappen voor IPv6 virtual service
fallback scenario
Bij fallback senario wil je dat verkeer standaard op 1e server uitkomt behalve wanneer deze er niet is bijvoorbeeld bij mail en de xml server, in dit geval voeg je geen 2e realserver toe.
Ga terug naar cluster configuration -> layer 4 - virtual services, zoek je virtual service op en klik op modify TIP boven in zit zoek veld
- Zoek de sectie 'Fallback Server' op
- Vul het ip adres in van de fallback server in laat de over velden leeg
- klik op update
Herhaal deze stappen voor IPv6 virtual service
bestaande virtual service kopiëren
Maar dit alles kan ook veel makkelijker, als er alleen vip is die de zelfde bestemming heeft etc etc
Ga terug naar cluster configuration -> layer 4 - virtual services, zoek je virtual service op die je kopiëren en klik op modify Zie afbeelding 5 rechts Klik op Duplicate service
Negeer de waarschuwing is melding dat toevoeging heeft gedaan zodat er geen dubble namen zijn
- 1) Vervang hier de naam van virtual service standaard is dat VIP(nr) naam.url.nl-v4 (of v6 bij IPv6) (letop geen spatie tussen vip en het nummer van de vip)
- 2) Vervang het ip adres wat aan de buiten kant wordt gebruikt
- 3) Controleer de poort nummers voor web standaard 80,443 je mag meer poort nummers opgeven door te scheiden met een ,
Klik op update Herhaal deze stappen voor IPv6 virtual service
firewall lock down script
Het standaard lockdownscript (de term die in de loadbalancer wordt gebruikt) is aangepast met de volgende de aanpassingen:
- Onze vpn ip reeksen toegevoegd als admin reeksen
- Voor snmp is aparte chain aangemaakt
- Alle het snmp verkeer dat niet het ip adres (eth0) van de loadbalancer is wordt gereject
Hier vindt je kopie van het huidige lockdown script van 28-09-2020 10:00 File:Lockdownscript.txt Dit script kan je bewerken via Maintenance -> Firewall Lock Down Wizzard Met 'Modify the firewall lock down wizard script' pas je het script aan. Met 'Update Firewall lockdown' wordt het de firewall herladen Standaard wordt je ip waarmee je bent ingelogd ingevuld bij 'Administration subnet' dit is om te zorgen dat je alijd in kan als je foutje hebt gemaakt.
Configuratie van dit onderdeel moet je op beide loadbalancer doen want dit wordt niet gerepliceerd!