Clúster LVS + Keepalived ------- Configuración e instalación detalladas

Respaldo activo mantenido

  • Introducción a
    Keepalived Keepalived es una poderosa herramienta auxiliar diseñada específicamente para LVS al principio. Se utiliza principalmente para proporcionar funciones de verificación de estado y conmutación por error; puede determinar la disponibilidad del programador de equilibrio de carga LVS y el servidor de nodo a tiempo. Aísle y reemplace con un nuevo servidor y vuelva a unirse al clúster cuando se restaure el host.

  • Método de copia de seguridad en caliente de Keepalived
    1. Keepalived adopta el protocolo de copia de seguridad en caliente VRRP (Protocolo de redundancia de enrutador virtual, Protocolo de redundancia de enrutador virtual) para realizar la función de copia de seguridad en caliente de múltiples máquinas del servidor Linux en el software.

    2. VRRP es una solución de respaldo para enrutadores: un grupo de reserva activa está formado por los enrutadores opuestos, que brindan servicios al exterior a través de una dirección IP virtual compartida;
    cada grupo de reserva activa tiene solo un enrutador principal al mismo tiempo para brindar servicios, Otros enrutadores están en un estado redundante. Si el enrutador actual falla, otras rutas tomarán el control automáticamente (la prioridad determina el orden de sucesión) direcciones IP virtuales para continuar brindando servicios.

    3. Cada enrutador del grupo de espera activa puede convertirse en el enrutador principal. La dirección IP (VIP) del enrutador virtual se puede transferir antes que los enrutadores del grupo de espera activa, por lo que también se denomina dirección IP a la deriva. Cuando se usa keepalived, la dirección a la deriva La implementación no necesita establecer manualmente la configuración de la interfaz virtual, pero es administrada automáticamente por keepalived de acuerdo con el archivo de configuración.

Clúster de alta disponibilidad LVS + Keepalived

  • El objetivo de diseño de Keepalived es construir un clúster de equilibrio de carga LVS de alta disponibilidad. Puede llamar a la herramienta ipvsadm para crear servidores virtuales y administrar grupos de servidores, no solo para el modo de espera en caliente de sistema dual

  • Usar Keepalived para construir un clúster LVS es más fácil de usar

  • Ventajas principales: Realice la conmutación de espera en caliente para el programador de carga LVS para mejorar la disponibilidad; realice una verificación de estado en los nodos en el grupo de servidores, elimine automáticamente los nodos fallidos y vuelva a unirse después de la recuperación

  • En la estructura del clúster LVS basada en LVS + Keepalived, se incluyen al menos dos programadores de carga en espera y tres o más servidores de nodo

  • Cuando use Keepalived para construir un clúster LVS, también necesita usar la herramienta ipvsadm, pero Keepalived realizará la mayor parte del trabajo automáticamente y no es necesario que ejecute ipvsadm manualmente (excepto para ver y monitorear el clúster)

Cree un clúster de alta disponibilidad LVS + Keepalived

Esta demostración se basará en el clúster LVS en modo DR, agregará un programador de carga y utilizará keepalived para implementar la copia de seguridad en caliente de los programadores maestro y esclavo, creando así una plataforma de clúster de sitios web LVS con capacidades de equilibrio de carga y alta disponibilidad.
Esta demostración se basa en esto: LVS load balancing-DR mode

Implementar el entorno de red

No necesita un diagrama de topología eNsp para darse cuenta, solo necesita agregar un programador de carga.

1. Un programador (método de conexión vm1)
cambia ip: 192.168.100.21/24 puerta de enlace: 192.168.100.1 y reinicia la tarjeta de red;

2.
Cambie la ip de los dos servidores de nodo (modo de conexión vm1) : 192.168.100.22/24 puerta de enlace: 192.168.100.1 y reinicie la tarjeta de red,
cambie la ip: 192.168.100.23/24 puerta de enlace: 192.168.100.1 y reinicie la tarjeta de red;

3. Un almacenamiento compartido NFS (método de conexión vm1)
cambiar ip: 192.168.100.24/24 puerta de enlace: 192.168.100.1 reiniciar la tarjeta de red

4. Agregue un nuevo programador (modo de conexión vm1),
cambie ip: 192.168.100.20/24 puerta de enlace: 192.168.100.1, reinicie la tarjeta de red

Apague el firewall, la protección del núcleo e instale la fuente de yum local.
A excepción de los dos programadores que deben cambiar la configuración, el resto no necesita ser configurado nuevamente

Configure el nuevo programador de carga (192.168.100.20)

  • Este programador de carga actuará como programador maestro

[1] Ajustar / procesar parámetros de respuesta

[root@localhost network-scripts]# vi /etc/sysctl.conf 
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0

[root@localhost network-scripts]# sysctl -p     ###生效
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0 

[2] Ajustar los parámetros de mantenimiento

[root@localhost ~]# yum -y install keepalived ipvsadm
[root@localhost ~]# cd /etc/keepalived/
[root@localhost keepalived]# cp keepalived.conf keepalived.conf.bak               ####必须要备份一下
[root@localhost keepalived]# vi keepalived.conf            ####为了防止改错,将原内容全部删除,插入添加以下内容
 
global_defs {
  router_id HA_TEST_R1
}
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 1
  priority 100
  advert_int 1
  authentication {
  auth_type PASS
  auth_pass 123456
  }
virtual_ipaddress {
  192.168.100.100
  }
}

