0% encontró este documento útil (0 votos)
179 vistas

Haproxy

Este documento describe la implementación de un servidor de balanceo de carga HAProxy. Explica los nodos backend que se balancearán, los requisitos del sistema, la instalación e implementación de CentOS, la instalación y configuración del servicio HAProxy, incluida la configuración global, predeterminada, frontend, backend y listen. También cubre la configuración del firewall de Linux, las tarjetas de red, el algoritmo de balanceo de carga seleccionado y las pruebas realizadas.
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
179 vistas

Haproxy

Este documento describe la implementación de un servidor de balanceo de carga HAProxy. Explica los nodos backend que se balancearán, los requisitos del sistema, la instalación e implementación de CentOS, la instalación y configuración del servicio HAProxy, incluida la configuración global, predeterminada, frontend, backend y listen. También cubre la configuración del firewall de Linux, las tarjetas de red, el algoritmo de balanceo de carga seleccionado y las pruebas realizadas.
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 15

Implementación de Servidor de Balanceo HA-Proxy

Documento preparado para MINEM.

Por:
Oswaldo Eche

INDICE

I. Identificación de Nodos para balancear.............................................................3


Documento preparado para Pacífico Seguros

1. Diagrama de Implementación............................................................................3
2. Requerimientos:...................................................................................................3
II. implementación de servidor linux/GNU..............................................................4

III. Implementación de Servicio..................................................................................9

IV. Configuración de Firewall de Linux...................................................................11

V. Configuración de Tarjetas de RED (DMZ/LAN)................................................12

VI. Elección de algoritmo de balanceo....................................................................12

VII. configuración de Servicio....................................................................................13

VIII. implementación de estadísticas.........................................................................14

IX. Pruebas.....................................................................................................................14

Página 2
Documento preparado para MINEM

Implementación de HA-Proxy

I. Identificación de Nodos para balancear


para la implementación del servicio de consideraron los servidores
de Backend:

 172.25.1.50
 172.25.1.60

Las aplicaciones incluidas son: Aportes, Aportes DGER, Consultas PIDE,


ConvCAS Contratos, ConvCAS Extranet, Convocas login, DGFM CONSIC,
DGFM SIC, SiGED, SIGEDVIRTUAL,SIGEDVIRTUAL CONSULTA.

1. Diagrama de Implementación

2. Requerimientos:
 Sistema operativo CentOS Linux release 7.6.
 Memoria Ram 8 GB
 Espacio de Disco interno 50GB (HDD)
 Interfaces de Red 2 (1 en la red Interna y 1 en la red DMZ)

Página 3
Documento preparado para Pacífico Seguros

II. implementación de servidor linux/GNU

 Debemos de seleccionar donde dice Install CentOs 7 con teclas


direccionales y hacer enter.

 Comenzará a cargar el ISO del Centos 7 como se muestra en la imagen.

Página 4
Documento preparado para MINEM

 Cuando te salga una imagen donde dice Bienvenido a  Centos 7 como se


muestra debemos de seleccionar el idioma con el cual trabajara su teclado
y no tengas inconvenientes al momento de digitalizar. Seleccionamos el
idioma correspondiente y le damos continuar.

 Luego nos saldrá un menú que dice Resumen de instalación, en la parte


inferior en la sección Sistemas seleccionamos > Destino de instalación.

Página 5
Documento preparado para Pacífico Seguros

 Seleccionamos la unidad donde deseamos instalar el Centos 7. Le


damos listo.

 Posteriormente retornamos al menú principal y luego notamos que el


asistente ya reconoció el entorno base el cual trabajaremos instalación

Página 6
Documento preparado para MINEM

mínima. Esto se debe a que descargamos la versión mínima del sistema


operativo. Para poder continuar damos click en Empezar instalación

 Durante el proceso de instalación nos mostrara una ventana el cual nos


solicita crear una clave para el usuario root. Es muy importante esta
contraseña, porque es la que realizará todas las gestiones en el nuevo
sistema operativo. Y damos click en Listo.

 Luego el asistente nos indica que debemos de reiniciar el sistema, damos


click en Reiniciar.

Página 7
Documento preparado para Pacífico Seguros

 Para iniciar el sistema debemos de hacer click en Centos Linux (3.10.0-


327 e17 .x86_64 7 core) y cargara nuestro centos 7. 

 Luego el sistema comenzara a cargar, recordemos que en la versión


mínima solo estaremos trabajando en la consola de comandos. Para iniciar
sesión ingresamos nuestro usuario y clave.

Página 8
Documento preparado para MINEM

1. Implementación de Servicio

El servicio haproxy es parte del paquete “haproxy” que podemos instalar via yum

yum install -y haproxy

El archivo de configuración principal del servicio es


el /etc/haproxy/haproxy.cfg dicho archivo está separado en 3
partes, global, defaults y luego las configuraciones de los distintos servicios, los
mismos pueden ser de tipo frontend, backend o listen

Abajo un ejemplo de configuración basico de global:

