Forutsetninger
Klargjøring av systemet
Installerer Keepalved
Hovedserver
Backup server
Bruk og testing
Konklusjon
Noen arkitekturer med høy tilgjengelighet krever en flytende IP-adresse. Denne funksjonaliteten er tilgjengelig på Vultr-plattformen når privat nettverk er aktivert. Vultr tilbyr en IP-rekkevidde i hvert private nettverk: "Du kan bruke alle IP-er du liker på det private nettverket. Vi tildeler én IP som standard, men du kan ignorere den og bruke andre hvis du vil." . Derfor kan vi bruke hvilken som helst virtuell IP innenfor det private IP-området. Dette eksemplet har et passivt/aktivt oppsett. Hovedserveren vil kreve den flytende IP-en med mindre serveren går ned. Hvis hovedserveren er nede, vil den flytende IP-en bli gjort krav på av backupserveren.
Forutsetninger
Klargjøring av systemet
Start med å aktivere det private nettverket på hver VPS. Denne funksjonen er godt dokumentert .
Logg inn på hvert system som sudobruker, og oppdater systemet og dets pakker:
apt-get update && apt-get upgrade
Når dette er gjort, er vi klare til å starte med å installere og konfigurere Keepalved.
Installerer Keepalved
Nå som hvert system er oppdatert og har en privat IP, kan du installere Keepalived på begge.
apt-get install keepalived
Dette vil installere demonen med høy tilgjengelighet. Keepalived er et program som gir høy tilgjengelighet og lastbalanserende funksjonalitet basert på Virtual Router Redundancy Protocol (VRRP).
Hovedserver
Rediger Keepalved-konfigurasjonsfilen på hovedserveren.
nano /etc/keepalived/keepalived.conf
Det virtual_ipaddresser IP-en vi skal flyte mellom serverne. Den prioritydefinerer hvem som skal eie IP-en. For mesteren vil vi bruke en prioritet på 200. Vi vil bruke den 10.99.0.200som vår flytende virtuelle IP.
vrrp_instance VI_1 {
state MASTER
interface ens7
virtual_router_id 51
priority 200
advert_int 1
authentication {
auth_type PASS
auth_pass thisismysupersecretpassword
}
virtual_ipaddress {
10.99.0.200
}
}
Backup server
Rediger Keepalved-konfigurasjonsfilen på backupserveren.
nano /etc/keepalived/keepalived.conf
Her vil vi definere virtual_ipaddressakkurat som på masterserveren. Forskjellen her er at prioriteten til denne serveren er lavere, så den vil bare kreve IP når masteren ikke er online.
vrrp_instance VI_1 {
state BACKUP
interface ens7
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass thisismysupersecretpassword
}
virtual_ipaddress {
10.99.0.200
}
}
Bruk og testing
Når begge Keepalved-tjenestene er konfigurert, start hver tjeneste og aktiver den ved oppstart.
systemctl start keepalived
systemctl enable keepalived
På en tredje server (eller på backupserveren) start med å pinge vår delte IP:
ping 10.99.0.200
Start nå hovedserveren på nytt og se IP-en flytte til backupserveren. Dette indikeres vanligvis med en liten økning i ping-latens.
64 bytes from 10.99.0.200: icmp_seq=80 ttl=64 time=0.384 ms
64 bytes from 10.99.0.200: icmp_seq=81 ttl=64 time=1.33 ms <<< failover has happened
64 bytes from 10.99.0.200: icmp_seq=82 ttl=64 time=0.388 ms
64 bytes from 10.99.0.200: icmp_seq=83 ttl=64 time=0.339 ms
64 bytes from 10.99.0.200: icmp_seq=84 ttl=64 time=0.570 ms
Konklusjon
Keepalved fungerer uten problemer på Vultr, og er klar for alle dine høytilgjengelige arkitekturdesigner.