Está en la página 1de 2

Ofreciendo balanceo de carga y alta disponibilidad con

HAPROXY

¿Qué es HAProxy?

Escenarios propuestos

Alta disponibilidad
Ésta solución permitirá al MTA seguir analizando los mensajes entrantes con el antivirus del resto
de servidores en caso de caerse el milter del antivirus local.
Por defecto las conexiones se pasarán al milter o blocker local, pero en caso de fallo (rechazo de
conexión o tiempo de establecimiento agotado) las conexiones se establecerán con los servidores de
backup. En caso de que alguno de éstos esté también caído, el balanceador pasará las conexiones al
que esté disponible o rechazará las siguientes conexiones en caso de no tener ningún milter o
blocker disponible.
Para acceder a la página de estadísticas basta con usar la web de administración:
http://srmp1.rtve.es:443/

Cambios necesarios
Cambiar los puertos de escucha del antivirus local:
10025 → 10026 (milter)
4466 → 4467 (blocker)
Agregar túneles SSH al resto de servidores
10027 → 10026 (milter) remoto1
4468 → 4467 (blocker) remoto1
10028 → 10026 (milter) remoto2
4469 → 4467 (blocker) remoto2
Nota: Las conexiones se hacen directamente al milter o blocker remoto y no al balanceador remoto
para permitir que el balanceador se informe del estado del resto de milters y blockers. También evita
que se creen bucles entre los balanceadores.
Quedando la siguiente configuración de puertos:
10025 → haproxy (balanceador)
10026 → milter local
10027 → milter remoto 1
10028 → milter remoto 2
4466 → haproxy (balanceador)
4467 → blocker local
4468 → blocker remoto 1
4469 → blocker remoto 2

Archivo de configuración en srmp1


listen milter-10025 127.0.0.1:10025
mode tcp
balance roundrobin
server srmp1 127.0.0.1:10026 check weight 4
server srmp2 127.0.0.1:10027 check weight 4 backup
server srmp4 127.0.0.1:10028 check weight 8 backup
listen blocker-4466 127.0.0.1:4466
mode tcp
balance roundrobin
server srmp1 127.0.0.1:4467 weight 4
server srmp2 127.0.0.1:4468 weight 4 backup
server srmp4 127.0.0.1:4469 weight 8 backup
listen estadisticas :443
mode http
balance roundrobin
stats uri /
stats realm Estadisticas\ del\ balanceador
stats auth estadisticas:estadisticas

Balanceo de carga
Podemos lograr un balanceo de carga bastante óptimo eliminando del archivo de configuración el
parámetro “backup” tras la definición de los servidores.
Con esta modificación el comportamiento del balanceador cambiará:
Comportamiento previo: sólo se usarán los servidores srmp2 y srmp4 si el servidor principal
(srmp1) está caído.
Comportamiento nuevo: todas las conexiones se repartirán entre los tres servidores, evitando usar
aquellos que estén caídos.