global
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user haproxy
group haproxy
stats socket /var/lib/haproxy/stats
daemon

log : Direccion IP y facility que utilizara el demonio para guardar registros via
Syslog
chroot : Ruta de ejecucion y enjaulamiento del demonio
pidfile : Ruta del archivo PID
maxconn : Numero maximo de conexiones concurrentes que aceptara el demonio
Página 9
Documento preparado para Pacífico Seguros

user : Usuario con el cual se ejecuta el demonio


group : Grupo con el cual se ejecuta el demonio
daemon : Modo en el que se levantara el proceso, por defecto daemon ya que se
utiliza como servicio del S.O.
stats socket : Ruta del archivo socket para las estadísticas, el mismo puede ser
consultado con el comando socat

Ejemplo de configuración básica de defaults


Las configuraciones defaults son las que se setean por defecto para cada
frontend, backend o listen que creemos.

defaults
mode http
maxconn 3000
option dontlognull
option http-server-close
option redispatch
retries 3
timeout http-request 1m
timeout queue 1m
timeout connect 10s
timeout client 10m
timeout server 10m
timeout http-keep-alive 10s
timeout check 10s
tcplog

mode : El modo default en el cual trabajaran los frontend, backend y listen, puede
ser tcp o http
maxconn *: Cantidad maxima de conexiones para cada frontend, backend o listen *
option dontlognull : Evita que se registre en los logs repuestas nulas o vacias
option http-server-close : Fuerza el cierre de la conexion una vez que se
recibio la respuesta del servidor backend
option redispatch : Activa la redistribución de sesión en caso de fallo de
conexión
retries : Numero de intentos sobre un servidor luego de un fallo de conexion
timeout http-request *: Tiempo de espera para recibir la respuesta HTTP
completa *
timeout queue : Tiempo de espera para las conexiones que estan en espera
timeout connect : Tiempo de espera para que el servidor acepte la conexion
timeout client : Tiempo maximo de inactividad del lado del cliente
timeout server : Tiempo maximo de inactividad del lado del servidor
timeout http-keep-alive : Tiempo máximo de espera para reutilizar una
conexion HTTP

Página 10
Documento preparado para MINEM

timeout check : Tiempo máximo de espera para que los servidores respondan los
chequeos luego de abrir la conexión
tcplog : Modo de logueo, los más utilizados son tcplog y httplog, tcplog registra
las peticiones y que nodo atendió la misma, httplog registra la URL solicitada por
el cliente

Definición de frontend
El frontend es la parte de en la cual se especifica el tipo de aplicacion, los puertos
y direcciones IP en las que escuchara el servicio, tambien se establecen las
primeras reglas para las conexiones, elfrontend sería el encargado de recibir las
conexiones de los clientes.

Definición de backend
La configuración backend es donde se determinan cuáles son los nodos, cuáles
son los métodos de chequeo de vida y cuáles son las opcion o métodos de
balanceo

Definición de listen
La configuración liste es una mezcla entre frontend y backend, dentro del listen se
establecen las direcciones IPs y puertos donde se escuchan y a la vez se
determinan cuáles son los nodos, a diferencias del frontend tiene ciertas
limitaciones a la hora de tener varios backends basándose en la url para
discriminar a que backend debe ir

2. Configuración de Firewall de Linux


Permitir que funcione a través del firewall
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port = 443 / tcp

Página 11
Documento preparado para Pacífico Seguros

3. Configuración de Tarjetas de RED (DMZ/LAN)


Se configuro las interfaces Interna y DMZ

DMZ

Interna

4. Elección de algoritmo de balanceo

RoundRobin
roundrobin se distribuyen de manera equitativa, pero para realizarlo, los nodos
deben de tener las mismas características.

Source
Por fuente, esté es de los menos eficientes ya que consiste en utilizar la dirección
ip para generar un hash y va a tener conexión con alguno de los nodos no
importando cuál de ellos responda, si esa misma dirección ip vuelve a realizar otra
solicitud el mismo nodo que le contestó por primera vez tiene la obligación de
responderle; este método se vuelve eficiente porque se puede cargar a un nodo
más que otro bajando el rendimiento del balanceo
Página 12
Documento preparado para MINEM

LeastConn
El balanceo por menos conexiones, como su nombre lo dice buscará dentro de los
nodos al nodo que tenga menos solicitudes y las mandará hasta que los otros
nodos terminen y se vuelvan los nodos con menos conexiones.

Se eligió el algoritmo: RoundRobin

5. Configuración de Servicio
a continuación, se detalla el archivo de configuración del servicio

Página 13
Documento preparado para Pacífico Seguros

6. implementación de estadísticas
Se implemento el servicio de monitoreo para el sistema de monitoreo
Para el ingreso de puede hacer mediante el puerto 8080

7. Pruebas
Se adjuntan pruebas de conexión

Archivo de Información de conexión con los nodos

Página 14
Documento preparado para MINEM

Ejemplo de página en balanceo

Página 15

También podría gustarte