sugestões de sincronização de conexão com o HAproxy e keepalived

4

Eu consegui fazer o HAproxy funcionar em uma configuração de failover, como sugerido no arquitetura.txt documento usando keepalived.

Eu usei o CentOS 5.5, o HAproxy rpm (haproxy-1.3.25-1.el5) da epel repo e mantive o rpm (keepalived-1.1.15-0.el5.centos) do repositório de testes do CentOS.

Esta é minha configuração keepalived

vrrp_script chk_haproxy {           # Requires keepalived-1.1.13
    script "killall -0 haproxy"     # cheaper than pidof
    interval 2                      # check every 2 seconds
    weight 2                        # add 2 points of prio if OK
}

vrrp_instance VI_1 {
    interface eth0
    state MASTER
    virtual_router_id 51
    priority 101                    # 101 on master, 100 on backup
    virtual_ipaddress {
    10.0.0.30            
    10.0.0.31            
    }
    track_script {
        chk_haproxy
    }
}

O que eu gostaria agora é que meu nó de backup seja capaz de assumir as conexões reais abertas quando o mestre estiver falhando.

Ouvi dizer que isso pode ser feito de várias maneiras (conntrackd), usando recursos LVS, etc ... Gostaria de ter sugestões sobre a maneira mais simples e robusta de consegui-lo, usando os rpms disponíveis seria melhor.

Obrigado G

    
por golemwashere 14.08.2010 / 15:38

1 resposta

1
A opção

lvs_sync_daemon_inteface permite ao MASTER salvar o estado da conexão e sincronizá-lo com o BACKUP. Tente isto:

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    lvs_sync_daemon_interface eth0
    virtual_router_id 51
    priority 101                    # 101 on master, 100 on backup
    virtual_ipaddress {
    10.0.0.30            
    10.0.0.31            
    }
    track_script {
        chk_haproxy
    }
}
    
por 12.08.2012 / 19:04