Preduvjeti
Priprema sustava
Instaliranje Keepaliveda
Glavni poslužitelj
Backup poslužitelj
Korištenje i testiranje
Zaključak
Neke arhitekture visoke dostupnosti zahtijevaju plutajuću IP adresu. Ova je funkcionalnost dostupna na Vultr platformi nakon što je omogućeno privatno umrežavanje. Vultr nudi IP raspon u svakoj privatnoj mreži: "Možete koristiti bilo koje IP adrese koje želite u privatnoj mreži. Dodjeljujemo jedan IP prema zadanim postavkama, ali ga možete zanemariti i koristiti druge ako želite." . Stoga možemo koristiti bilo koji virtualni IP unutar privatnog IP raspona. Ovaj primjer sadrži pasivno/aktivno postavljanje. Glavni poslužitelj će zatražiti plutajuću IP adresu osim ako poslužitelj ne padne. Ako glavni poslužitelj ne radi, rezervni će poslužitelj zatražiti plutajuću IP adresu.
Preduvjeti
- Dvije instance poslužitelja Ubuntu 16.04 LTS x64 (glavni i backup poslužitelj).
- Korisnik sudo (ili root račun) .
Priprema sustava
Započnite tako što ćete omogućiti privatnu mrežu na svakom VPS-u. Ova značajka je dobro dokumentirana .
Prijavite se na svaki sustav kao sudokorisnik i ažurirajte sustav i njegove pakete:
apt-get update && apt-get upgrade
Nakon što je to učinjeno, spremni smo za početak instaliranja i konfiguriranja Keepaliveda.
Instaliranje Keepaliveda
Sada kada je svaki sustav ažuriran i ima privatni IP, možete instalirati Keepalived na oba.
apt-get install keepalived
Ovo će instalirati demon visoke dostupnosti. Keepalived je program koji pruža visoku dostupnost i funkcionalnost balansiranja opterećenja temeljenu na protokolu za redundantnost virtualnog rutera (VRRP).
Glavni poslužitelj
Na glavnom poslužitelju uredite konfiguracijsku datoteku Keepalived.
nano /etc/keepalived/keepalived.conf
To virtual_ipaddressje IP koji ćemo plutati između poslužitelja. Na prioritydefinira tko će biti vlasnik IP. Za master ćemo koristiti prioritet od 200. Koristit ćemo 10.99.0.200kao naš plutajući virtualni 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 poslužitelj
Na sigurnosnom poslužitelju uredite konfiguracijsku datoteku Keepalived.
nano /etc/keepalived/keepalived.conf
Ovdje ćemo definirati virtual_ipaddresskao na glavnom poslužitelju. Ovdje je razlika u tome što je prioritet ovog poslužitelja niži, tako da će tražiti IP samo kada master nije 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
}
}
Korištenje i testiranje
Nakon što su obje Keepalived usluge konfigurirane, pokrenite svaku uslugu i omogućite je pri pokretanju.
systemctl start keepalived
systemctl enable keepalived
Na trećem poslužitelju (ili na backup poslužitelju) počnite pingiranjem našeg zajedničkog IP-a:
ping 10.99.0.200
Sada ponovno pokrenite glavni poslužitelj i gledajte kako se IP pomiče na backup poslužitelj. To je obično naznačeno malim povećanjem ping latencije.
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
Zaključak
Keepalived radi bez problema na Vultru i spreman je za sve vaše dizajne arhitekture visoke dostupnosti.