Introducción a la arquitectura de clúster LVS (servidor virtual Linux)

Tabla de contenido

1. Introducción del grupo

1. El significado de clúster

2. ¿Por qué necesita usar clústeres?

3. Tipo de clúster

1. Clúster de equilibrio de carga ---- Abreviatura: LB

2. Clúster de alta disponibilidad ---- Abreviatura: HA

3. Clúster informático de alto rendimiento

2. Arquitectura de clúster de equilibrio de carga

1. La estructura del equilibrio de carga

2. Análisis del modo de trabajo del clúster de balanceo de carga

1. Modo NAT (traducción de direcciones)

2. Modo TUN (túnel IP)

3. Modo DR (enrutamiento directo) 

3. Servidor virtual LVS

1, servidor virtual Linux

2. Comparación de funciones entre LVS y Nginx

3. Tipos de equilibrio de carga de software

4. Algoritmo de programación de carga LVS

1. Round Robin ----- Abreviatura: RR

2. Round Robin ponderado (Weighted Round Robin) abreviatura: WRR

3. Abreviatura de conexiones mínimas: LC

4. Conexiones mínimas ponderadas

Cinco, herramienta de administración de LVS ipvsadm

1. Introducir ipvsadm

2. El papel de ipvsadm

3. términos relacionados con lvs

4. Opciones de la herramienta ipvsadm


1. Introducción del grupo

Cuando no hay equilibrio de carga, el servidor nginx enviará solicitudes dinámicas a Tmocat, pero la cantidad de solicitudes para cada Tomcat es limitada. Si la cantidad de solicitudes excede, el servidor Tomcat se bloqueará y provocará una avalancha.

1. El significado de clúster

Clúster, cúmulo, cúmulo

Está compuesto por múltiples hosts, pero el valor externo se representa como un todo y solo se proporciona una entrada de acceso (nombre de dominio y dirección IP); es equivalente a una computadora grande.

2. ¿Por qué necesita usar clústeres?

En las aplicaciones de Internet, dado que los sitios tienen requisitos cada vez mayores para el rendimiento del hardware, la velocidad correspondiente, la estabilidad del servidor y la confiabilidad de los datos, un solo servidor ya no puede cumplir con los requisitos de equilibrio de carga y alta disponibilidad.

solución de clúster

Use costosas minicomputadoras y mainframes. Utilice
varios servidores comunes relativamente económicos para crear un clúster de servicios. ​​Al
integrar varios servidores, use LVS para lograr una alta disponibilidad del servidor y equilibrio de carga, y proporcione el mismo servicio externamente en la misma dirección IP. Esta
es una tecnología de clúster comúnmente utilizada en empresas: LVS (servidor virtual Linux, servidor virtual Linux)

3. Tipo de clúster

De acuerdo con la diferencia objetivo del clúster, se puede dividir en tres tipos

Clúster de equilibrio de carga (LB)

Clúster de alta disponibilidad (HA)

clúster de alto rendimiento

1. Clúster de equilibrio de carga ---- Abreviatura: LB

① Mejore la capacidad de respuesta del sistema de aplicaciones, procese tantas solicitudes de acceso como sea posible, reduzca el retraso como objetivo y obtenga el rendimiento general de alta concurrencia y alta carga (LB).
②La distribución de carga de LB depende del algoritmo de distribución del nodo maestro.
Tome la combinación de nginx y dos tomcats como ejemplo: cuando el primer lote de clientes visita nginx dynamics, el balanceo de carga se utiliza para distribuir uniformemente las solicitudes de página de acceso del cliente a los dos tomcats. Después de un tiempo, el segundo lote de clientes visita. el final del primer lote de algunas visitas de clientes, pero la cantidad de conexiones dejadas por los dos tomcats no es necesariamente la misma, entonces cuando el segundo lote de solicitudes de clientes se distribuye en este momento, el primer método de sondeo ya no se puede usar . , pero distribuido según el número de conexiones tomcat de fondo.

