Algunas arquitecturas de alta disponibilidad requieren una dirección IP flotante. Esta funcionalidad está disponible en la plataforma Vultr una vez que se ha habilitado la red privada. Vultr ofrece un rango de IP en cada red privada: "Puede usar cualquier IP que desee en la red privada. Asignamos una IP por defecto, pero puede ignorarla y usar otras si lo desea". . Por lo tanto, podemos usar cualquier IP virtual dentro del rango de IP privado. Este ejemplo presenta una configuración pasiva / activa. El servidor maestro reclamará la IP flotante a menos que el servidor se caiga. Si el servidor maestro está inactivo, el servidor de respaldo reclamará la IP flotante.
Prerrequisitos
Preparando el sistema
Comience habilitando la red privada en cada VPS. Esta característica ha sido bien documentada .
Inicie sesión en cada sistema como sudo
usuario y actualice el sistema y sus paquetes:
apt-get update && apt-get upgrade
Una vez hecho esto, estamos listos para comenzar con la instalación y configuración de Keepalived.
Instalar Keepalived
Ahora que cada sistema está actualizado y tiene una IP privada, puede instalar Keepalived en ambos.
apt-get install keepalived
Esto instalará el demonio de alta disponibilidad. Keepalived es un programa que proporciona alta disponibilidad y funcionalidad de equilibrio de carga basada en el Protocolo de redundancia de enrutador virtual (VRRP).
Servidor maestro
En el servidor maestro, edite el archivo de configuración Keepalived.
nano /etc/keepalived/keepalived.conf
La virtual_ipaddress
es la IP que estaremos flotando entre los servidores. El priority
define quién será el propietario de la IP. Para el maestro, usaremos una prioridad de 200
. Utilizaremos el 10.99.0.200
como nuestra IP virtual flotante.
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
}
}
Servidor de respaldo
En el servidor de respaldo, edite el archivo de configuración Keepalived.
nano /etc/keepalived/keepalived.conf
Aquí definiremos lo virtual_ipaddress
mismo que en el servidor maestro. La diferencia aquí es que la prioridad de este servidor es menor, por lo que solo reclamará la IP cuando el maestro no esté en línea.
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
}
}
Uso y prueba
Una vez que ambos servicios Keepalived están configurados, inicie cada servicio y habilítelo en el arranque.
systemctl start keepalived
systemctl enable keepalived
En un tercer servidor (o en el servidor de respaldo) comience haciendo ping a nuestra IP compartida:
ping 10.99.0.200
Ahora reinicie el servidor maestro y observe cómo la IP se mueve al servidor de respaldo. Esto generalmente se indica por un pequeño aumento en la latencia de 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
Conclusión
Keepalived funciona sin problemas en Vultr y está listo para todos sus diseños de arquitectura de alta disponibilidad.