Centos7 implementa el clúster de alta disponibilidad de reserva en caliente de sistema dual Keepalived + LVS

Espera en caliente de doble máquina mantenida + clúster de alta disponibilidad LVS

1. Descripción general de Keepalived

Keepalived fue originalmente una poderosa herramienta auxiliar diseñada específicamente para LVS, utilizada principalmente para proporcionar funciones de conmutación por error (Failover) y verificación de estado (verificación de estado) para determinar la disponibilidad del programador de carga LVS, servidor de nodo, aislamiento oportuno y reemplazo. El nuevo servidor se volverá a unir al clúster cuando el host fallido se recupere. El sitio web oficial de Keepalived se encuentra en: http://www.keepalived.org/ Cuando se usa en un entorno de clúster que no es LVS, Keepalived también se puede usar como un software de respaldo en caliente.

1. Método de copia de seguridad en caliente Keepalived

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. VRRP es una solución de respaldo para enrutadores: varios enrutadores forman un grupo de reserva activa, que proporciona servicios externos a través de una dirección IP virtual pública; cada grupo de reserva activa tiene solo un enrutador principal que brinda servicios al mismo tiempo y otros enrutadores En el estado redundante, si el enrutador actualmente en línea falla, otros enrutadores tomarán automáticamente el control de la dirección IP virtual (la prioridad determina el orden de sucesión) para continuar brindando servicios.

2. Implementar copia de seguridad en caliente de sistema dual Keepalived

1. Preparación

Nombre de la CPU sistema operativo dirección IP
Programador maestro Centos7 192.168.1.1
Programador secundario Centos7 192.168.1.2
Computadora cliente Win7 192.168.1.88

2. Configure el servidor de despacho

主调度器与辅调度器步骤一样

1) Instale el software de soporte

挂光盘,并配置yum源

[root@master ~]# yum -y install keepalived ipvsadm
[root@master ~]# systemctl enable keepalived

2) Instale el servicio httpd

[root@master ~]# yum -y install httpd
为主调度器设置网页:
[root@master ~]# echo "<h1>This is master</h1>" > /var/www/html/index.html
为辅调度器设置网页:
[root@backup ~]# echo "<h1>This is backup</h1>" > /var/www/html/index.html

3) Haga una copia de seguridad del archivo de configuración principal de Keepalived

[root@master ~]# cd /etc/keepalived/
[root@master keepalived]# cp keepalived.conf keepalived.conf.bak

Inserte la descripción de la imagen aquí

4) Edite el archivo de configuración principal de Keepalived

主调度器上操作:

[root@master keepalived]# vi keepalived.conf
将原有数据删除,写入以下数据:
global_defs {
    
    
   router_id 1
}
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.1.188
    }
}
辅调度器上要稍作修改:
  router_id 1  改为  router_id 2
  state MASTER  改为  state BACKUP
  priority 100  改为  priority 99
其他一致即可

Inserte la descripción de la imagen aquí

5) Habilitar el servicio

[root@master keepalived]# systemctl start keepalived
[root@master keepalived]# systemctl start httpd

Compruebe si el VIP está en este servidor

[root@master keepalived]# ip a

Programador principal: Programador
Inserte la descripción de la imagen aquí
auxiliar:
Inserte la descripción de la imagen aquí
debido a que la prioridad del programador auxiliar es menor que la del programador principal, la IP virtual no está en el programador auxiliar, pero cuando el programador principal falla, la IP virtual se desviará al programador auxiliar para acceso externo.

3. Verificación

Durante este período, desconecte repetidamente y conéctese a la tarjeta de red del servidor principal para ver

1) IP de deriva de ping del cliente para probar

Si hay una breve interrupción, se reanudará. Indica que la copia de seguridad en caliente de sistema dual entra en vigor
Inserte la descripción de la imagen aquí

2) Acceso de cliente http para verificación

Si se muestra un contenido diferente, significa que entra en vigencia para
Inserte la descripción de la imagen aquí
abrir la tarjeta de red del programador principal y visitar nuevamente:
Inserte la descripción de la imagen aquí

Tres, clúster Keepalived + LVS

Puede utilizar el primer entorno de experimento para realizar ajustes:
加两台Centos7机器

Nombre de la CPU sistema operativo dirección IP
web-1 Centos7 192.168.1.3
web-2 Centos7 192.168.1.4

1. Configure el servidor de despacho

主调度器和辅调度器一致:

1) Eliminar el servicio httpd en el programador

