PDF de programación - CLUSTER DE ALTA DISPONIBILIDAD CON HAPROXY Y KEEPALIVED

Imágen de pdf CLUSTER DE ALTA DISPONIBILIDAD CON HAPROXY Y KEEPALIVED

CLUSTER DE ALTA DISPONIBILIDAD CON HAPROXY Y KEEPALIVEDgráfica de visualizaciones

Publicado el 25 de Junio del 2017
1.148 visualizaciones desde el 25 de Junio del 2017
562,0 KB
29 paginas
Creado hace 8a (19/12/2012)
PROYECTO INTEGRADO
PROYECTO INTEGRADO

CLUSTER DE ALTA DISPONIBILIDAD CON
CLUSTER DE ALTA DISPONIBILIDAD CON

HAPROXY Y KEEPALIVED
HAPROXY Y KEEPALIVED



Obra bajo licencia Creative Commons



Antonio Madrena Lucenilla
21 de Diciembre de 2012
I.E.S. Gonzalo Nazareno

INDICE DE CONTENIDO
INDICE DE CONTENIDO

● Introducción
● Topología de red
● Instalación de máquinas
● Software a utilizar
● Instalación y configuración de HAProxy
● Instalación y configuración de Keepalived
● Configuración de Sysctl



INDICE DE CONTENIDO
INDICE DE CONTENIDO

● Configuración de servidores web
● Inicio de servicios
● Comprobaciones
● Estadísticas con HAProxy
● Referencias web



INTRODUCCION
INTRODUCCION

● Alta Disponibilidad (Wikipedia): protocolo de
diseño del sistema y su implementación asociada
que asegura un cierto grado absoluto de
continuidad operacional durante un período de
medición dado.

● Cada día es más importante y necesario montar
fundamentales en Alta
nuestros
Disponibilidad de manera que si algo falla por
causas ajenas, éste siga ofreciendo su función.

servicios



INTRODUCCIÓN (II)
INTRODUCCIÓN (II)

● Todo el servicio que no se pueda ofrecer se le

llama “Tiempo de Inactividad”.

● Disponibilidad de un servicio: porcentaje
lleva prestando servicio

tiempo/año que
ininterrumpidamente.
– 99,9%: tres nueves → 8,76 horas/año inact.
– 99,99%: cuatro nueves → 52,6 min/año inact.
– 99,999%: cinco nueves → 5,26 min/año inact.



INTRODUCCION (III)
INTRODUCCION (III)

● Se ven a redactar los pasos necesarios para
montar un Cluster de Alta Disponibilidad usando
HAProxy y Keepalived.

● HAProxy básicamente consiste en un Proxy

Inverso y un balanceador de carga.

● Keepalived es la herramienta que nos permite
los dos

tener conectados e
servidores para ofrecer Alta Disponibilidad.

identificados

● Ésto nos ofrece un servicio capaz de mantener un

gran número de conexiones simultáneas.



TOPOLOGÍA DE RED
TOPOLOGÍA DE RED

● Cuatro máquinas:

– Dos donde se encuentra HAProxy y Keepalived
– Dos con un apache para ejercer el servicio web

HOSTNAME
server1
server2
web1
web2

IP
10.0.0.1
10.0.0.2
10.0.0.100
10.0.0.200

VIP
10.0.0.10
10.0.0.10

FUNCIÓN
HAProxy-Keepalived
HAProxy-Keepalived
Apache
Apache



TOPOLOGÍA DE RED (II)
TOPOLOGÍA DE RED (II)

Server1 actúa como MASTER y Server2 como BACKUP. Esto se explica más
adelante.

Web1 y Web2 sirven el mismo contenido, que de una forma u otra también ofrece
Alta Disponibilidad.



INSTALACION DE MÁQUINAS
INSTALACION DE MÁQUINAS

● Características Hardware:

– CPU: 1 core
– RAM: 256 Mb
– HDD: Dos de 8 GB (RAID 1)
– Tarjeta de red: Virtio

● Server1 y Server2 tienen una VIP configurada,
de manera que se aloja en la máquina que se
encuentre como MASTER.



SOFTWARE A UTILIZAR
SOFTWARE A UTILIZAR

● HAProxy: balanceador de carga multiprotocolo

– Versión 1.4.8-1 (Actualmente estable)

● Keepalived: manejo del Cluster

– Versión 1:1.1.20-1+squeeze1

● Apache2: servidor web

– Versión 2.2.16-6+squeeze8

● Varnish: caché web

– Versión 2.1.3-8



INSTALACIÓN DE HAPROXY
INSTALACIÓN DE HAPROXY

● HAProxy es un Proxy inverso TCP/HTTP
Alta

entornos

con

adecuado
Disponibilidad.

para

● Cuenta con conexión persistente de Cookies

y balanceador de carga.

● Se hace en los servidores principales [Server1

y Server2] desde repositorios:

# aptitude install haproxy



CONFIDURACIÓN DE HAPROXY
CONFIDURACIÓN DE HAPROXY

● Al instalar el paquete crea los siguientes

archivos para su configuración:
– Crea el directorio

/etc/haproxy donde se

encuentra la configuración principal:
● Fichero de configuración general: haproxy.cfg
● Directorio con errores html: errors/

– También crea dentro del directorio /etc/default el
archivo haproxy, donde tenemos que cambiar el
parámetro ENABLED a 1, para activarlo.



CONFIGURACIÓN DE HAPROXY
CONFIGURACIÓN DE HAPROXY

(II)(II)

“La configuración de
HAProxy no varía entre
Server1 y Server2.”



INSTALACIÓN DE KEEPALIVED
INSTALACIÓN DE KEEPALIVED

● Keepalived se utiliza para monitorizar
servidores dentro de Cluster LVS (Linux
Virtual Server).

