我正在试验keepalived,multipass我的配置偶尔也能正常工作。
当我重新启动我的 keepalived 服务时,Forward输出中的列会发生ipvsadm -Ln变化。
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.64.64:80 rr
-> 192.168.64.3:80 Tunnel 100 0 0
-> 192.168.64.6:80 Tunnel 100 0 0
TCP 192.168.64.65:80 rr
-> 192.168.64.3:80 Tunnel 100 0 1
-> 192.168.64.6:80 Tunnel 100 0 1
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.64.64:80 rr
-> 192.168.64.3:80 (null) 100 0 0
-> 192.168.64.6:80 (null) 100 0 0
TCP 192.168.64.65:80 rr
-> 192.168.64.3:80 (null) 100 0 1
-> 192.168.64.6:80 (null) 100 0 1
当它是(null)andLocal时,curl虚拟 ip 导致连接被拒绝。
如果是Masq,则curl虚拟 ip 不会导致输出。
当它是RouteandTunnel时,curl有效。
我无法预测它会出现哪种模式,每次重启都有不同的结果。而且(拥有路线或隧道的)成功率非常低。
这是我的配置:
virtual_server 192.168.64.64 80 {
delay_loop 5
lb_algo rr
lb_kind tun
protocol tcp
real_server 192.168.64.3 80 {
weight 100
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 192.168.64.6 80 {
weight 100
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}