Espera en caliente de doble máquina mantenida + clúster de alta disponibilidad LVS
- 1. Descripción general de Keepalived
- 2. Implementar copia de seguridad en caliente de sistema dual Keepalived
- Tres, clúster Keepalived + 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
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
其他一致即可
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
auxiliar:
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
2) Acceso de cliente http para verificación
Si se muestra un contenido diferente, significa que entra en vigencia para
abrir la tarjeta de red del programador principal y visitar nuevamente:
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
}
}
}
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
5) Cargue el módulo ip_vs al inicio
[root@master ~]# echo "modprobe ip_vs" >> /etc/rc.local
[root@master ~]# systemctl restart keepalived
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
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
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
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
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
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
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
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