Alcune architetture ad alta disponibilità richiedono un indirizzo IP mobile. Questa funzionalità è disponibile sulla piattaforma Vultr una volta abilitata la rete privata. Vultr offre un intervallo IP in ogni rete privata: "Puoi usare qualsiasi IP che ti piace sulla rete privata. Assegniamo un IP di default, ma puoi ignorarlo e usarne altri se vuoi." . Pertanto, possiamo utilizzare qualsiasi IP virtuale all'interno dell'intervallo IP privato. Questo esempio presenta una configurazione passiva / attiva. Il server principale richiederà l'IP mobile a meno che il server non si spenga. Se il server principale non è attivo, l'IP mobile verrà richiesto dal server di backup.
Prerequisiti
- Due istanze del server Ubuntu 16.04 LTS x64 (server master e di backup).
- Un utente sudo (o account root) .
Preparare il sistema
Inizia abilitando la rete privata su ciascun VPS. Questa funzione è stata ben documentata .
Accedi a ciascun sistema come sudo
utente e aggiorna il sistema e i suoi pacchetti:
apt-get update && apt-get upgrade
Fatto ciò, siamo pronti per iniziare con l'installazione e la configurazione di Keepalived.
Installazione di Keepalived
Ora che ogni sistema è aggiornato e ha un IP privato, è possibile installare Keepalived su entrambi.
apt-get install keepalived
Questo installerà il demone ad alta disponibilità. Keepalived è un programma che offre elevata disponibilità e funzionalità di bilanciamento del carico basate sul VRRP (Virtual Router Redundancy Protocol).
Server principale
Sul server principale, modificare il file di configurazione Keepalived.
nano /etc/keepalived/keepalived.conf
Il virtual_ipaddress
è l'IP saremo sospeso tra i server. I priority
definisce che il proprietario di The IP. Per il master, useremo una priorità di 200
. Useremo il 10.99.0.200
nostro IP virtuale mobile.
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
}
}
Server di backup
Sul server di backup, modificare il file di configurazione Keepalived.
nano /etc/keepalived/keepalived.conf
Qui definiremo il virtual_ipaddress
proprio come sul server principale. La differenza qui è che la priorità di questo server è inferiore, quindi rivendicherà l'IP solo quando il master non è 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
}
}
Utilizzo e test
Dopo aver configurato entrambi i servizi Keepalived, avviare ciascun servizio e abilitarlo all'avvio.
systemctl start keepalived
systemctl enable keepalived
Su un terzo server (o sul server di backup) inizia eseguendo il ping del nostro IP condiviso:
ping 10.99.0.200
Ora riavvia il server principale e guarda l'IP spostarsi sul server di backup. Ciò è generalmente indicato da un lieve aumento della latenza del ping.
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
Conclusione
Keepalived funziona senza problemi su Vultr ed è pronto per tutti i progetti di architettura ad alta disponibilità.