Keepalived es un demonio del sistema que monitorea servicios o sistemas de forma continua y logra una alta disponibilidad en caso de falla. Si un nodo está inactivo, el segundo nodo servirá los recursos. Keepalived se utiliza para la conmutación por error de IP entre dos servidores . Sus facilidades para balanceo de carga y alta disponibilidad a infraestructuras basadas en Linux. Trabajó en el protocolo VRRP (Protocolo de redundancia de enrutador virtual).
Por lo general, instalamos y configuramos Keepalived en dos servidores con una IP generalmente conocida como VIP (IP virtual).
Mostraremos la instalación y configuración de ambos servidores uno por uno.
Requisitos previos:
Instale HA Proxy para que Keepalived funcione en una situación a prueba de fallas.
Instalaremos bibliotecas de requisitos previos antes de instalar Keepalived.
yum -y install kernel-headers kernel-devel
Instalar Keepalived:
Instale keepalived ingresando el siguiente comando en ambas máquinas:
yum -y install keepalived
Configuración del servidor maestro:
Abra el archivo de configuración de keepalived en el MASTER Server.
nano /etc/keepalived/keepalived.conf
Agregue la siguiente configuración:
! Configuration File for keepalived
global_defs {
}
vrrp_script haproxy {
script "pgrep haproxy" # check the haproxy process
interval 2 # every 2 seconds
timeout 1 # add 2 points if OK
}
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 101
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.7.40
}
track_script {
haproxy
}
}
La asignación de IP virtual a la interfaz ens33 será la siguiente:
Configuraciones del servidor de respaldo:
Abra el archivo de configuración en el servidor de respaldo.
nano /etc/keepalived/keepalived.conf
Ingrese la siguiente configuración en el servidor de respaldo:
! Configuration File for keepalived
global_defs {
}
vrrp_script haproxy {
script "killall -0 haproxy" # check the haproxy process
interval 2 # every 2 seconds
timeout 1 # add 2 points if OK
}
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.7.40
}
track_script {
haproxy
}
}
Iniciar y habilitar Keepalived en ambos servidores:
systemctl start keepalived.service
systemctl enable keepalived.service
systemctl status keepalived.service
Como puede ver arriba, la IP virtual está asignada en ens33 y es 192.168.7.40 y escuchará el tráfico que llega a esta IP. Del mismo modo que su prioridad es 101, también es el estado maestro.
A continuación se muestra el estado de la máquina de copia de seguridad.
Ahora, si el maestro se cae, el servidor de respaldo se convertirá en maestro ya que su prioridad será mayor y el tiempo de inactividad será mínimo.
cuando el maestro se levante, la máquina de copia de seguridad entrará en estado de copia de seguridad automáticamente.