Re: [CentOS-es] HAproxy Keepalived

2009-11-25 Por tema Santi Saez
El 24/11/09 21:17, Mauricio Cesar Ramirez Torres escribió:

 Pues ayer estuve realice los cambios que me comentas y nada ... ahora no
 me queda muy claro a que te refieres con que tengo que tener la ip
 virtual en una interfaz loopback??? a lo que te refieres es que debo de
 escuchar las 2 ip's??? porque si yo hago
 $ip addr sh eth0

 me muestra las 2 ip's la real y la virtual, esto en ambos balanceadores,
 ahora si yo hago por ejemplo un ping a la ip virtual si me responde y si
 me conecto por ssh solicitando la ip virtual también me conecto, siempre
 al servidor de mas prioridad, pero si quiero entrar a mi servicio web no
 puedo :(

¿Estás utilizando LVS-NAT o LVS-DR? Esto es muy importante :)

Como te decía, si estás utilizando Direct-Routing [1], necesitas que la 
VIP esté configurada en una interfaz loopback y hacerla non-ARP, tienes 
mas información sobre este método de balanceo en:

[1] http://www.linuxvirtualserver.org/VS-DRouting.html

Si ves complicada la cosa para hacerlo con Keepalived, te recomiendo que 
utilices el interfaz web de Red Hat para balanceadores piranha:

(..)
Various tools to administer and configure the Linux Virtual Server as 
well as heartbeating and failover components.  The LVS is a dynamically 
adjusted kernel routing mechanism that provides load balancing primarily 
for web and ftp servers though other services are supported.
(..)

Podrás hacer prácticamente lo mismo que con Keepalived, de forma muy 
sencilla desde un interfaz web: balanceo + failover del master.

Saludos,

-- 
Santi Saez
http://woop.es
___
CentOS-es mailing list
CentOS-es@centos.org
http://lists.centos.org/mailman/listinfo/centos-es


Re: [CentOS-es] HAproxy Keepalived

2009-11-24 Por tema Mauricio Cesar Ramirez Torres
Santi Saez escribió:
 El 19/11/09 20:08, Mauricio Cesar Ramirez Torres escribió:
 
 Hola!
 
 ya probé incluso cambiando de distribución (ubuntu, Debian y CentOS)
 pero el resultado es el mismo y ese es mi problema, cuando enciendo el
 servicio lo puedo ver y me alterna las peticiones a cada servidor web,
 si apago un servidor web dirige toda la carga al que queda encendido, de
 igual forma si apago un balanceador, pero mi problema es que solo veo
 el servicio desde los balanceadores, si trato de acceder desde otro
 equipo no puedo, tarda un buen tiempo tratando de conectarse y se corta
 por tiempo excedido.
 
 Por lo que comentas posiblemente sea un problema de ARP, estas 
 utilizando LVS-DR, ¿verdad?
 
 Si utilizas DR, tienes que configurar la VIP en un interfaz loopback y 
 despúes debes configurar arp_ignore y arp_announce vía sysctl del 
 siguiente modo:
 
 net/ipv4/conf/eth0/arp_ignore = 1
 net/ipv4/conf/eth0/arp_announce = 2
 net/ipv4/ip_forward=1
 
 Haz estos cambios y luegos nos cuentas si ya puedes ver la VIP desde 
 cualquier sitio ;-)
 
 Saludos!
 
Pues ayer estuve realice los cambios que me comentas y nada ... ahora no
me queda muy claro a que te refieres con que tengo que tener la ip
virtual en una interfaz loopback??? a lo que te refieres es que debo de
escuchar las 2 ip's??? porque si yo hago
$ip addr sh eth0

