Equilibrio de carga del clúster: teoría del equilibrio de carga de LVS

Uno: principio del clúster de equilibrio de carga

1.1: Descripción general de las aplicaciones de clúster empresarial

  • El significado de los racimos

    • Clúster, clúster, clúster
    • Consta de varios hosts, pero solo externamente aparece como un todo
  • problema

    • En las aplicaciones de Internet, como los sitios tienen requisitos cada vez más altos para el rendimiento del hardware, la velocidad de respuesta, la estabilidad del servicio, la confiabilidad de los datos, etc., un solo servidor no puede hacerlo.
  • Solución

    • Utilice miniordenadores y mainframes costosos
    • Utilice servidores normales para crear clústeres de servicios
  • El SLB en Alibaba Cloud es un programador de equilibrio de carga típico y ECS es un host en la nube (máquina virtual)

    SLB programa ECS, varios ECS forman un grupo de recursos, formando la base de la computación en la nube

1.2: Clasificación de clústeres empresariales

  • Según la diferencia de destino del grupo, se puede dividir en tres tipos
    • Clúster de equilibrio de carga
    • Clúster de alta disponibilidad
    • Clúster de computación de alto rendimiento
1.2.1: Clúster de equilibrio de carga
  • Para mejorar la capacidad de respuesta del sistema de aplicaciones, maneje tantas solicitudes de acceso como sea posible y reduzca la latencia como el objetivo, para obtener alta concurrencia y alta carga (LB) rendimiento general
  • La distribución de carga de LB depende del algoritmo de distribución del nodo maestro, que es la programación
1.2.2: Clúster de alta disponibilidad
  • Para mejorar la confiabilidad del sistema de aplicación y reducir el tiempo de interrupción tanto como sea posible, asegurar la continuidad del servicio y lograr el efecto de tolerancia a fallas de alta disponibilidad (HA)
  • El modo de trabajo de HA incluye modos dúplex y maestro-esclavo
    • Trabajo dúplex, coordinado de dos estados paralelos, reemplazándose en cualquier momento
    • Con un modo maestro-esclavo, un maestro, múltiples esclavos, llamado clúster centralizado
    • Mecanismo descentralizado: no hay un maestro real, si lo hay, es simbólico, todos los nodos funcionan (el clúster de Redis es un mecanismo descentralizado típico)
1.2.3: Clúster de computadoras de alto rendimiento
  • Con el objetivo de aumentar la velocidad de computación de la CPU del sistema de aplicaciones, expandir los recursos de hardware y las capacidades de análisis, obtener capacidades de computación de alto rendimiento (HPC) equivalentes a las supercomputadoras a gran escala.
  • El alto rendimiento del clúster de computación de alto rendimiento se basa en la "computación distribuida" y la "computación paralela". La CPU, la memoria y otros recursos de varios servidores se integran a través de hardware y software dedicados para lograr capacidades de computación que solo tienen las supercomputadoras grandes y.

1.3: Análisis del modo de trabajo del clúster de equilibrio de carga

  • El clúster de equilibrio de carga es actualmente el tipo de clúster más utilizado en las empresas.
  • La tecnología de programación de carga del clúster tiene tres modos de trabajo
    • Traducción de direcciones
    • Túnel IP
    • Enrutamiento directo (DR)
1.3.1: modo NAT
  • Traducción de Direcciones de Red
    • Conocido como modo NAT, es similar a la estructura de red privada del firewall. El programador de carga actúa como la puerta de enlace de todos los nodos del servidor, es decir, como la entrada de acceso del cliente, y también la salida de acceso de cada nodo en respuesta al cliente.
    • El nodo del servidor usa una dirección IP privada y está ubicado en la misma red física que el programador de carga, y la seguridad es mejor que los otros dos métodos.

Inserte la descripción de la imagen aquí

1.3.2: modo TUN
  • Túnel IP
    • Denominado modo TUN, adopta una estructura de red abierta. El programador de carga solo se utiliza como entrada de acceso del cliente. Cada nodo responde directamente al cliente a través de su propia conexión a Internet sin pasar por el programador de carga.
    • Los nodos del servidor están dispersos en diferentes ubicaciones de Internet, tienen direcciones IP públicas independientes y se comunican con el programador de carga a través de un túnel IP dedicado.

Inserte la descripción de la imagen aquí