● Se puede configurar para eliminar servidores
de la cola del Cluster si éste deja de
responder.

● Implementa mediante protocolo VRRPv2 un
módulo para recoger información adicional
del Cluster.



INSTALACION DE KEEPALIVED
INSTALACION DE KEEPALIVED

(II)(II)

● La instalación de Keepalived se hace desde

los repositorios oficiales de Debian.
# aptitude install keepalived

● Se instala en ambos servidores principales

[Server1 y Server2]



CONFIGURACIÓN DE KEEPALIVED
CONFIGURACIÓN DE KEEPALIVED

● Su configuración varía en ambos, ya que uno

actúa como MASTER y otro como BACKUP.
– MASTER: mientras todo sea correcto es el que va
a ofrecer el servicio completo. Si éste falla el
BACKUP empieza a ofrecer el servicio.

– BACKUP: Si falla el MASTER, éste ofrece el
servicio hasta que el Maestro esté totalmente
recuperado del fallo. Entonces toma de nuevo la
función de BACKUP y sigue a la espera por si se
produce otro fallo.



CONFIGURACION DE KEEPALIVED
CONFIGURACION DE KEEPALIVED

(II)
(II)

● El fichero de configuración se encuentra en el

directorio /etc/keepalived.

● Tanto en el MASTER como en el BACKUP, el
fichero keepalived.conf son idénticos, salvo
por el estado y la prioridad.
– Estado: MASTER y BACKUP
– Prioridad:

● MASTER: priority 101
● BACKUP: priority 100



CONFIGURACION DE KEEPALIVED
CONFIGURACION DE KEEPALIVED

(III)
(III)

[…]
state MASTER
[…]
priority 101
[...]

[…]
state MASTER
[…]
priority 101
[...]



CONFIGURACION DE SYSCTL
CONFIGURACION DE SYSCTL

● Sysctl es una interfaz para examinar y
cambiar los parámetros de forma dinámica
en los sistemas operativos Linux y BSD.

● Tenemos que modificar el “bit de forwarding”

y el “non local bind”.

● Últimamente he aprendido a usar sysctl, así
que lo uso en mi Proyecto Integrado para
hacerlo de manera diferente a la que estamos
acostumbrados en el ciclo.



CONFIGURACION DE SYSCTL
CONFIGURACION DE SYSCTL

(II)(II)

● Para modificar el fichero /etc/sysctl.conf se
puede hacer con un “echo” o modificando
el propio fichero con un editor.

# echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf 

# echo "net.ipv4.ip_nonlocal_bind = 1" >> /etc/sysctl.conf

● Una vez añadidos al fichero ejecutamos el
siguiente comando para que cargue los
cambios y nos los muestre por pantalla.

# sysctl ­p



INSTALACIÓN Y CONFIGURACIÓN DE
INSTALACIÓN Y CONFIGURACIÓN DE

SERVIDORES WEB
SERVIDORES WEB

● Los servidores web simplemente son un

Apache corriendo en el puerto 80.

● Estos se instalan desde repositorios oficiales.

# aptitude install apache2

● Para hacer

la búsqueda más rápida he
instalado también una simple caché web.
Ésta también se instala desde repositorios.

# aptitude install varnish

● Ambos se dejan con la configuración por

defecto.



INSTALACIÓN Y CONFIGURACIÓN DE
INSTALACIÓN Y CONFIGURACIÓN DE

SERVIDORES WEB (II)
SERVIDORES WEB (II)

● Como página web he creado una simple con
código html y css, y que luego he replicado
entre los dos servidores web.



INICIO DE SERVICIOS
INICIO DE SERVICIOS

● Tenemos que iniciar los servicios de HAProxy

y Keepalived en las dos máquinas.

● Esto hay que hacerlo primero en el MASTER
y segundo en el BACKUP, de lo contrario
daría fallos al no poder sincronizar archivos.

# /etc/init.d/haproxy start
# /etc/init.d/keepalived start



COMPROBACIONES
COMPROBACIONES

● Antes que nada tenemos que comprobar que
HAProxy y Keepalived estén funcionando. Lo
hacemos con el siguiente comando:

# ip addr sh eth0

● Este nos presenta quien es MASTER y quien

BACKUP, y cual de ellos tiene la IP virtual.



COMPROBACIONES (II)
COMPROBACIONES (II)

● Podemos provocar la caida del MASTER y
observaremos como el BACKUP comienza a
prestar el servicio y adquiere la IP virtual.



COMPROBACIONES (III)
COMPROBACIONES (III)

● Otra forma es mirando los logs.



ESTADÍSTICAS CON HAPROXY
ESTADÍSTICAS CON HAPROXY
● Una de las funcionalidades de HAProxy es
hacer estadísticas y mostrarlas por el
navegador.

● Para ello accedemos mediante la dirección

http://10.0.0.10/haproxy?stats



REFERENCIAS WEB
REFERENCIAS WEB

● Páginas Oficiales:

– LVS:

● http://www.linuxvirtualserver.org/

– Keepalived:

● http://www.keepalived.org/

– HAProxy:

● http://haproxy.1wt.eu/



REFERENCIAS WEB (II)
REFERENCIAS WEB (II)

● HOWTO y manuales:
– LinuxVirtualServer.org:

● http://www.linuxvirtualserver.org/docs/ha/keepalived.html

– DanielDeMichele.com:

● http://www.danieldemichele.com.ar/alta-disponibilidad-load-

balancer-con-haproxy/

– HowToForge.com:

● http://www.howtoforge.com/setting-up-haproxy-keepalived-

on-debian-lenny-p2
  • Links de descarga
http://lwp-l.com/pdf4646

Comentarios de: CLUSTER DE ALTA DISPONIBILIDAD CON HAPROXY Y KEEPALIVED (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad