LVS + equilibrio de carga permanente + clúster de alta disponibilidad

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

marca

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

marca

vim ifcfg-ens33: 0

systemctl restart network ## Reinicia la tarjeta de red después de editar

marca

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

marca

vim ifcfg-ens33: 0

systemctl restart network ## Reinicia la tarjeta de red después de editar

marca

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

marca

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í

marca

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"

marca

marca

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

marca

marca

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

marca

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)

marca

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.

marca

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

marca

5. Guarde y salga, reinicie la tarjeta de red.

reinicio de la red de servicio

Supongo que te gusta

Origin blog.csdn.net/weixin_39608791/article/details/108375488
Recomendado
Clasificación