Compartir tecnología

El modo DR de lvs y el cerebro dividido de keepalive

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Modo DR:

Tres modos de traducción de direcciones lvs nat

Modo de ruta directa DR

modo túnel tun

El programador es el más importante en todo el clúster LVS. En modo NAT, es responsable de aceptar solicitudes, reenviar el tráfico de acuerdo con el algoritmo de equilibrio de carga y enviar respuestas al cliente.

Modo DR: el programador sigue siendo responsable de aceptar solicitudes y también reenvía el tráfico al RS de acuerdo con el algoritmo de equilibrio de carga, y el RS responde directamente al cliente.

Enrutamiento directo El enrutamiento directo es un modo de reenvío de Capa 2. La capa 2 reenvía tramas de datos. Reenvío basado en la dirección mac de origen y la dirección mac de destino.

La IP de origen y la IP de destino del paquete de datos no se modificarán y el paquete de datos se reenviará según la dirección mac.

En el modo DR, LVS también mantiene una dirección IP virtual y todas las solicitudes se envían a este VIP. Dado que se reenvía a través de la segunda capa, cuando la solicitud del cliente llega al programador, se selecciona un RS de acuerdo con el algoritmo de equilibrio de carga. el VIP se modifica y la dirección mac del servidor se convierte en la dirección mac de RS. Después de que RS procesa la solicitud, puede enviar directamente la respuesta al cliente en función de la dirección mac de origen del cliente en el mensaje, sin necesidad de un programador.

1. El planificador está configurado con VIP y la dirección VIP también está configurada en el RS.

La dirección VIP entra en conflicto. El planificador y RS están en el mismo segmento de red. La comunicación ARP es caótica porque se transmite a toda la LAN y todos los dispositivos la han recibido.

Cómo bloquear la respuesta loopback de lo para que solo responda la dirección IP física de esta máquina.

Modificar los parámetros del kernel:

arp_igrone=1

Sólo la dirección IP física del sistema responderá a la solicitud. lo no responderá a las solicitudes de ARP.

2. Cuando se devuelve el mensaje, la dirección VIP todavía está ahí. ¿Cómo puede el cliente recibir la respuesta?

arp_announce=2

El sistema no utiliza la dirección de origen del paquete IP para responder a la solicitud ARP, sino que envía directamente la dirección IP de la interfaz física.

Configuración del servidor de nodo:

Implementación del modo DR:

nginx1 RS1 192.168.233.100

nginx2 RS2 192.168.233.110

vip192.168.233.200

programador prueba1 192.168.233.10

cliente prueba2 192.168.233.20

ruta agregar -host 192.168.233.100 dev lo:0

Establezca la dirección IP en 192.168.233.100

Apague el firewall y el mecanismo de defensa del programador (test1), cliente (test2), rs1 (nginx1), rs2 (nginx2)

  1. [root@test1 ~]# systemctl stop firewalld
  2. [root@test1 ~]# setenforce 0

El programador carga el kernel e instala la herramienta ipvsadm.

  1. [root@test1 ~]# modprobe ip_vs
  2. [root@test1 ~]# yum -y install ipvsadm*

Crear dirección vip

  1. [root@test1 ~]# cd /etc/sysconfig/network-scripts/
  2. [root@test1 network-scripts]# vim ifcfg-ens33:0
  3. DEVICE=ens33:0
  4. ONBOOT=YES
  5. IPADDR=192.168.233.200
  6. NETMASK=255.255.255.255
  7. [root@test1 network-scripts]# ifup ens33:0

Modificar los parámetros de respuesta del planificador.

  1. [root@test1 network-scripts]# vim /etc/sysctl.conf
  2. net.ipv4.ip_forward=0
  3. #关闭数据包转发功能
  4. net.ipv4.conf.all.send_redirects=0
  5. #禁止系统发送icmp重定向的消息
  6. net.ipv4.conf.default.send_redirects=0
  7. #禁止默认网络接口发送ICMP重定向的消息
  8. net.ipv4.conf.ens33.send_redirects=0
  9. #禁止ens33设备,禁止发送ICMP重定向消息

Especificar algoritmos VIP y de equilibrio de carga.

  1. [root@test1 opt]# ipvsadm -C
  2. [root@test1 opt]# ipvsadm -A -t 192.168.233.200:80 -s rr
  3. #指定vip和负载均衡的算法

