GNU/Linux >> Tutoriales Linux >  >> Linux

Configuración de un clúster de Linux con Keepalived:configuración básica

En el primer artículo de esta serie, Uso de Keepalived para administrar la conmutación por error simple en clústeres, aprendió sobre Keepalived y el VRRP protocolo para la conmutación por error de una dirección IP de una máquina a otra. Ahora es el momento de ensuciarse las manos y aprender sobre la instalación y configuración básica de Keepalived . En este artículo, configurará Keepalived para habilitar la conmutación por error entre dos servidores. ¡Empecemos!

Instalación mantenida

Keepalived está disponible dentro de los repositorios de paquetes estándar y se instala fácilmente usando yum :

[root@server1 ~]# yum install -y keepalived

[root@server1 ~]# keepalived --version
Keepalived v2.0.10 (11/12,2018)

[root@server1 ~]# systemctl status keepalived
keepalived.service - LVS and VRRP High Availability Monitor
Loaded: loaded (/usr/lib/systemd/system/keepalived.service; disabled; vendor preset: disab
Active: inactive (dead)

También debe saber cómo compilar Keepalived del código fuente. Keepalived es un proyecto mantenido activamente, y recibe regularmente nuevas funciones y correcciones de errores que pueden no estar en la versión del administrador de paquetes cuando los necesita. Incluso encontré errores con la versión actual en los repositorios de paquetes mientras escribía esta serie, y tuve que seguir este procedimiento exacto para usar la última versión de Keepalived .

# Install prerequisites
yum install -y gcc openssl-devel

# Download the latest version of the code. Be sure to check the downloads page for the most recent version:https://www.keepalived.org/download.html
[root@localhost ~]# wget https://www.keepalived.org/software/keepalived-2.0.20.tar.gz

# Extract the code
[root@localhost ~]# tar -xf keepalived-2.0.20.tar.gz

# Run the configure scripts
[root@localhost ~]# cd keepalived-2.0.20
[root@localhost keepalived-2.0.20]# ./configure

# Build and install keepalived
[root@localhost keepalived-2.0.20]# make
[root@localhost keepalived-2.0.20]# make install

# Test your installation
[root@localhost keepalived-2.0.20]# keepalived --version
Keepalived v2.0.20 (01/22,2020)

Configuración básica

Símbolos de red en los diagramas disponibles a través de VRT Network Equipment Extension, CC BY-SA 3.0.

El archivo de configuración para Keepalived se encuentra en /etc/keepalived/keepalived.conf . Como se discutió en el artículo anterior, Keepalived hace más que simplemente implementar VRRP básico . Esto conduce a un archivo de configuración que puede parecer desalentador si observa la página de manual de Keepalived. Sin embargo, se puede lograr una topología simple como la anterior con una configuración mínima.

El Keepalived más básico La configuración habilita una dirección IP compartida entre dos servidores. En la topología anterior, el servidor1 es el maestro y el servidor2 es la copia de seguridad. La configuración de ambos servidores es sencilla.

Configuración del servidor 1:

server1# cat /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
        state MASTER
        interface eth0
        virtual_router_id 51
        priority 255
        advert_int 1
        authentication {
              auth_type PASS
              auth_pass 12345
        }
        virtual_ipaddress {
              192.168.122.200/24
        }
}

Configuración del servidor 2:

server2# cat /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {

        state BACKUP
        interface eth0
        virtual_router_id 51
        priority 254
        advert_int 1
        authentication {
              auth_type PASS
              auth_pass 12345
        }
        virtual_ipaddress {
              192.168.122.200/24
        }
}

Las directivas de configuración deberían ser obvias a partir de sus convenciones de nomenclatura, pero analizaré cada una de ellas:

  • vrrp_instance define una instancia individual del VRRP protocolo que se ejecuta en una interfaz. He nombrado arbitrariamente esta instancia VI_1.
  • state define el estado inicial en el que debe comenzar la instancia.
  • interface define la interfaz que VRRP sigue funcionando.
  • virtual_router_id es el identificador único que aprendiste en el primer artículo de esta serie.
  • priority es la prioridad anunciada que aprendiste en el primer artículo de esta serie. Como aprenderá en el próximo artículo, las prioridades se pueden ajustar en tiempo de ejecución.
  • advert_int especifica la frecuencia con la que se envían los anuncios (1 segundo, en este caso).
  • authentication especifica la información necesaria para los servidores que participan en VRRP para autenticarse entre sí. En este caso, se define una contraseña simple.
  • virtual_ipaddress define las direcciones IP (puede haber varias) que VRRP es responsable de.

