Teoría + experimento-LVS + Clúster de alta disponibilidad Keepalived

Uno, Keepalived haga doble clic en el conocimiento básico del modo de espera activo

1.1 Análisis de caso mantenido

  • En las aplicaciones empresariales, un solo servidor corre el riesgo de un solo punto de falla en la aplicación.
  • Una vez que ocurre un solo punto de falla, los servicios empresariales se interrumpirán, causando un gran daño

Inserte la descripción de la imagen aquí

1.2 Introducción a la herramienta Keepalived

Una herramienta de comprobación de estado especialmente diseñada para LVS y HA

  • Admite conmutación por error automática (Conmutación por error)
  • Soporte de verificación de estado del nodo (verificación de estado)
  • Sitio web oficial: http://www.keepalived.org/

Inserte la descripción de la imagen aquí

1.3 Análisis del principio de implementación de Keepalived

Inserte la descripción de la imagen aquí
Keepalived adopta el protocolo de respaldo en caliente VRRP

  • Realice la función de copia de seguridad en caliente de múltiples máquinas del servidor Linux

VRRP (Protocolo de redundancia de enrutamiento virtual) es una solución de respaldo para enrutadores

  • Varios enrutadores forman un grupo de respaldo activo y brindan servicios al exterior a través de una dirección IP virtual compartida
  • Solo hay un enrutador principal en cada grupo de espera activa para proporcionar servicios al mismo tiempo, y los otros enrutadores están en un estado redundante
  • Si el enrutador actualmente en línea falla, otros enrutadores automáticamente tomarán el control de la dirección IP virtual de acuerdo con la prioridad establecida y continuarán brindando servicios

En segundo lugar, el despliegue de Keepalived

2.1 Explicación del caso de Keepalived

Inserte la descripción de la imagen aquí

  • Keepalived puede realizar copias de seguridad en caliente de varias máquinas, cada grupo de copias de seguridad en caliente tiene varios servidores
  • La conmutación por error del modo de espera en caliente con doble clic se realiza mediante la deriva de la dirección IP virtual, que es adecuada para varios servidores de aplicaciones
  • Realice copias de seguridad en caliente de sistema dual basadas en servicios web

2.2 Instalación y puesta en marcha mantenidas

  • Cuando se aplica en un entorno de clúster LVS, también se requiere la herramienta de administración ipvsadm
  • YUM instalar Keepalived
  • Habilitar el servicio Keepalived

2.3 Configurar el servidor maestro Keepalived

  • El directorio de configuración de Keepalived se encuentra en / etc / keepalived /
  • keepalived.conf es el archivo de configuración principal:
    ◆ global_defs {…} la sección especifica los parámetros globales
    ◆ vrrp_instance nombre de la instancia {…} la sección especifica los parámetros de espera activa de VRRP
    ◆ el texto del comentario comienza con el símbolo "!"
    ◆ Las muestras de directorio proporcionan muchas muestras de configuración Ejemplo como referencia
  • Opciones de configuración comunes:
    ◆ router_id HA_TEST_R1: el nombre del enrutador (servidor)
    ◆ vrrp_instance VI_1: define la instancia de espera activa de VRRP
    ◆ state MASTER: estado de espera
    activa , MASTER representa el servidor maestro ◆ interfaz ens33: la interfaz física que lleva la dirección VIP
    ◆ virtual_router_ip 1: El número de ID del enrutador virtual, se mantiene igual para cada grupo de respaldo activo
    ◆ prioridad 100: prioridad, cuanto mayor es el valor, mayor es la prioridad
    ◆ advert_int 1: el número de segundos entre anuncios (frecuencia de latidos)
    ◆ auth_type PASS: tipo de autenticación
    ◆ auth_pass 123456: contraseña Subcadena
    ◆ virtual_ipaddress {vip}: especifique la dirección de deriva (VIP), puede haber múltiples

2.4 Configurar el servidor esclavo Keepalived

  • Hay tres opciones para la configuración del servidor de respaldo
    Keepalived y la configuración maestra : ◆ router_id: establecido en su propio nombre
    ◆ estado: establecido en BACKUP
    ◆ prioridad: valor menor que el servidor maestro
  • Otras opciones son las mismas que las del maestro