Agregue el modo y la copia de seguridad especificados por el servidor real

  1. [root@test1 opt]# ipvsadm -a -t 192.168.233.200:80 -r 192.168.233.100:80 -g
  2. [root@test1 opt]# ipvsadm -a -t 192.168.233.200:80 -r 192.168.233.110:80 -g
  3. [root@test1 opt]# ipvsadm-save /etc/sysconfig/ipvsadm
  4. [root@test1 opt]# systemctl restart ipvsadm

Configurar 2 servidores reales (nginx1 nginx2)   

Configure las páginas de acceso de los dos servidores en nginx1 y nginx2

  1. [root@nginx1 ~]# vim /usr/local/nginx/html/index.html
  2. nginx1
  3. [root@nginx1 ~]# systemctl restart nginx
  4. [root@nginx2 ~]# vim /usr/local/nginx/html/index.html
  5. nginx2
  6. [root@nginx2 ~]# systemctl restart nginx

Visítelo y pruébelo usted mismoCree una interfaz de loopback para las direcciones de loopback de 2 servidores

  1. [root@nginx1 ~]# cd /etc/sysconfig/network-scripts/
  2. [root@nginx1 network-scripts]# cp ifcfg-lo ifcfg-lo:0
  3. [root@nginx1 network-scripts]# vim ifcfg-lo:0
  4. DEVICE=lo:0
  5. IPADDR=192.168.233.200
  6. NETMASK=255.255.255.255
  7. ONBOOT=yes
  8. [root@nginx1 network-scripts]# ifup lo:0

Configure la dirección IP en 192.168.233.100 y agréguela a la interfaz loopback como VIP de lvs. Se reenvía a RS a través del modo de enrutamiento, lo que permite al VIP identificar el servidor real.

[root@nginx1 network-scripts]# route add -host 192.168.233.200 dev lo:0

Ajustar la respuesta del kernel de servidores reales

  1. [root@nginx1 ~]# vim /etc/sysctl.conf
  2. net.ipv4.conf.lo.arp_ignore = 1
  3. #设置回环接口忽略来自任何接口的ARP请求
  4. net.ipv4.conf.lo.arp_announce = 2
  5. #设置回环地址仅仅公告本地的ip地址,但是不响应ARP请求
  6. net.ipv4.conf.all.arp_ignore = 1
  7. #设置所有接口忽略来自任何接口的ARP请求
  8. net.ipv4.conf.all.arp_announce = 2
  9. #设置所有接口仅仅公告本地的ip地址,但是不响应ARP请求

Resultados de la prueba

Tres modos de trabajo de lvs:

Dr. Tun

Ventajas: el rendimiento de traducción de direcciones es el mejor en WAN y puede realizar la transmisión de paquetes de datos a largas distancias.

Configurar un canal dedicado simple

Desventajas: el cuello de botella en el rendimiento no admite segmentos entre redes y requiere abrir una VPN (que cuesta dinero)

Requisitos para RS: Ilimitado debe prohibir las respuestas ARP en interfaces no físicas y debe admitir el modo túnel

Cantidad de RS 10-20 unidades 100 unidades 100 unidades

Preguntas de entrevista:

Describe brevemente los tres modos de lvs y sus diferencias.

Preguntas de entrevista:

¿Cómo solucionar el cerebro dividido de keepalive?

La arquitectura de alta disponibilidad en el clúster lvs es solo para la alta disponibilidad del programador.

Basado en vrrp, se implementan los programadores principal y de respaldo.

Arquitectura HA de alta disponibilidad

Programador principal y programador de respaldo (múltiples)

Cuando el programador principal funciona normalmente, el modo de espera está completamente en un estado redundante (por determinar). No participa en la operación del clúster. Solo cuando el programador principal falla, el programador principal asumirá el trabajo del programador principal. Una vez que el programador principal recupere su función, el principal seguirá siendo la entrada al clúster. y el modo de espera seguirá en estado redundante (dependiendo de la prioridad).

Keeplive implementa la solución de alta disponibilidad LVS basada en el protocolo vrrp.

1. Dirección de multidifusión:

224.0.0.18 se comunica según la dirección de multidifusión. Los dispositivos primario y secundario envían mensajes para determinar si la otra parte está viva.

2. Determinar las posiciones de primaria y secundaria en función de la prioridad.

3. Conmutación por error: si la máquina principal cuelga, la máquina de respaldo continuará funcionando. Cuando la máquina maestra se recupere, la máquina de respaldo continuará esperando.

4. El cambio entre primario y secundario es el cambio de dirección VIP.

Keepalive aparece específicamente para LVS, pero no es exclusivo de LVS.