2. Clúster de alta disponibilidad ---- Abreviatura: HA

① Mejore la confiabilidad del sistema de aplicación, reduzca el tiempo de terminal tanto como sea posible, asegure la continuidad del servicio y logre el efecto de tolerancia a fallas de alta disponibilidad (HA).

②El modo de trabajo de HA incluye modo dúplex y modo maestro-esclavo

3. Clúster informático de alto rendimiento

① Mejore la velocidad de cómputo de la CPU del sistema de aplicación y esfuércese por obtener recursos de hardware y capacidades de análisis para obtener capacidades de computación de alto rendimiento (HPC) equivalentes a las de gran escala y supercomputadoras. ② El alto rendimiento depende de la "computación distribuida" y la "computación paralela"
. informática". El hardware y el software dedicados integran la CPU, la memoria y otros recursos de varios servidores para aprovechar la potencia informática que solo tienen las supercomputadoras a gran escala.

2. Arquitectura de clúster de equilibrio de carga

1. La estructura del equilibrio de carga

La primera capa: programador de carga (Load Balancer o Director)

La segunda capa: Pool de Servidores (Server Pool)

La tercera capa: almacenamiento compartido (Share Storage)

Load Scheduler (Load Balancer o Director)

La única entrada para acceder a todo el sistema del clúster utiliza la dirección VIP compartida por todos los servidores, también conocida como dirección IP del clúster. Por lo general, se configuran dos programadores, el principal y el de respaldo, para implementar el respaldo en caliente. Cuando el programador principal falla, se puede reemplazar fácilmente por el programador en espera para garantizar una alta disponibilidad.

Grupo de servidores

Los servicios de aplicación proporcionados por el clúster son asumidos por el grupo de servidores, donde cada nodo tiene una dirección RIP independiente (IP real) y solo maneja las solicitudes de los clientes distribuidas por el planificador. Cuando un nodo falla temporalmente, el mecanismo tolerante a fallas del programador de carga lo aislará y esperará a que se elimine el error antes de volver a introducirlo en el grupo de servidores.

Almacenamiento compartido

Proporcione servicios de acceso a archivos estables y consistentes para todos los nodos en el grupo de servidores y garantice la uniformidad de todo el clúster El almacenamiento compartido puede usar dispositivos NAS o servidores dedicados que brindan servicios compartidos NFS.

2. Análisis del modo de trabajo del clúster de balanceo 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 de clúster tiene tres modos de trabajo

Traducción de direcciones:  mapeo de direcciones NAT

Túnel IP:  red superpuesta en modo túnel

Enrutamiento directo:  DR

1. Modo NAT (traducción de direcciones)

①Traducción de direcciones de red, denominada modo NAT

② Similar a la estructura de red privada de un 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 que responde 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, por lo que la seguridad es mejor que con los otros dos métodos.

2. Modo TUN (túnel IP)

①Tunel IP. Modo TUN para abreviar

②Usando una estructura de red abierta, el programador de carga solo se usa como la entrada de acceso del cliente, y 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 en Internet, con direcciones IP públicas independientes y se comunican con el programador de carga a través de túneles IP dedicados

3. Modo DR (enrutamiento directo) 

①Enrutamiento directo, denominado modo DR

②Se adopta una estructura de red semiabierta, que es similar a la estructura de TUN, pero los nodos no están dispersos en varios lugares, sino que están ubicados en la misma red física que el planificador

③El programador de carga y cada servidor de nodo están conectados a través de la red local y no es necesario establecer un túnel IP dedicado.

3. Servidor virtual LVS

1, servidor virtual Linux

