IPVS (keepalived) não equilibra conexões UDP

2

Eu tenho dois balanceadores de carga com o Debian 8 e três servidores Graylog com o Debian 9.

Cada servidor na minha rede envia logs via rsyslog para um servidor virtual configurado no LB. A conexão é UDP.

O problema é que os pacotes não são balanceados . (todas as conexões vão no primeiro servidor real da lista)

Em caso de failover, os pacotes são enviados corretamente para os outros servidores reais.

A única maneira que encontrei para reequilibrar a conexão é remover todos os servidores reais do LB e reiniciar o serviço keepalived.

Eu já estou ligado ao set:

ipvsadm --set 0 0 1
Timeout (tcp tcpfin udp): 900 120 1

Eu já defini essas duas variáveis:

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

O IPVS é configurado da seguinte forma:

vrrp_instance logserver {
    state MASTER
    interface eth0
    virtual_router_id 195
    priority 200
    advert_int 1
    authentication {
        auth_type keepalived
        auth_pass xxxxxx
    }
    virtual_ipaddress {
        10.20.20.195/22
    }
}


virtual_server 10.20.20.195 0 {
    delay_loop 60
    protocol UDP
    lb_algo wrr
    lb_kind DR
    persistence_timeout 30

    real_server 10.20.20.196 0 {
        weight 100
        MISC_CHECK {
                connect_timeout 3
                misc_path "/etc/keepalived/checkgraylog 10.20.20.196"
        }
    }

    real_server 10.20.20.197 0 {
       weight 100
        MISC_CHECK {
                connect_timeout 3
                misc_path "/etc/keepalived/checkgraylog 10.20.20.197"
        }
    }

    real_server 10.20.20.198 0 {
       weight 100
        MISC_CHECK {
                connect_timeout 3
                misc_path "/etc/keepalived/checkgraylog 10.20.20.198"
        }    } }

Existe uma maneira de balancear efetivamente a conexão UDP com o Roteamento Direto? Obrigado

    
por ottagono 10.08.2018 / 13:02

0 respostas