[eside-ghost] Cluster en Ubuntu
Mikel Cortazar
mikeleghost en yahoo.com
Vie Oct 24 15:06:39 CEST 2008
Hola de nuevo, por fin me he puesto con el tema y estoy montando el cluster con Keepalived.
De momento ando con unas pruebillas, he montado dos máquinas virtuales con apache2 y he instalado el keepalived en ambas. La cosa esk kiero k los servidores reales sen los propioes servidores virtuales que hacen el balanceo, la configuración es esta:
######### /etc/keepalived/keepalived.conf ####################
global_defs {
notification_email {
gdgdfgdf en dggdgdg.com
}
notification_email_from gdgdfgdf en dggdgdg.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
lvs_id LVS1
}
virtual_server 10.126.1.245 80 {
delay_loop 30
lb_algo rr
lb_kind DR
persistence_timeout 50
protocol TCP
real_server 10.126.1.245 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
}
}
real_server 10.126.1.249 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
}
}
}
vrrp_instance VI_1 {
state MASTER
interface eth0
lvs_sync_daemon_inteface eth0
virtual_router_id 51
priority 150
advert_int 1
smtp_alert
authentication {
auth_type PASS
auth_pass 1234
}
virtual_ipaddress {
10.126.1.250
}
}
####### fin /etc/keepalived/keepalived.conf ############
En le backup, pos la misma cambiando MASTER por BACKUP, cambiando la prioridad y el lvs_id.
La cosa es que las peticiones a la ip virtual solo las atiende el MASTER, cuando lo desconecto de la red, las empieza a atender el backup, asi k realmente cuando el maestro esta conectado no parece que haya balanceo :S solo tengo tengo la función de alta disponibilidad.
Otra cosilla es que si en vez de desconectarlo de la red, paro el apache, y el maestro deja de responder por el puerto 80, el de backup no toma el relevo, y el servicio falla.
alguna idea???
----- Original Message ----
From: Mikel Cortazar <mikeleghost en yahoo.com>
To: Lista de eside-ghost <eside-ghost en deusto.es>
Sent: Wednesday, October 1, 2008 9:43:22 AM
Subject: Re: [eside-ghost] Cluster en Ubuntu
Egunon!
Me habéis convencido xD Visto que no existe solución sin balanceador por encima, el keepalived parece la mejor opción si es verdad que todos atienden peticiones y que el MASTER lo único que hace de más es balancear la carga entre ellos. Aunque como ayer me abristeis los ojos recordándome (hay que se cazurro!!) que podía hacer el balanceo desde los linkProof, les echaré un ojo a ver que puedo hacer con ellos también.
En cuanto a lo de dos máquinas o máquinas virtuales, no estaba ahí el problema, si realmente todos los servidores son máquinas virtuales y los R.Proxys también lo son, están en distintos soportes hardware, pero todo está virtualizado.
Bueno, probaré el keepalived y miraré el temas de los LinkProof y os comentaré como me ha ido.
Thanks!!
----- Original Message ----
From: Jon Urionaguena <juriona en nesys-st..com>
To: Lista de eside-ghost <eside-ghost en deusto.es>
Sent: Tuesday, September 30, 2008 7:37:14 PM
Subject: Re: [eside-ghost] Cluster en Ubuntu
Hola,
La segunda solución que probaste (después de Rproxy Apache) era basada
en HAProxy y Keepalived, y qué tenía? Balanceo de carga entre
servidores (web, o lo que sea) en activo-activo con HAproxy (simil a lo
que hace Rproxy Apache) mediante un dispositivo virtual (Virtual
Router) que distribuye las peticiones web. Ese dispositivo virtual está
compuesto de dos reales que "balancean" la IP virtual entre sí en
activo-pasivo mediante Keepalived (VRRP). Con esta arquitectura tienes
la alta disponibilidad asegurada (cosa que con un Alteon (unos 20000€)
no tienes (con dos Alteones sí, pero 40000€).
Ahora, para repartirse la carga necesitas servidores web que ya los
tienes en activo-activo (HAProxy), y que por supuesto, pueden ir
creciendo hasta 3, 4, 5 o 6. Recuerda que el balanceador sólo redirige
las peticiones a los servidores, chequeando periódicamente que están
vivos (healthcheck, que depende del servicio puede ser muy complejo de
implementar).
Yo creo que lo tienes todo...
Ahora, tu problema es tener sólo dos máquinas? O no tener un servidor
de VMs? En la configuración que tenemos "sólo" hay un Virtual IP de
cara a todo el mundo... No se si lo vemos igual.
Bueno, olvídate de las máquinas virtuales y vamos con las dos reales
(en el caso del clúster es lo mínimo que necesitas...). Las
direcciones: IP1 e IP2 para cada una y VIP para el "clúster" (vamos a
llamarlo router virtual en vez de cluster y vamos a hacer que lo
gestione Keepalived en los dos). Ahora, instalamos en los dos sistemas
HAProxy y le decimos que el "pool" de servidores (o server farm) en
donde están los Apaches finales son ellos mismos: IP1 e IP2.
Tienes dos servidores web en alta disponibilidad y BALANCEO DE CARGA,
que desde el "resto del mundo" se ven como sólo una IP (la VIP), y que
se balancean mediante unos dispositivos que están en alta
disponibilidad activo-pasivo... ¿Cómo lo ves?¿Lo montas y nos cuentas?
;-)
El día que quieras crecer, añades otro servidor web y ya está...
Ya dirás,
Jon
Alvaro Marin escribió:
Mikel Cortazar escribió:
Yaya. Pero el objetivo de todo el cristo que estoy montando es que
quiero varias máquinas trabajando en paralelo y repartiéndose la carga
de trabajo entre ellas ya sean dos, tres o las que sean, que se vean
como una sola máquina y lógicamente que si se cae una que el resto sigan
funcionando, con mayor carga de trabajo cada una lógicamente pero sin
que la caída de esa máquina afecte al servicio. Nu se si me he explicado
bien :-S
Y en qué difiere eso con lo que digo? :D
Imaginemos que tienes 20 servidores web. Pones keepalived en todos. Uno
de ellos será MASTER y el resto BACKUP. El acceso a la web se hace a
través de una IP virtual (se ven las 20 como una sola máquina). Las
conexiones las trata el MASTER (balanceo de carga). Si el MASTER cae,
uno de los 19 servidores restantes coge la VIP y se convierte en MASTER
(pasa a hacer el balanceo, la caída de la primera no se ha notado y el
servicio no se ve afectado).
ai0!
split.
_______________________________________________
eside-ghost mailing list
eside-ghost en deusto.es
https://listas.deusto.es/mailman/listinfo/eside-ghost
--
Jon Urionaguena Mendizabal <juriona en nesys-st.com>
Director de Proyectos www.nesys-st.com
Tfno: 94 406 0546 Móvil: 675 610 399
GPG: 01D3 27A9 A663 C89E 3F72 2C5B 4913 E546 C4AA 2A97
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: https://listas.deusto.es/mailman/private/eside-ghost/attachments/20081024/87a7da19/attachment.htm
Más información sobre la lista de distribución eside-ghost