①Una solución de equilibrio de carga desarrollada para el kernel de Linux
②En mayo de 1998, fue creada por el Dr. Zhang Wensong en China
③Sitio web oficial: http://www.linuxvirtualserver.org
④LVS es en realidad equivalente a una aplicación de virtualización basada en la dirección IP, que es basado en IP El equilibrio de carga de la distribución de solicitudes de dirección y contenido propone una solución eficiente El
objetivo técnico que se puede lograr mediante el uso de LVS es : lograr un clúster de servidores Linux de alto rendimiento y alta disponibilidad a través de la tecnología de equilibrio de carga lograda por LVS y el sistema operativo Linux, con buena Confiabilidad, escalabilidad y operatividad. El resultado es un rendimiento óptimo a un bajo costo. LVS es un proyecto de software de código abierto que implementa clústeres de equilibrio de carga.La arquitectura LVS se puede dividir lógicamente en una capa de programación, una capa de clúster de servidor y una capa de almacenamiento compartido.

Escenas a utilizar

ubicación de trabajo

①En el caso de un solo servidor LVS: LVS solo funciona como un programador de carga LB, luego funciona en el 4.° piso, y el balanceador de carga LVS que funciona en el 4.° piso puede ser el más fuerte entre varios balanceadores de carga de uso común como LVS , Nginx, Apache y Haproxy Sí, y en K8S, la tecnología de equilibrio de carga predeterminada es LVS.

②Si se usa como balanceo de carga de alta disponibilidad HA, LVS+keepalived, entonces trabaje en la capa 4 y la capa 7

2. Comparación de funciones entre LVS y Nginx

En comparación con Nginx, LVS tiene una mayor capacidad anticarga, alto rendimiento y menor consumo de memoria y recursos de CPU;
LVS funciona en la capa de red y el kernel del sistema operativo procesa el tráfico específico. Nginx funciona en la capa de aplicación, y puede implementar alguna estrategia de Distribución;
la instalación y configuración de LVS son complejas, con alta dependencia de red y alta estabilidad. La instalación y configuración de Nginx es relativamente simple y la dependencia de la red es pequeña;
LVS no admite el procesamiento de coincidencia regular y no puede lograr el efecto de separación dinámica y estática. Nginx puede realizar esta función;
LVS se aplica a una amplia gama de protocolos. Nginx solo es compatible con los protocolos HTTP, HTTPS y de correo electrónico, y su ámbito de aplicación es pequeño;

3. Tipos de equilibrio de carga de software

Nginx: admite balanceo de carga de capa 4/capa 7, admite HTTP, HTTPS, protocolos de correo electrónico;
LVS: balanceo de carga de capa 4 puro, se ejecuta en modo kernel y tiene el rendimiento más alto entre el balanceo de carga de software;
HAproxy: es carga de capa 7 equilibrio El software admite la configuración de reglas de 7 capas y el rendimiento también es bueno;
ventajas:
simple, flexible y económico (instale el equilibrio de carga del software mencionado anteriormente directamente en el sistema operativo Linux, la implementación y el mantenimiento son relativamente simples , y el
equilibrio de carga de 4 y 7 capas se puede elegir según el negocio o según las características del negocio, es más conveniente expandir y personalizar las funciones)

4. Algoritmo de programación de carga LVS

1. Round Robin ----- Abreviatura: RR

Las solicitudes de acceso recibidas se asignan a cada nodo (servidor real) en el clúster en secuencia, y cada servidor se trata por igual, independientemente del número real de conexiones y la carga del sistema del servidor.

2. Round Robin ponderado (Weighted Round Robin) abreviatura: WRR

Las solicitudes se distribuyen de acuerdo con el valor de peso establecido por el programador. Los nodos con mayor peso obtienen las tareas primero y se asignan más solicitudes.
Asegúrese de que el servidor con un rendimiento sólido soporte más tráfico de acceso.

3. Abreviatura de conexiones mínimas: LC

La distribución se realiza de acuerdo al número de conexiones establecidas por el servidor real, y las solicitudes de acceso recibidas se distribuyen preferentemente al nodo con menor conexión.

4. Conexiones mínimas ponderadas

Los pesos se pueden ajustar automáticamente para servidores reales cuando el rendimiento de los nodos del servidor varía mucho.
Los nodos con mayor rendimiento soportarán una mayor proporción de la carga de conexión activa.

