Cómo configurar un servidor web para equilibrio de carga
Tome cuatro servidores como ejemplo para lograr el equilibrio de carga:
Instalación y configuración de LVS
1. Preparación de la instalación:
( 1) En primer lugar, LVS no requiere que los servidores del clúster tengan especificaciones uniformes. Por el contrario, la estrategia de distribución de carga se puede ajustar de acuerdo con las diferentes configuraciones y condiciones de carga de los servidores para aprovechar al máximo cada servidor. el entorno del clúster. Como se muestra en la siguiente tabla:
Srv Eth0 Eth0: 0 Eth1 Eth1: 0
vs1 10.0.0.1 10.0.0.2 192.168.10.1 192.168.10.254
vsbak 10.0 .0.3 192.168.10.102
real1 192.168.10.100
real2 192.168.10.101
Entre ellos, 10.0.0.2 es la IP a la que los usuarios pueden acceder acceso.
(2) Entre estos cuatro servidores, vs1 actúa como un servidor virtual (es decir, servidor de equilibrio de carga), que es la IP y el servidor de equilibrio de carga al que acceden los usuarios) y es responsable de reenviar las solicitudes de acceso de los usuarios al dentro del clúster real1 y real2, y luego procesado por real1 y real2 respectivamente.
El cliente es una máquina de prueba de cliente, que puede ser cualquier sistema operativo.
(3) Todos los sistemas operativos son redhat6.2, los núcleos de vs1 y vsbak son 2.2.19, los paquetes ipvs han sido parchados y las máscaras de subred de todos los servidores
reales. son Los códigos son todos de 24 bits y los segmentos de red 10.0.0 de vs1 y vsbak son de 24 bits.
2. Comprenda los términos relacionados en LVS
(1) ipvsadm: ipvsadm es la interfaz de usuario de LVS. Compile e instale ipvsadm en el equilibrador de carga.
(2) Algoritmo de programación:
El equilibrador de carga en LVS tiene las siguientes reglas de programación: programación por turnos, denominada rr, denominada programación ponderada cada una; Se asigna una nueva conexión por servidor físico.
Conexión mínima, denominada lc; programación ponderada, denominada wlc; cada nueva conexión se asigna al servidor con la menor carga.
(3) Conexión de cliente persistente
Pcc para abreviar (conexión de cliente persistente, compatible desde la versión 2.2.10 del kernel). Todos los clientes de la misma IP siempre se conectarán al mismo servidor físico. El tiempo de espera se establece en 360 segundos.
pcc indica que pueden tener la misma dirección IP.
(4) Puertos persistentes
Algoritmo de programación de conexión: después de la versión 2.2.12 del kernel, la función pcc elige entre un algoritmo de programación (puede elegir entre diferentes algoritmos de programación: rr, wrr , lc, wlc, pcc) se desarrolló como una opción de alternancia (puede hacer que rr, wrr, lc y wlc tengan las propiedades de pcc). Durante la configuración, si no selecciona un algoritmo de programación, ipvsadm utilizará de forma predeterminada el algoritmo wlc. Según el algoritmo de conexión de puerto persistente (ppc), las conexiones se asignan por puerto, por ejemplo, las solicitudes del mismo punto final en el puerto 80 y el puerto 443 se asignarán a diferentes servidores físicos.
Desafortunadamente, si necesita utilizar cookies en el sitio, recibirá un error porque /ipv4/ip_forward
# echo 1 > /proc/sys/net/ipv4/ip_always_defrag
# ipchains -P forward MASQ
c.Configurando piraña Ingrese a la ventana X (también puede editar /etc/lvs.cf)
a). Ejecute el panel piraña del sistema
b). Configure la IP del host principal del servidor LVS en "Configuración global": 10.0.0.2, seleccione la traducción de la dirección de red (predeterminada) y el nombre de la ruta NAT:
192.168.10.254, dispositivo de ruta NAT: eth1:0
c). Configurar servidor virtual Agregar sección de edición de servidor virtual: (Servidor virtual) Nombre: (cualquier nombre Aplicación:.) Probar Telnet: Ejecute telnet 10.0.0.2 desde el; client ,
Si ve el siguiente resultado después de iniciar sesión, el clúster está funcionando correctamente: (suponiendo que haya iniciado sesión como usuario invitado)
[guest@real1 guest]$ - - indica que ha iniciado sesión. Llegó al servidor real1.
Abra otra ventana de telnet e inicie sesión, y descubra que el mensaje del sistema ha cambiado a:
[guest@real2 guest]$: indica que ha iniciado sesión en el servidor real2.
3. Pruebe http: ejecute iexplore http://10.0.0.2 desde el cliente
Dado que las páginas de prueba en real1 y real2 son diferentes, la página que aparece después de iniciar sesión varias Los tiempos también serán diferentes, esto significa que el servidor real está funcionando normalmente.
Esto demuestra que el servidor real está funcionando correctamente.