Piranha / Pulse, lvs.cf com persistência e falha do servidor

2

Temos a seguinte configuração:

  • RedHat 6
  • LVS configurado para falhar entre dois servidores da web
  • Persistência de conexão de 900 segundos

É uma configuração bem simples, no entanto, quando um servidor é marcado como com falha, o processo piranha / pulse / nanny marca o peso do servidor na tabela como 0 e não remove o servidor com falha. Isso significa que quaisquer conexões persistentes permanecem conectadas a um servidor com falha e o balanceamento de carga é derrotado.

Como podemos dizer à babá para forçar a saída do nó com falha, de modo que conexões persistentes falhem em um nó de trabalho?

Obrigado

Temos o seguinte lvs.cf:

serial_no = 201305302344
primary = 10.1.1.45
service = lvs
backup = 0.0.0.0
heartbeat = 1
heartbeat_port = 539
keepalive = 6
deadtime = 18
network = nat
nat_router = 10.1.1.70 eth0:1
nat_nmask = 255.255.255.0
debug_level = NONE
virtual http {
     active = 1
     address = 10.1.1.70 eth0:1
     vip_nmask = 255.255.255.0
     persistent = 900
     pmask = 255.255.255.0
     port = 80
     send = "GET / HTTP/1.0\r\n\r\n"
     expect = "HTTP/1.1 200 OK"
     use_regex = 0
     load_monitor = none
     scheduler = wlc
     protocol = tcp
     timeout = 6
     reentry = 15
     quiesce_server = 1
     server web1 {
         address = 10.1.1.51
         active = 1
         weight = 1
     }
     server web2 {
         address = 10.1.1.52
         active = 1
         weight = 1
     }
}
virtual https {
     active = 1
     address = 10.1.1.70 eth0:1
     vip_nmask = 255.255.255.0
     port = 443
     persistent = 900
     pmask = 255.255.255.0
     send = "GET / HTTP/1.0\r\n\r\n"
     expect = "up"
     use_regex = 0
     load_monitor = none
     scheduler = wlc
     protocol = tcp
     timeout = 6
     reentry = 15
     quiesce_server = 1
     server web1 {
         address = 10.1.1.51
         active = 1
         weight = 1
     }
     server web2 {
         address = 10.1.1.52
         active = 1
         weight = 1
     }
}
    
por Antitribu 11.06.2013 / 18:17

2 respostas

1

Experimente echo 1 > /proc/sys/net/ipv4/vs/expire_quiescent_template

Mais detalhes aqui:

link

    
por 11.06.2013 / 20:47
1

Você precisa acionar um script em caso de falha / recuperação de um diretor que remove / adiciona esse diretor.

Eu uso lvs-kiss para isso, que tem uma sintaxe para incluir scripts para esses casos.

    
por 11.06.2013 / 23:25