Si está utilizando un firewall basado en host, como firewalld o iptables , debe agregar las reglas necesarias para permitir el tráfico del protocolo IP 112. De lo contrario, Keepalived El método de publicidad de no funcionará. La configuración de un firewall basado en host está fuera del alcance de este artículo, pero asegúrese de consultar algunos de los otros artículos de Enable Sysadmin sobre iptables y firewalld para obtener más información.

Con la configuración anterior en su lugar, puede iniciar Keepalived en ambos servidores usando systemctl start keepalived y observe las direcciones IP en cada máquina. Observe que server1 se ha iniciado como VRRP maestro y posee la dirección IP compartida (192.168.122.200), mientras que las direcciones IP del servidor2 permanecen sin cambios:

server1# ip -brief address show
lo UNKNOWN 127.0.0.1/8 ::1/128
eth0 UP 192.168.122.101/24 192.168.122.200/24 fe80::5054:ff:fe82:d66e/64
server2# ip -br a
lo UNKNOWN 127.0.0.1/8 ::1/128
eth0 UP 192.168.122.102/24 fe80::5054:ff:fe04:2c5d/64

Una vez que hayas confirmado que Keepalived se ha iniciado en ambos servidores y el servidor 1 es el maestro activo, puede probar la funcionalidad de conmutación por error "cambiando" el VIP al otro servidor. Deteniendo Keepalived en el servidor1, el maestro activo deja de enviar anuncios y el servidor2 se hace cargo del VIP:

server1# systemctl stop keepalived

server1# ip -brief address show
lo UNKNOWN 127.0.0.1/8 ::1/128
eth0 UP 192.168.122.101/24 fe80::5054:ff:fe82:d66e/64
server2# ip -brief address show
lo UNKNOWN 127.0.0.1/8 ::1/128
eth0 UP 192.168.122.102/24 192.168.122.200/24 fe80::5054:ff:fe04:2c5d/64

¡Y eso es! Ahora tiene un par básico de servidores redundantes.

Supervisión del tráfico VRRP

Como se discutió en el primer artículo de la serie, comprender el comportamiento a nivel de protocolo de VRRP es importante para que pueda configurarlo correctamente y solucionarlo. Si ha leído los artículos anteriores de Enable Sysadmin sobre el análisis del tráfico de red, probablemente se sienta cómodo usando tcpdump . Capturas de paquetes de línea de comando usando tcpdump puede revelar todo lo que necesita saber sobre su VRRP configuración, incluyendo el VRID y la prioridad del maestro activo:

server1# tcpdump proto 112
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes

16:51:01.353224 IP 192.168.122.102 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 254, authtype simple, intvl 1s, length 20

16:51:02.353673 IP 192.168.122.102 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 254, authtype simple, intvl 1s, length 20

16:51:03.353753 IP 192.168.122.102 > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 254, authtype simple, intvl 1s, length 20

^C

3 packets captured
3 packets received by filter
0 packets dropped by kernel

Pruébelo usted mismo ejecutando tcpdump mientras voltea el VIP de un lado a otro entre los dos servidores.

Conclusión

Este artículo lo llevó a través de los fundamentos de Keepalived instalacion y configuracion. Aprendiste a instalar Keepalived a través del administrador de paquetes y compilándolo desde la fuente, y creó un Keepalived básico configuración para habilitar la conmutación por error VIP entre dos hosts. Finalmente, probó esta configuración y usó tcpdump observar VRRP tráfico. En el próximo artículo de esta serie, lo guiaré a través de algunos Keepalived avanzados. configuraciones.

[ ¿Necesita aprender más sobre la administración del sistema Linux? Considere tomar un curso de administración de sistemas de Red Hat. ]


Linux
  1. Configuración básica de PHP 7 y Nginx en Ubuntu 16.04 Linux

  2. Solución de problemas de Linux:configuración de un agente de escucha TCP con ncat

  3. Servicio de sistema operativo Linux 'o2cb'

  4. Visual Basic .Net en Linux

  5. Configuración de un subdominio con Apache en Linux

15 comandos ps de Linux con ejemplos

14 comandos básicos de Tar en Linux con ejemplos para principiantes

Equilibrio de carga con HAProxy, Nginx y Keepalived en Linux

Introducción a los archivos de configuración de Puppet con ejemplos en Linux

Configuración de un servidor NFS con Turnkey Linux

Configuración de la zona horaria en Linux