La diferencia entre round robin y mínima conexión

Cuando sondea la asignación , no importa cuántas conexiones en segundo plano haya, solo asigna de acuerdo con el método de sondeo.

El round robin ponderado aumenta manualmente el número de veces que se asigna un servidor.

Al asignar la conexión mínima , considera la cantidad de conexiones en segundo plano y primero asignará la solicitud de acceso al servidor en segundo plano con la conexión mínima.

La conexión mínima ponderada puede completar automáticamente el servidor con la cantidad mínima de conexiones para convertirse en la misma cantidad de conexiones que otros servidores y luego distribuir.

Cinco, herramienta de administración de LVS ipvsadm

1. Introducir ipvsadm

①ipvs (servidor virtual ip) : LVS es una función IPVS implementada en base al marco netfilter del estado del kernel y funciona en el estado del kernel. El usuario necesita usar la herramienta ipvsadm para configurar VIP y otra información relacionada y pasarla a IPVS.
②ipvsadm : ipvsadm es una herramienta de soporte para el modo de usuario LVS, que puede realizar las funciones de adición, eliminación, modificación y consulta de VIP y RS. Se comunica con el kernel LVS basado en netlink o socket sin procesar. Si LVS es análogo a netfilter, entonces ipvsadm es una herramienta similar a iptables.

2. El papel de ipvsadm

efecto:

① Se utiliza principalmente para equilibrar la carga de varios servidores;

②Al trabajar en la capa de red, puede realizar una tecnología de clúster de servidores de alto rendimiento y alta disponibilidad;

③ Se pueden combinar muchos servidores baratos y de bajo rendimiento para formar un superservidor;

④Fácil de usar, simple de configurar y existen múltiples métodos de equilibrio de carga;

⑤ Estable y confiable, incluso si un servidor en el clúster no funciona normalmente, no afectará el efecto general;

⑥ Buena escalabilidad

3. términos relacionados con lvs

el término    describir
DS (servidor de director)    Servidor de equilibrio de carga en primer plano
RS (servidor real)     servidor real back-end
CIP (IP del cliente)     dirección IP del cliente
VIP (IP virtual)     La dirección IP proporcionada por el balanceador de carga, generalmente la IP de balanceo de carga estará disponible a través de la IP virtual
RIP (IP del servidor real)    La dirección IP del servidor real del backend de equilibrio de carga
ADEREZO     La dirección IP utilizada por el balanceador de carga para comunicarse con el servidor backend
CMAC     Dirección MAC del cliente, la dirección MAC del enrutador al que está conectado el LVS
VMAC     La dirección MAC correspondiente al VIP del balanceo de carga LVS
DMAC     La dirección MAC correspondiente al DIP del balanceo de carga LVS
RMAC    La dirección MAC correspondiente a la dirección RIP del servidor real backend

4. Opciones de la herramienta ipvsadm

opciones     Función
-A     añadir servidor virtual
-D     Eliminar todo el servidor virtual
-s    Especifica el algoritmo de programación de carga (rotación por turnos: rr, turno por turnos ponderado: wrr, menos conexiones: lc, menos conexiones ponderadas: wlc)
-a    Indica agregar un servidor real (servidor de nodo)
-d     eliminar un nodo
-t     Especifique la dirección VIP y el puerto TCP
-r     Especifique la dirección RIP y el puerto TCP
-metro     Indica el uso del modo NAT
-gramo     Indica el uso del modo DR
-i     Indica el uso del modo TUN
-w     Establecer el peso (cuando el peso es 0, significa que el nodo está suspendido)
-pág 60     Indica mantener una conexión larga durante 60 segundos
-l    Lista para ver servidores virtuales LVS (predeterminado para ver todos)
-norte     La dirección, el puerto y otra información se muestran en forma de palabras artísticas, y el largo se usa en combinación con la opción '-l'
-C borrar vieja política

Supongo que te gusta

Origin blog.csdn.net/m0_71521555/article/details/126704103
Recomendado
Clasificación