[root@master ~]# systemctl stop httpd
[root@master ~]# yum -y remove httpd

2) Modificar el archivo de configuración principal Keepalived

[root@master ~]# vi /etc/keepalived/keepalived.conf
在后一行添加:
virtual_server 192.168.1.188 80 {
    
    
        delay_loop 15
        lb_algo rr
        lb_kind DR
        protocol TCP
        
                real_server 192.168.1.3 80 {
    
    
        weight 1
        TCP_CHECK {
    
    
                connect_port 80
                connect_timeout 3
                nb_get_retry 3
                delay_before_retry 4
                }
        }
                real_server 192.168.1.4 80 {
    
    
        weight 1
        TCP_CHECK {
    
    
                connect_port 80
                connect_timeout 3
                nb_get_retry 3
                delay_before_retry 4
                }
        }
}

Inserte la descripción de la imagen aquí

3) Cargue el módulo de servicio del kernel del sistema

[root@master ~]# modprobe ip_vs

4) Ver el estado operativo de los módulos del sistema

[root@master ~]# lsmod | grep ip_vs

Inserte la descripción de la imagen aquí

5) Cargue el módulo ip_vs al inicio

[root@master ~]# echo "modprobe ip_vs" >> /etc/rc.local
[root@master ~]# systemctl restart keepalived

Inserte la descripción de la imagen aquí

2. Configurar la estrategia de clúster LVS-DR

  • Debido a que Keepalived también usa interfaces virtuales, para evitar conflictos de direcciones, no se requiere ningún enlace

主调度器与辅调度器都要做

1) Ajuste los parámetros del kernel / proc

[root@master ~]# cat <<END >> /etc/sysctl.conf 
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
END
[root@master ~]# sysctl -p

Inserte la descripción de la imagen aquí

2) Configurar la estrategia de clúster LVS-DR

[root@master ~]# ipvsadm -A -t 192.168.1.188:80 -s rr
[root@master ~]# ipvsadm -a -t 192.168.1.188:80 -r 192.168.1.3 -g -w 1
[root@master ~]# ipvsadm -a -t 192.168.1.188:80 -r 192.168.1.4 -g -w 1
[root@master ~]# ipvsadm-save
[root@master ~]# systemctl enable ipvsadm
[root@master ~]# ipvsadm -ln

Inserte la descripción de la imagen aquí

3. Configuración del grupo de servidores web

挂光盘,并配置yum源

1) El servidor Web1 y el servidor web2 también están configurados

[root@web-1 ~]# cat <<END >> /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.1.188
NETMASK=255.255.255.255
ONBOOT=yes
END
[root@web-1 ~]# systemctl restart network
[root@web-1 ~]# ip a

Inserte la descripción de la imagen aquí

2) Agregar enrutamiento

[root@web-1 ~]# yum -y install net-tools       			  #安装路由工具
[root@web-1 ~]# echo "route add -host 192.168.1.188 dev lo:0" >> /etc/rc.local   #添加到开机自运行
[root@web-1 ~]# route add -host 192.168.1.188 dev lo:0    #临时添加
[root@web-2 ~]# route -n

Inserte la descripción de la imagen aquí

3) Ajuste los parámetros del kernel / proc y desactive la respuesta ARP

[root@web-1 ~]# cat <<END >> /etc/sysctl.conf 
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
END
[root@web-1 ~]# sysctl -p

Inserte la descripción de la imagen aquí

4) Instale el servicio httpd

Web1,Web2操作步骤一致

[root@web-1 ~]# yum -y install httpd
Web1测试页面:
[root@web-1 ~]# echo "This is web1" > /var/www/html/index.html
Web2测试页面:
[root@web-2 ~]# echo "This is web2" > /var/www/html/index.html
[root@web-1 ~]# systemctl enable httpd
[root@web-1 ~]# systemctl start httpd
[root@web-1 ~]# netstat -anpt | grep 80

4. Pruebe lvs + clúster de alta disponibilidad Keepalived

1) Verifique que el equilibrio de carga de LVS sea normal

Visite 192.168.1.188 en el navegador del cliente para ver si puede cambiar la página web
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
o usar la instrucción de bucle for para probar:

[root@backup ~]# for i in $(seq 10);do curl http://192.168.1.188;done

Inserte la descripción de la imagen aquí

2) Verifique si la copia de seguridad en caliente de sistema dual Keepalived es normal

Cierre el programador maestro LVS, si el cliente puede acceder a la página web normalmente
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_46902396/article/details/108922030
Recomendado
Clasificación