HAProxy switch somente no caso de servidor inativo

10

Digamos que eu tenha 2 servidores - SA e SB. É possível configurar o HAProxy para funcionar assim:

Todas as conexões vão para SA - > SA desce - > HAProxy muda todas as conexões para SB - > até SB não está em baixo - não há conexões para SA, mesmo se for novamente - > SB para baixo - > HAProxy muda para SA ...

Em resumo, eu gostaria que o HAProxy mudasse apenas quando o servidor atual fosse desativado. Talvez eu deva usar algo mais que o HAProxy?

    
por Joe 29.01.2013 / 14:19

2 respostas

15

Confira esta configuração:

listen my-server 0.0.0.0:80
    balance roundrobin
    server web01 10.10.10.1:80 check inter 10s fall 3 rise 99999999
    server web02 10.10.10.2:80 check backup

Todas as solicitações atingirão a web01 por padrão. web02 não será usado. Se web01 parar de responder, após 30s (3 verificações em intervalos de 10 segundos), o servidor ficará offline. web02 será colocado on-line e todas as solicitações serão atingidas.

Se o web01 for recuperado, ele só será colocado novamente on-line depois que as verificações do 99999999 ocorrerem em um intervalo de 10 segundos, o que efetivamente nunca ocorrerá.

    
por 04.02.2013 / 23:45
4

Se você tem apenas dois, e exatamente dois servidores, pode fazer mais sentido usar um vip para o serviço que você gerencia via pacemaker / corosync para torná-lo altamente disponível.

É possível com o haproxy também, marcando o SB como servidor de backup. Dessa forma, só é usado quando o SA não está disponível:

backend mybackend
mode            http
balance         roundrobin
option          httpchk /test.html
server          server1.example.com server1.example.com:80 weight 1 check port 80 inter 5s rise 3 fall 2
server          server2.example.com server2.example.com:80 backup weight 1 check port 80 inter 5s rise 3 fall 2

No entanto, isso não cumpre a parte dois do que você deseja: ele começará a usar uma SA novamente assim que voltar. Não tenho certeza se há uma opção para fazer o haproxy se comportar da maneira que você quer. Eu nunca usei isso.

    
por 29.01.2013 / 14:55