Directorio de artículos
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
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/
1.3 Análisis del principio de implementación de Keepalived
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
- 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地址和漂移地址
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地址和漂移地址
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
[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
en la página, ingrese lo siguiente:
192.168.100.23
en la página, ingrese lo siguiente:
192.168.100.100
abra la herramienta de captura de paquetes, encontrará el programador maestro 192.168.100.21, se le han enviado los paquetes VRRP,
abrirá la herramienta de captura de paquetes, será Descubrió que el programador esclavo 192.168.100.25 ha estado enviando paquetes VRRP