1.3.3: modo DR
  • Enrutamiento directo
    • Conocido como modo DR, adopta una estructura de red semiabierta, que es similar a la estructura del modo TUN, pero los nodos no están dispersos por todas partes, sino que están ubicados en la misma red física que el programador.
    • El programador de carga está conectado a cada servidor de nodo a través de la red local, sin la necesidad de establecer un túnel IP dedicado.

Inserte la descripción de la imagen aquí

1.3.4: La diferencia entre los tres modos de trabajo
Diferencia en el modo de trabajo. Modo NAT Modo TUN Modo DR
Servidor real (servidor de nodo)
Número de servidor (número de nodos) Bajo 10-20 Alto 100 Alto 100
Puerta de enlace real Programador de carga Enrutador propio Enrutador gratuito
dirección IP Red pública + red privada red pública Red privada
ventaja Alta seguridad Datos cifrados del entorno Wan Máximo rendimiento
Desventaja Baja eficiencia y alta presión. Necesita soporte de túnel No se puede extender la LAN

Dos: arquitectura de clúster y servidor virtual

2.1: Arquitectura de un clúster de equilibrio de carga

  • Arquitectura de equilibrio de carga
    • La primera capa, programador de carga (Load Balancer o Director)
    • La segunda capa, el grupo de servidores (grupo de servidores)
    • La tercera capa, almacenamiento compartido (almacenamiento compartido)

Inserte la descripción de la imagen aquí

  • El almacenamiento compartido proporciona una gran cantidad de espacio de almacenamiento, ventajas: conveniente y eficiente

2.2: Descripción general del servidor virtual LVS

  • Servidor virtual Linux
    • Solución de equilibrio de carga para el kernel de Linux
    • Fundada por el Dr. Zhang Wensong en China en mayo de 1998
[root@localhost~]# modprobe ip_vs   '确认内核对LVS的支持'
[root@localhost~]# cat /proc/net/ip_vs
  • Algoritmo de programación de carga LVS
    • Round Robin
      • Las solicitudes de acceso recibidas se asignan a cada nodo (servidor real) en el clúster en orden, y cada servidor se trata por igual, independientemente del número real de conexiones y la carga del sistema del servidor.
    • Round Robin ponderado
      • Según la capacidad de procesamiento del servidor real, las solicitudes de acceso recibidas se asignan a su vez. El programador puede consultar automáticamente el estado de carga de cada nodo y ajustar dinámicamente su peso.
      • Asegúrese de que los servidores con sólidas capacidades de procesamiento soporten más tráfico
    • Conexiones mínimas
      • Asignar según el número de conexiones establecidas por el servidor real, y priorizar las solicitudes de acceso recibidas al nodo con menor número de conexiones
    • Conexiones menos ponderadas
      • En el caso de grandes diferencias en el rendimiento del nodo del servidor, el peso se puede ajustar automáticamente para el servidor real
      • Los nodos con pesos más altos soportarán una mayor proporción de carga de conexión activa

2.3: creación y gestión de clústeres LVS

  • Utilice la herramienta ipvsadm
    • Crea un servidor virtual
    • Agregar, eliminar nodos de servidor
    • Ver el estado del clúster y del nodo
    • Estrategia de distribución de carga de errores

2.4: servicio de almacenamiento compartido NFS

  • Sistema de archivos de red, sistema de archivos de red

    • Confíe en RPC (llamada a procedimiento remoto)
    • Necesita instalar nfs-utils, paquete de software rpcbind
    • Servicio del sistema: nfs, rpcbind
    • Archivo de configuración compartido: / etc / export
  • Utilice NFS para publicar recursos compartidos

    • Instale los paquetes de software nfs-util, rpcbind
    • Configurar un directorio compartido
    • Inicie el programa de servicio NFS
    • Ver el directorio compartido de NFS publicado por la máquina
  • Acceda a los recursos compartidos de NFS en el cliente

    • Instale el paquete rpcbind e inicie el servicio rpcbind
    • Montar manualmente el directorio compartido de
      NFS Publicar recursos compartidos de NFS
    • Instale los paquetes de software nfs-util, rpcbind
    • Configurar un directorio compartido
    • Inicie el programa de servicio NFS
    • Ver el directorio compartido de NFS publicado por la máquina
  • Acceda a los recursos compartidos de NFS en el cliente

    • Instale el paquete rpcbind e inicie el servicio rpcbind
    • Monte manualmente el directorio compartido de NFS
    • configuración de montaje automático fstab

Supongo que te gusta

Origin blog.csdn.net/m0_47219942/article/details/108333675
Recomendado
Clasificación