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
Tags rsyslog linux udp lvs keepalived