me muestra las 2 ip's la real y la virtual, esto en ambos balanceadores,
ahora si yo hago por ejemplo un ping a la ip virtual si me responde y si
me conecto por ssh solicitando la ip virtual también me conecto, siempre
al servidor de mas prioridad, pero si quiero entrar a mi servicio web no
puedo :(

Saludos y gracias.


-- 
Atte.

Mauricio César Ramírez Torres.

___
CentOS-es mailing list
CentOS-es@centos.org
http://lists.centos.org/mailman/listinfo/centos-es


Re: [CentOS-es] HAproxy Keepalived

2009-11-23 Por tema Santi Saez
El 19/11/09 20:08, Mauricio Cesar Ramirez Torres escribió:

Hola!

 ya probé incluso cambiando de distribución (ubuntu, Debian y CentOS)
 pero el resultado es el mismo y ese es mi problema, cuando enciendo el
 servicio lo puedo ver y me alterna las peticiones a cada servidor web,
 si apago un servidor web dirige toda la carga al que queda encendido, de
 igual forma si apago un balanceador, pero mi problema es que solo veo
 el servicio desde los balanceadores, si trato de acceder desde otro
 equipo no puedo, tarda un buen tiempo tratando de conectarse y se corta
 por tiempo excedido.

Por lo que comentas posiblemente sea un problema de ARP, estas 
utilizando LVS-DR, ¿verdad?

Si utilizas DR, tienes que configurar la VIP en un interfaz loopback y 
despúes debes configurar arp_ignore y arp_announce vía sysctl del 
siguiente modo:

net/ipv4/conf/eth0/arp_ignore = 1
net/ipv4/conf/eth0/arp_announce = 2
net/ipv4/ip_forward=1

Haz estos cambios y luegos nos cuentas si ya puedes ver la VIP desde 
cualquier sitio ;-)

Saludos!

-- 
Santi Saez
http://woop.es
___
CentOS-es mailing list
CentOS-es@centos.org
http://lists.centos.org/mailman/listinfo/centos-es


[CentOS-es] HAproxy Keepalived

2009-11-19 Por tema Mauricio Cesar Ramirez Torres
Buen día, estoy intentando hacer un sitio web de alta disponibilidad,
para eso leí un poco y opte por haproxy y keepalived, trate de seguir
varios manuales, pero no obtuve buen resultado, así que los mezcle un
poco, pero solo con algunas mejorías, la idea general es algo así:

2 balanceadores lb1 y lb2
2 servidores web serv1 y serv2

una ip que comparten los 2 balanceadores (1.98)

si hago ip addr sh eth0 en ambos balanceadores me muestra la ip que
tienen y también la 1.98.

ya probé incluso cambiando de distribución (ubuntu, Debian y CentOS)
pero el resultado es el mismo y ese es mi problema, cuando enciendo el
servicio lo puedo ver y me alterna las peticiones a cada servidor web,
si apago un servidor web dirige toda la carga al que queda encendido, de
igual forma si apago un balanceador, pero mi problema es que solo veo
el servicio desde los balanceadores, si trato de acceder desde otro
equipo no puedo, tarda un buen tiempo tratando de conectarse y se corta
por tiempo excedido.

abajo están mis configuraciones, agradezco sus comentarios.

haproxy.cfg

global
log 127.0.0.1   local0
log 127.0.0.1   local1 notice
maxconn 4096
user haproxy
group haproxy

defaults
log global
modehttp
option  httplog
option  dontlognull
retries 3
maxconn 2000
contimeout  5000
clitimeout  5
srvtimeout  5

listen webfarm 192.168.1.98:80
   mode http
   stats enable
   balance roundrobin
   option httpclose
   option forwardfor
   server webA 192.168.1.86:80 cookie A check
   server webB 192.168.1.85:80 cookie B check

# en la linea server webA .. también intente cambiar la etiqueta
webA por el nombre completo del server pero no hubo ningún cambio,
supongo que es solo una etiqueta cierto

--

keepalived.conf

global_defs {
# quite premeditadamente la sección de notificación por correo
  smtp_connect_timeout 30
  lvs_id LVS_MAIN
}
virtual_server 192.168.1.98 80 {
delay_loop 30
lb_algo wrr
lb_kind NAT
persistence_timeout 50
protocol TCP
real_server 192.168.1.86 80 {
   weight 1
   TCP_CHECK {
  connect_port 80
  connect_timeout 3
  nb_get_retry 3
  delay_before_retry 2
  }
   }
real_server 192.168.1.85 80 {
   weight 2
   TCP_CHECK {
   connect_port 80
   connect_timeout 3
   nb_get_retry 3
   delay_before_retry 2
}
}
}
vrrp_script chk_haproxy {
   script killall -0 haproxy
   interval 2
   weight 2
}
vrrp_instance VI_1 { --- VI_2 en el secundario
state MASTER  -- este es substituido en el secundario por BACKUP
interface eth0
virtual_router_id 51
priority 101  prioridad mas baja en el secundario
advert_int 1
virtual_ipaddress {
192.168.1.98
}
track_script {
chk_haproxy
}
}
___
CentOS-es mailing list
CentOS-es@centos.org
http://lists.centos.org/mailman/listinfo/centos-es