GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo configurar la conmutación por error de IP con KeepAlived en Ubuntu y Debian

Keepalive 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). En este tutorial, hemos configurado la conmutación por error de IP entre dos sistemas Linux que se ejecutan como un equilibrador de carga para el equilibrio de carga y las infraestructuras de alta disponibilidad.

También puede interesarle nuestro tutorial Cómo configurar HAProxy en Ubuntu y Linuxmint.

Escenario de red:
  1. LB1 Server: 192.168.10.111 (eth0)
  2. LB2 Server: 192.168.10.112 (eth0)
  3. Virtual IP: 192.168.10.121

Espero que comprenda mejor la configuración con la estructura anterior. Pasemos a la configuración de conmutación por error de IP entre los servidores LB1 y LB2.

Paso 1:instalar los paquetes necesarios

En primer lugar, use el siguiente comando para instalar los paquetes necesarios para configurar Keepalived en el servidor.

sudo apt-get update
sudo apt-get install linux-headers-$(uname -r)

Paso 2:instalar Keepalived

Los paquetes Keepalived están disponibles en los repositorios apt predeterminados. Así que solo use un comando para instalarlo en ambos servidores.

sudo apt-get install keepalived

Paso 3:configurar Keepalived en LB1.

Ahora cree o edite el archivo de configuración de Keepalived /etc/keepalived/keepalived.conf en LB1 y agregue las siguientes configuraciones. Actualice todos los valores resaltados en rojo con la configuración de su red y sistema.

vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   notification_email {
     [email protected]
     [email protected]
   }
   notification_email_from [email protected]
   smtp_server localhost
   smtp_connect_timeout 30
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 101
    priority 101
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.10.121
    }
}

Paso 4:configure KeepAlived en LB2.

Además, cree o edite el archivo de configuración de Keepalived /etc/keepalived/keepalived.conf en LB2 y agregue la siguiente configuración. Al realizar cambios en el archivo de configuración de LB2, asegúrese de establecer valores de prioridad inferiores a LB1. Por ejemplo, la siguiente configuración muestra un valor de prioridad 100 que LB1 tiene 101.

vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   notification_email {
     [email protected]
     [email protected]
   }
   notification_email_from [email protected]
   smtp_server localhost
   smtp_connect_timeout 30
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 101
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.10.121
    }
}
1. Prioridad el valor será más alto en el servidor maestro, no importa lo que haya usado en el estado. Si su estado es MAESTRO pero su prioridad es menor que el enrutador con RESPALDO, perderá el estado MAESTRO.
2. id_enrutador_virtual debe ser igual en los servidores LB1 y LB2.
3. vrrp_instance único predeterminado admite hasta 20 virtual_ipaddress . Para agregar más direcciones, debe agregar más vrrp_instance

Paso 5:inicie el servicio KeepAlived

Inicie el servicio keepalived con el siguiente comando y también configúrelo para que se inicie automáticamente en el arranque del sistema.

sudo service keepalived start

Paso 6:comprobar las direcciones IP virtuales

Por defecto, la IP virtual se asignará al servidor maestro. En caso de que el maestro se caiga, se asignará automáticamente al servidor esclavo. Use el siguiente comando para mostrar la IP virtual asignada en la interfaz.

ip addr show eth0

Salida de muestra

2: eth0:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:b9:b0:de brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.111/24 brd 192.168.1.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet 192.168.10.121/32 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::11ab:eb3b:dbce:a119/64 scope link
       valid_lft forever preferred_lft forever

Paso 7:verificar la configuración de conmutación por error de IP

  1. Apague el servidor maestro (LB1) y verifique si las direcciones IP se asignan automáticamente al servidor esclavo.
ip addr show eth0
  1. Ahora inicie LB1 y detenga el servidor esclavo (LB2). Las direcciones IP se asignarán automáticamente al servidor maestro.
ip addr show eth0
  1. Vea los archivos de registro para asegurarse de que funcionen
tailf /var/log/syslog

Salida de muestra

Feb  7 17:24:51 tecadmin Keepalived_healthcheckers[23177]: Registering Kernel netlink reflector
Feb  7 17:24:51 tecadmin Keepalived_healthcheckers[23177]: Registering Kernel netlink command channel
Feb  7 17:24:51 tecadmin Keepalived_healthcheckers[23177]: Opening file '/etc/keepalived/keepalived.conf'.
Feb  7 17:24:51 tecadmin Keepalived_healthcheckers[23177]: Configuration is using : 11104 Bytes
Feb  7 17:24:51 tecadmin Keepalived_healthcheckers[23177]: Using LinkWatch kernel netlink reflector...
Feb  7 17:24:52 tecadmin Keepalived_vrrp[23178]: VRRP_Instance(VI_1) Transition to MASTER STATE
Feb  7 17:24:53 tecadmin Keepalived_vrrp[23178]: VRRP_Instance(VI_1) Entering MASTER STATE
Feb  7 17:24:53 tecadmin avahi-daemon[562]: Registering new address record for 192.168.10.121 on eth0.IPv4.

Ubuntu
  1. Cómo configurar HAProxy en Ubuntu 16.04

  2. Cómo instalar Mattermost con MySQL en Ubuntu 14.04 y Debian 8

  3. Cómo configurar la interfaz de red en Ubuntu, Debian y LinuxMint

  4. Cómo configurar un cortafuegos con UFW en Ubuntu \ Debian

  5. Cómo configurar un servidor de correo electrónico con Mail-in-a-Box en Ubuntu

Cómo configurar GlassFish 4.1 con JAVA 8 en Ubuntu 15.04

Cómo configurar Icinga Web 2 en Ubuntu 18.04 / Ubuntu 16.04 / Debian 9

Cómo configurar el servidor NFS en Debian 9 / Ubuntu 16.04 / LinuxMint 18

Cómo configurar WordPress en Ubuntu Server con Apache

Cómo configurar ModSecurity con Nginx en Debian/Ubuntu

Cómo instalar y configurar Apache Spark en Ubuntu/Debian