Loadbalancers: Difference between revisions

From Hobbynet Admin Wiki
Jump to navigation Jump to search
Line 168: Line 168:


= handleidingen=
= handleidingen=
= LET OP update instructies =
1. schakel master uit
2. maak snapshot in vmware van master
3. zet master weer aan
4. wacht tot master weer helemaal op is
5. zet slave uit
6. maak snapshot slave
7. zet slave weer aan.
8. maak via web interface backup van alle bestanden en download die op master
9. maak via web interface backup van alle bestanden en download die op slave (zodra slave weer volledig operationeel is)
10. maak slave master (login op slave vouw groene vlak open en klik op take over)
11. update master via Maintenance -> software update en kies voor online update
12. maak master weer  master (login op slave vouw groene vlak open en klik op take over) als dat niet al vanzelf is gebeurt
11. update slave via Maintenance -> software update en kies voor online update
== aandachts punten ==
1. altijd dienen master en slave direct na elkaar te worden geupdate
2. het maken van het snapshot moet gebeuren als de vm uit staat !

Revision as of 10:30, 28 December 2020

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.

File:Normaal.dia

webserver faalt

Dit geeft weer hoe het verkeer loopt wanneer een webserver faalt.

File:Webserverfaalt.dia

loadbalancer faalt

Dit geeft weer hoe het verkeer loopt wanneer een loadbalancer faalt.

File:Lbfaalt.dia

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!

backup

Elke dag backupen we om 22:00

ssh_config aanpassing

Omdat de loadbalancer heel veel ip's heeft zou ad random een adres uitzoeken en dat gaat natuurlijk fout in daarom hebben we source adres gespecifiseerd in /etc/ssh/ssh_config zijn daarom volgende regels toegevoegd:

host backup2bit-int.hobby.nl
        BindAddress=2a02:968:ffff:999:172:31:1:240

Verder wordt standaard script dat ook logging draait gebruikt voor de backup /usr/local/hobbynet/bin/backup_etc

handleidingen

LET OP update instructies

1. schakel master uit 2. maak snapshot in vmware van master 3. zet master weer aan 4. wacht tot master weer helemaal op is 5. zet slave uit 6. maak snapshot slave 7. zet slave weer aan. 8. maak via web interface backup van alle bestanden en download die op master 9. maak via web interface backup van alle bestanden en download die op slave (zodra slave weer volledig operationeel is) 10. maak slave master (login op slave vouw groene vlak open en klik op take over) 11. update master via Maintenance -> software update en kies voor online update 12. maak master weer master (login op slave vouw groene vlak open en klik op take over) als dat niet al vanzelf is gebeurt 11. update slave via Maintenance -> software update en kies voor online update

aandachts punten

1. altijd dienen master en slave direct na elkaar te worden geupdate 2. het maken van het snapshot moet gebeuren als de vm uit staat !