Tres, experimento

3.1 Preparación del experimento

Planificación de la dirección IP:
Dirección de deriva (VIP): 192.168.100.100
Programador principal: 192.168.100.21
Programador secundario: 192.168.100.25
Servidor WEB 1: 192.168.100.22
Servidor WEB 2: 192.168.100.23
Servidor de almacenamiento: 192.168.100.24

3.2 Paso

3.2.1 Configurar el programador principal (192168.100.21)

'【1】调整/proc响应参数'
[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】清除负载分配策略'
[root@localhost /]# ipvsadm -C
'【3】调整keepalived参数'
[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í

3.2.2 Configurar el programador auxiliar (192.168.100.25)

'【1】调整/proc响应参数'
[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】清除负载分配策略'
[root@localhost /]# ipvsadm -C
'【3】调整keepalived参数'
[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地址和漂移地址

Inserte la descripción de la imagen aquí

3.2.3 Configurar el servidor de almacenamiento (192.168.100.24)

rpm -q nfs-utils               ###如果没装,yum -y install nfs-utils
rpm -q rpcbind                 ###如果没装,yum -y install rpcbind
[root@localhost ~]# systemctl start nfs
[root@localhost ~]# systemctl start rpcbind
[root@localhost ~]# vi /etc/exports
/opt/51xit 192.168.100.0/24 (rw,sync)
/opt/52xit 192.168.100.0/24 (rw,sync)
[root@localhost ~]# systemctl restart nfs
[root@localhost ~]# systemctl restart rpcbind
[root@localhost ~]# systemctl enable nfs
[root@localhost ~]# systemctl enable rpcbind
[root@localhost ~]# mkdir /opt/51xit /opt/52xit
[root@localhost ~]# echo "this is 51xit" >/opt/51xit/index.html
[root@localhost ~]# echo "this is 52xit" >/opt/52xit/index.html

3.2.4 Configurar el servidor de nodo (192.168.100.22)

'【1】配置虚拟IP地址'
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-lo ifcfg-lo:0
[root@localhost network-scripts]# vi ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.100.100
NETMASK=255.255.255.255
ONBOOT=yes
[root@localhost network-scripts]# ifup lo:0
[root@localhost network-scripts]# ifconfig

Inserte la descripción de la imagen aquí

[root@localhost network-scripts]# vi /etc/rc.local 
/sbin/route add -host 192.168.100.100 dev lo:0
[root@localhost network-scripts]# route add -host 192.168.100.100 dev lo:0
'【2】调整/proc响应参数'
[root@localhost network-scripts]# vi /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
[root@localhost network-scripts]# sysctl -p
'【3】安装httpd 挂载测试页'
[root@localhost ~]# showmount -e 192.168.100.24                   ####如果还没发布,请到存储服务器发布下,exportfs -rv
Export list for 192.168.100.44:
/opt/51xit  (everyone)
/opt/52xit (everyone)
[root@localhost ~]# yum -y install httpd
[root@localhost ~]# mount 192.168.100.24:/opt/51xit /var/www/html/
[root@localhost ~]# vi /etc/fstab 
192.168.100.24:/opt/51xit/ /var/www/html/        nfs     rw,tcp,intr     0 1         ###开机自动挂载,注意格式对齐
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl enable httpd

3.2.5 Configurar el servidor de nodo (192.168.100.23)

Para la configuración de 192.168.100.22, consulte 3.2.4

3.3 prueba

Ingrese a la siguiente página:
192.168.100.22
Inserte la descripción de la imagen aquí
en la página, ingrese lo siguiente:
192.168.100.23
Inserte la descripción de la imagen aquí
en la página, ingrese lo siguiente:
192.168.100.100
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
abra la herramienta de captura de paquetes, encontrará el programador maestro 192.168.100.21, se le han enviado los paquetes VRRP,
Inserte la descripción de la imagen aquí
abrirá la herramienta de captura de paquetes, será Descubrió que el programador esclavo 192.168.100.25 ha estado enviando paquetes VRRP
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/ZG_66/article/details/108749566
Recomendado
Clasificación