Configuración del equilibrio de carga de los servidores web utilizando 'libra' en rhel/centos
- 4070
- 301
- Sta. Enrique Santiago
LIBRA es un programa de equilibrio de carga desarrollado por su compañía de seguridad. Es una herramienta de proxy inversa de código abierto ligero que se puede utilizar como un equilibrador de carga de servidor web para distribuir la carga entre varios servidores. Hay varias ventajas que la libra da al usuario final que son muy convenientes y hace el trabajo bien.
- Admite hosts virtuales.
- Configurable.
- Cuando un servidor de backend fallece o se recupera de una falla, lo detecta automáticamente y basa sus decisiones de equilibrio de carga de acuerdo con eso.
- Rechaza las solicitudes incorrectas.
- No hay navegador o servidores web especificados.
Echemos un vistazo a cómo se puede hacer este truco.
En primer lugar, necesitará un escenario para una mejor comprensión sobre cómo hacer esto. Por lo tanto, usaré un escenario en el que haya dos servidores web y un servidor de puerta de enlace que deba equilibrar las solicitudes llega al servidor de puerta de enlace a los servidores web.
Servidor de puerta de enlace : 172.dieciséis.1.222 Servidor web 01 : 172.dieciséis.1.204 Servidor web 02 : 192.168.1.161Balanceador de carga de servidor web libra
Paso 1: Instale el equilibrador de carga de libra en Gateway Server
1. La forma más fácil de instalar Libra está utilizando paquetes RPM precompilados, puede encontrar RPM para distribuciones basadas en Redhat en:
- http: // www.invoca.ch/pub/paquetes/libra/
Alternativamente, la libra se puede instalar fácilmente desde el repositorio de Epel como se muestra a continuación.
# yum instalación Epel-liberase # yum instalación de la libra
Después de la libra instalada, puede verificar si está instalado emitiendo este comando.
# rpm -qa | Grep libraInstale el equilibrador de carga de libra
2. En segundo lugar, necesitas Dos servidores web Para equilibrar la carga y asegúrese de tener identificadores claros para probar la configuración de libra funciona bien.
Aquí tengo dos servidores con direcciones IP 172.dieciséis.1.204 y 192.168.1.161.
Para facilitar su uso, he creado Python SimpleHttpServer para crear un servidor web instantáneo en ambos servidores. Lea sobre Python SimpleHttpserver
En mi escenario, tengo mi servidor web01 que se ejecuta en 172.dieciséis.1.204 a través del puerto 8888 y servidor web02 que se ejecuta en 192.168.1.161 a través del puerto 5555.
Pound Webserver 1 Pound Webserver 2Paso 2: Configurar el equilibrador de carga de libra
3. Ahora es el momento de hacer las configuraciones. Una vez que haya instalado la libra correctamente, crea el archivo de configuración de la libra en /etc, a saber libra.CFG
.
Tenemos que editar el servidor y los detalles de backend para equilibrar la carga entre los servidores web. Ir a /etc y abrir libra.CFG
Archivo para la edición.
# vi /etc /libra.CFG
Hacer los cambios como se sugiere a continuación.
Dirección ListenHttp 172.dieciséis.1.222 Puerto 80 End LearchHttps Dirección 172.dieciséis.1.222 Puerto 443 cert "/etc/pki/tls/certs/libra.PEM "Dirección de back -end del servicio final 172.dieciséis.1.204 Puerto 8888 Dirección de backend final 192.168.1.161 Puerto 5555 Final
Así es como mi libra.CFG el archivo se ve como.
Configurar el equilibrador de carga de libraBajo la "Escucharhttp" y "Escucharhttps"Etiquetas, tienes que ingresar al dirección IP del servidor ha instalado libra.
Por defecto, un servidor maneja las solicitudes HTTP a través del puerto 80 y solicitudes HTTPS a través del puerto 443. Bajo la "Servicio"Etiqueta, puede agregar cualquier cantidad de submarinas llamadas"Backend". Las etiquetas de backend llevan las direcciones IP y los números de puerto en los que los servidores web están ejecutando.
Ahora guarde el archivo después de editarlo correctamente y reinicie el LIBRA Servicio emitiendo uno de los comandos a continuación.
# /etc /init.reinicio de d/libra o # libra de servicio reiniciar o # systemctl reiniciar libra.servicioInicie el equilibrador de carga de libra
4. Ahora es el momento de comprobar. Abra dos navegadores web para verificar si nuestras configuraciones funcionan bien. En la barra de direcciones escribe tu LIBRA Dirección IP de Gateway y ver lo que aparece.
La primera solicitud debe cargar el primero servidor web01 y la segunda solicitud del otro navegador web debe cargar el segundo servidor web02.
Verifique el equilibrio de carga de libraAdemás, piense en un escenario como si tenga Dos servidores web Para cargar el equilibrio y uno de los rendimientos del servidor es bueno y el rendimiento de otros no es tan bueno.
Entonces, al equilibrar la carga entre ellos, tendrá que considerar para qué servidor debe poner más peso en. Obviamente para el servidor con buenas especificaciones de rendimiento.
Para equilibrar la carga así, solo debe agregar un solo parámetro dentro del libra.CFG
archivo. Echemos un vistazo.
Piense en servidor 192.168.1.161: 5555 es el mejor servidor. Entonces necesita poner más flujo de solicitudes a ese servidor. Bajo la "Backend"Etiqueta que está configurada para 192.168.1.161 servidor, agregue el parámetro "Prioridad"Antes de la etiqueta final.
Mira el ejemplo a continuación.
Prioridad de equilibrio de carga de libraEl rango que podemos usar para el "Prioridad"El parámetro está entre 1-9. Si no lo definimos, valor predeterminado de 5 Será asignado.
Entonces la carga se equilibrará por igual. Si definimos el número de prioridad, LIBRA Cargará el servidor con un número de prioridad más alto con mayor frecuencia. Entonces en este caso, 192.168.1.161: 5555 se cargará con más frecuencia que el servidor 172.dieciséis.1.204: 8888.
Paso 3: Planificación de desgloses de emergencia
Etiqueta de emergencia: Esta etiqueta se usa para cargar un servidor en caso de que todos los servidores de back -end estén muertos. Puede agregarlo antes de la última etiqueta de final de libra.CFG como sigue.
"Dirección de emergencia 192.168.5.10 puerto 8080 final "
6. La libra siempre realiza un seguimiento de los servidores de backend están vivos y cuáles no. Podemos definir después de cuántos segundos deben controlar los servidores de backend agregando "VivoParámetro en libra.CFG.
Puede usar el parámetro como "Vivo 30"Para establecerlo en 30 segundos. La libra deshabilitará temporalmente los servidores de back -end que no están respondiendo. Cuando decimos que no responder el servidor puede estar muerto o no puede establecer una conexión en ese momento.
La libra verificará el servidor de backend deshabilitado después de cada período de tiempo que haya definido en el libra.CFG Archivo En caso de que el servidor pudiera establecer una conexión, entonces la libra puede volver a trabajar con el servidor.
7. Pound Daemon será manejado por boundctl dominio. Al tener que no necesitamos editar el libra.CFG archivo y podemos emitir Servidor lister, Backend servidores y sesiones, etc. a través de un solo comando.
Sintaxis: boundctl -c/rath/a/socket [-l/-l] [-s/-s] [-b/-b] [-n/-n] [-h] [-x]
- -C Define el camino a su socket.
- -L / -l Define el oyente de su arquitectura.
- -S / -s Define el servicio.
- -B / -b Define los servidores de backend.
Ver boundctl Páginas de hombre para más información.
Espero que disfrutes este hack y descubre más opciones sobre esto. Siéntase libre de comentar a continuación para cualquier sugerencia e ideas. Mantenga conectado con TecMint para obtener Handy y Last How to's.
Leer también: Instalación del equilibrador de carga de Crossroads XR para servidores web
- « Configuración del equilibrador de carga 'XR' (Crossroads) para servidores web en RHEL/CentOS
- Cómo usar y ejecutar códigos PHP en la línea de comandos de Linux - Parte 1 »