virtual_server 192.168.100.100 80 {
delay_loop 15
lb_algo rr
lb_kind DR
persistence 60
protocol TCP

real_server 192.168.100.22 80 {
    weight 1
    TCP_CHECK {
        connect_port 80
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 4
    }
 }
real_server 192.168.100.23 80 {
    weight 1
    TCP_CHECK {
        connect_port 80
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 4
    }
 }
}



[root@localhost keepalived]# systemctl start keepalived             ####启动keepalived
[root@localhost keepalived]# systemctl enable keepalived            ####开机启动keepalived
[root@localhost keepalived]# ip addr show dev ens33                 ####查看主控制IP地址和漂移地址

Inserte la descripción de la imagen aquí

  • ! ! ! El siguiente contenido es solo una explicación del script anterior, no como salida, ¡solo como referencia! ! !
global_defs {
   router_id HA_TEST_R1              ####本路由器(服务器)的名称 HA_TEST_R1
}
vrrp_instance VI_1 {                ####定义VRRP热备实列
   state MASTER                    ####热备状态,master表示主服务器
   interface ens33                ####表示承载VIP地址的物理接口
   virtual_router_id 1            ####虚拟路由器的ID号,每个热备组保持一致
   priority 100                  ####优先级,优先级越大优先级越高
   advert_int 1                     ####通告间隔秒数(心跳频率)
   authentication {               ####认证信息,每个热备组保持一致
   auth_type PASS              ####认证类型
   auth_pass 123456             ####认证密码
   }
virtual_ipaddress {              ####漂移地址(VIP),可以是多个
  192.168.100.100
   }
}

virtual_server 192.168.100.100 80 {        ####虚拟服务器地址(VIP)、端口
delay_loop 15                ####健康检查的时间间隔(秒)
lb_algo rr                    ####轮询调度算法
lb_kind DR                    ####直接路由(DR)群集工作模式
persistence 60               ####连接保持时间(秒),若启用请去掉!号
protocol TCP                 ####应用服务采用的是TCP协议

real_server 192.168.100.22 80 {       ####第一个WEB站点的地址,端口
    weight 1                  ####节点的权重
    TCP_CHECK {                  ####健康检查方式
    connect_port 80                  ####检查端口目标
    connect_timeout 3                ####连接超时(秒)
    nb_get_retry 3                 ####重试次数
    delay_before_retry 4               ####重试间隔(秒)
    }
}
real_server 192.168.100.23 80 {
    weight 1
    TCP_CHECK {
    connect_port 80
    connect_timeout 3
    nb_get_retry 3
    delay_before_retry 4
    }
 }
}

Configurar el programador de carga (192.168.100.21)

  • Este programador de carga actuará como un programador de respaldo de respaldo

[1] Estrategia clara de distribución de carga

[root@localhost /]# ipvsadm -C             ####因为 keepalived 会自动分配,不清除的可能会冲突

[2] Ajustar los parámetros de mantenimiento

[root@localhost ~]# yum -y install keepalived ipvsadm
[root@localhost ~]# cd /etc/keepalived/
[root@localhost keepalived]# cp keepalived.conf keepalived.conf.bak
[root@localhost keepalived]# vi keepalived.conf
 
global_defs {
  router_id HA_TEST_R2
}

vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 1
priority 99
advert_int 1
authentication {
  auth_type PASS
  auth_pass 123456
  }
virtual_ipaddress {
  192.168.100.100
  }
}

virtual_server 192.168.100.100 80 {
delay_loop 15
lb_algo rr
lb_kind DR
persistence 60
protocol TCP

real_server 192.168.100.22 80 {
    weight 1
    TCP_CHECK {
        connect_port 80
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 4
    }
 }
real_server 192.168.100.23 80 {
    weight 1
    TCP_CHECK {
        connect_port 80
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 4
        }
 }
}


[root@localhost keepalived]# systemctl start keepalived             ####启动keepalived
[root@localhost keepalived]# systemctl enable keepalived            ####开机启动keepalived
[root@localhost keepalived]# ip addr show dev ens33                 ####查看主控制IP地址和漂移地址


En este momento, el servidor principal todavía está en línea, la dirección VIP todavía está controlada por el servidor principal y otros servidores están en estado de espera, por lo que no se agregará ninguna dirección VIP a la interfaz ens33 en el servidor de reserva

  • ! ! ! En el programador de copias de seguridad, la secuencia de comandos solo necesita ajustar algunos valores de parámetros. Lo siguiente no se mostrará, ¡solo como referencia! ! !

    global_defs {
      router_id HA_TEST_R2                  #### 本路由器(服务器)的名称  HA_TEST_R2
    }
        .........
        ...
    vrrp_instance VI_1 {
    state BACKUP            #####热备状态,backup 表示备用服务器
    interface ens33
    virtual_router_id 1
    priority 99           #####优先级,数值应低于主服务器
    .......
    .....
    

La configuración en la configuración de dos servidores de nodo y el servidor compartido NFS no se cambiará

Para la configuración, consulte: Clúster de equilibrio de carga LVS ---------- Modo DR (ruta directa)

Prueba de máquina real

  • prueba de acceso web
    Inserte la descripción de la imagen aquí
    Inserte la descripción de la imagen aquí

  • Probar conectividad.Cuando el
    programador maestro está habilitado, la dirección MAC de solicitud ARP es la dirección del
    Inserte la descripción de la imagen aquí
    programador maestro.Cuando el programador maestro está deshabilitado, la dirección MAC de solicitud ARP es la dirección del programador en espera.
    Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/XCsuperman/article/details/108751348
Recomendado
Clasificación