Directorio de artículos
- LVS + equilibrio de carga permanente + clúster de alta disponibilidad
-
- 1. Información general
- 2. Experimento
-
- Introducción al experimento
- 1. Planificación experimental
- 2. Instale el kit de herramientas y cierre el firewall (DR1 y DR2)
- 3. Edite los archivos de configuración (DR1 y DR2)
- 4. Edite el archivo de la tarjeta de red (DR1)
- 5. Edite el archivo de la tarjeta de red (DR2)
- 6. Edite los archivos de configuración (DR1 y DR2)
- 7. Instale el kit de herramientas http (WEB1 y WEB2)
- 8. Edite la información de la tarjeta de red (WEB1 y WEB2)
- 9. Edite los archivos de configuración (WEB1 y WEB2)
- 10. Apache crea la interfaz principal en el servidor (WEB1 y WEB2)
- 11. Edite el archivo de configuración keepalived (DR1 y DR2)
- 12. Abra el servicio keepalived y reinicie la tarjeta de red (DR1 y DR2)
- 13. Prueba (WIN10)
- Tres, resumen del problema
-
- Resolver Error al iniciar LSB: Problema de red activada / desactivada
-
- 1. Se produce el siguiente error al ejecutar systemctl restart network
- 2. De acuerdo con el mensaje anterior, ejecute systemctl status network.service para generar la siguiente información similar
- 3. Solución, reinicie la tarjeta de red para conectarse automáticamente
- 4. El método anterior no puede resolver el problema, modifique el archivo de configuración
- 5. Guarde y salga, reinicie la tarjeta de red.
LVS + equilibrio de carga permanente + clúster de alta disponibilidad
1. Información general
1. Estudio de caso de Keepalived
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
2. Introducción a la herramienta Keepalived
Un chequeo de salud especialmente diseñado para LVS y HA] C Tool
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/
3. Análisis del principio de implementación Keepalived
1. Keepalived adopta el protocolo de copia de seguridad en caliente VRRP
Realice la función de copia de seguridad en caliente de múltiples máquinas del servidor Linux
2. VRRP (Protocolo de redundancia de enrutamiento virtual) es una solución de respaldo para enrutadores
Consta de varios enrutadores: un grupo de reserva activa, que proporciona servicios externos a través de una dirección IP virtual compartida
En cada grupo de espera activa, solo un enrutador principal proporciona servicios al mismo tiempo, y otros enrutadores están en un estado redundante
Si el enrutador actualmente en línea falla, otros enrutadores tomarán automáticamente el control de la dirección IP virtual de acuerdo con la prioridad establecida y continuarán brindando servicios
3. Keepalived puede realizar copias de seguridad en caliente de varias máquinas, y cada grupo de copias de seguridad en caliente puede tener varios servidores
2. Experimento
Introducción al experimento
Caso: Equilibrio de carga + clúster de alta disponibilidad
1. El objetivo del 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 copias de seguridad en caliente de sistema dual.
2. Utilice Keepalived La construcción de un clúster LVS es más fácil y más fácil de usar
3. Ventajas principales Realice la
conmutación en espera en caliente del programador de carga LVS para mejorar la disponibilidad
Realice una verificación de estado en los nodos del grupo de servidores, elimine automáticamente los nodos fallidos y vuelva a unirse después de la recuperación
Topología de casos
■ En la estructura del clúster LVS basada en LVS + Keepalived, incluye al menos dos programadores de carga en espera y más de tres servidores de nodo
1. Planificación experimental
Las cinco máquinas usan el modo solo de host
DR1: 192.168.100.128
DR2: 192.168.100.129
WEB1: 192.168.100.201
WEB2: 192.168.100.202
cliente: 192.168.100.20
2. Instale el kit de herramientas y cierre el firewall (DR1 y DR2)
setenforce 0
iptables -F
yum instalar keepalived ipvsadm -y
3. Edite los archivos de configuración (DR1 y DR2)
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1 ## respuesta proc para cerrar la función de redirección
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
sysctl -p ## Hacer efectivo el archivo de configuración
4. Edite el archivo de la tarjeta de red (DR1)
## DR1 Archivo de configuración de la tarjeta de red
cd / etc / sysconfig / network-scripts /
cp -p ifcfg-ens33 ifcfg-ens33: 0
vim ifcfg-ens33
vim ifcfg-ens33: 0
systemctl restart network ## Reinicia la tarjeta de red después de editar
5. Edite el archivo de la tarjeta de red (DR2)
cd / etc / sysconfig / network-scripts /
cp -p ifcfg-ens33 ifcfg-ens33: 0
vim ifcfg-ens33
vim ifcfg-ens33: 0
systemctl restart network ## Reinicia la tarjeta de red después de editar
6. Edite los archivos de configuración (DR1 y DR2)
cd /etc/init.d/
vi dr.sh
#! / bin / bash
GW = 192.168.100.1
VIP = 192.168.100.10
RIP1 = 192.168.100.201
RIP2 = 192.168.100.202
caso “$ 1” en
inicio)
/ sbin / ipvsadm --save> / etc / sysconfig / ipvsadm
systemctl start ipvsadm
/ sbin / ifconfig ens33: 0 $ VIP máscara de red 255.255.255.255 broadcast $ VIP up
/ sbin / route add -host $ VIP dev ens33: 0
/ sbin / ipvsadm -A -t $ VIP: 80 -s rr
/ sbin / ipvsadm - a -t $ VIP: 80 -r $ RIP1: 80 -g
/ sbin / ipvsadm -a -t $ VIP: 80 -r $ RIP2: 80 -g
echo “ipvsadm iniciando ----------- -------- [ok] ”
;;
stop)
/ sbin / ipvsadm -C
systemctl stop ipvsadm
ifconfig ens33: 0
ruta descendente del $ VIP
echo “ipvsamd detenido --------------------- [ok]”
;;
status)
si [! -e / var / lock / subsys / ipvsadm]; entonces
echo "ipvsadm stoped ------------------------"
exit 1
else
echo “ipvsamd Runing --------------------- [ok]”
fi
;;
*)
echo "Uso: $ 0 {inicio | detener | estado}"
salida 1
esac
salida 0
chmod + x dr.sh ## Agregar
servicio de permisos de ejecución de archivos dr.sh start ## Iniciar archivo
7. Instale el kit de herramientas http (WEB1 y WEB2)
yum instalar httpd -y
8. Edite la información de la tarjeta de red (WEB1 y WEB2)
cd / etc / sysconfig / network-scripts /
cp -p ifcfg-lo ifcfg-lo: 0
vim ifcfg-lo: 0
DISPOSITIVO = lo: 0
IPADDR = 192.168.100.10
NETMASK = 255.255.255.0
ONBOOT = sí
vim ifcfg-ens33
TYPE = “Ethernet”
PROXY_METHOD = “ninguno”
BROWSER_ONLY = “no”
BOOTPROTO = “estático”
DEFROUTE = “sí”
IPV4_FAILURE_FATAL = “no”
IPV6INIT = “sí”
IPV6_AUTOCONF = “sí”
IPV6_DEFROUTE ”=“ sí ”
IPV6_DEFILURE_VATE =
IPV6_ADDR_GEN_MODE = “estable-privacidad”
NAME = “ens33”
DISPOSITIVO = “ens33”
UUID = “c6759283-4ba1-4bb4-88c8-8edc352c2017”
ONBOOT = “sí”
IPADDR = “192.168.100.201”
NETMASK = “255.255.255.0”
PUERTA DE ENLACE = "192.168.100.1"
systemctl restart network ## Reinicia la tarjeta de red
9. Edite los archivos de configuración (WEB1 y WEB2)
cd /etc/init.d/
vim web.sh
#! / bin / bash
VIP = 192.168.100.10
caso “$ 1” al
inicio)
ifconfig lo: 0 $ VIP netmask 255.255.255.255 broadcast $ VIP
/ sbin / route add -host $ VIP dev lo: 0
echo “1”> / proc / sys / net / ipv4 / conf / lo / arp_ignore
echo “2”> / proc / sys / net / ipv4 / conf / lo / arp_announce
echo “1”> / proc / sys / net / ipv4 / conf / all / arp_ignore
echo “2”> / proc / sys / net / ipv4 / conf / all / arp_announce
sysctl -p> / dev / null 2> & 1
echo “RealServer Start OK”
;;
stop)
ifconfig lo: 0 down
route del $ VIP / dev / null 2> & 1
echo “0”> / proc / sys / net / ipv4 / conf / lo / arp_ignore
echo “0”> / proc / sys / net / ipv4 / conf / lo / arp_announce
echo "0">
echo “0”> / proc / sys / net / ipv4 / conf / all / arp_announce
echo “RealServer Stopd”
;;
*)
echo "Uso: $ 0 {inicio | parada}"
salida 1
esac
salida 0
chmod + x web.sh
servicio web.sh inicio
10. Apache crea la interfaz principal en el servidor (WEB1 y WEB2)
cd / var / www / html /
<h1> ¡esto es kgc web! </h1> ## web1El contenido de la interfaz principal
<h1> ¡esto es web de prueba! </h1> ## web2Content en la interfaz principal
systemctl restart httpd ## Reinicia el servicio
11. Edite el archivo de configuración keepalived (DR1 y DR2)
cd / etc / keepalived /
vim keepalived.conf
global_defs {
...
smtp_server 127.0.0.1 ## Apunta a local
router_id LVS_01 ## Especifique el nombre, el servidor de respaldo tiene un nombre diferente
...
}
vrrp_instance VI_1 { state MASTER ## El servicio de respaldo es BACKUP virtual_router_id 10 ## El número de grupo es la misma prioridad 100 ## La prioridad de respaldo es menor que la principal ... autenticación { auth_type PASS auth_pass 1111 ## La información de la contraseña no necesita ser modificada } virtual_ipaddress { 192.168.100.10 ## Dirección virtual } }
virtual_server 192.168.100.10 80 { … lb_kind DR ## Modo LVS …
real_server 192.168.100.201 80 { peso 1 TCP_CHECK { connect_port 80 ##添加端口connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } real_server 192.168.100.202 80 { peso 1 TCP_CHECK { connect_port 80 connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } }
}
scp keepalived.conf [email protected]: / etc / keepalived /
vim keepalived.conf ## El contenido modificado de otro archivo de configuración de host de programación es el siguiente
12. Abra el servicio keepalived y reinicie la tarjeta de red (DR1 y DR2)
systemctl start keepalived.service
reinicio de la red de servicio
13. Prueba (WIN10)
Tres, resumen del problema
Resolver Error al iniciar LSB: Problema de red activada / desactivada
1. Se produce el siguiente error al ejecutar systemctl restart network
Reiniciando la red (a través de systemctl): Error en el trabajo para network.service. Consulte 'systemctl status network.service' y 'journalctl -xn' para obtener más detalles.
2. De acuerdo con el mensaje anterior, ejecute systemctl status network.service para generar la siguiente información similar
[root @ localhost ~] # systemctl status network.service
network.service - LSB: activar / desactivar la red
Cargado: cargado (/etc/rc.d/init.d/network)
Activo: fallido (Resultado: código de salida) desde 三 2014-11-05 15:30:10 CST; Hace 1min 5s
11 月 05 15:30:10 localhost.localdomain network [2920]: RTNETLINK responde: El archivo existe
11 月 05 15:30:10 localhost.localdomain network [2920]: RTNETLINK responde: El archivo existe
11 月 05 15:30:10 localhost.localdomain network [2920]: RTNETLINK responde: El archivo existe
11 月 05 15:30:10 localhost.localdomain network [2920]: RTNETLINK responde: El archivo existe
11 月 05 15:30:10 localhost.localdomain network [2920]: RTNETLINK responde: El archivo existe
11 月 05 15:30:10 localhost.localdomain network [2920]: RTNETLINK responde: El archivo existe
11 月 05 15:30:10 localhost.localdomain network [2920]: RTNETLINK responde: El archivo existe
11 月 05 15:30:10 localhost.localdomain systemd [1]: network.service: proceso de control salido, código = estado salido = 1
11 月 05 15:30:10 localhost.localdomain systemd [1]: * No se pudo iniciar LSB: Activar / desactivar la red. *
11 月 05 15:30:10 localhost.localdomain systemd [1]: La unidad network.service entró en estado fallido.
3. Solución, reinicie la tarjeta de red para conectarse automáticamente
systemctl detener NetworkManager
systemctl habilitar NetworkManager
systemctl iniciar NetworkManager
reinicio de la red de servicio
4. El método anterior no puede resolver el problema, modifique el archivo de configuración
## Comente este juicio de IP se puede localizar rápidamente mediante / arping
vim / etc / sysconfig / network-scripts / ifup-eth
5. Guarde y salga, reinicie la tarjeta de red.
reinicio de la red de servicio