我最近从旧版本的 LVS / ldirectord(Ultra Monkey)迁移到带有 ldirectord 的新 Debian 安装。
现在,活动连接的数量通常高于非活动连接的数量,以前情况恰恰相反。
基本上,在旧的负载均衡器上,连接看起来像这样:
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
-> 10.84.32.21:0 Masq 1 12 252
-> 10.84.32.22:0 Masq 1 18 368
然而,自从将其迁移到新的负载均衡器后,它看起来更像这样:
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
-> 10.84.32.21:0 Masq 1 313 141
-> 10.84.32.22:0 Masq 1 276 183
旧负载均衡器:
- Debian 3.1
- ipvsadm 1.24
- ldirectord 1.2.3
新的负载均衡器:
- Debian 6.0.5
- ipvsadm 1.25
- ldirectord 1.0.3(我猜版本系统已经改变了)
是不是因为旧的负载平衡器运行的是 2005 年的内核,ldirectord 运行的是 2004 年的内核,而在过去 7-8 年里情况发生了变化?
我是否错过了一些应该强制执行的 sysctl 设置,以使其以相同的方式运行?
一切似乎都运行良好,但有人能看到这种行为存在问题吗?
提前致谢!
附加信息:我在伪装模式下使用 LVS,真实服务器将负载平衡器作为其网关。真实服务器正在运行 Apache,它在升级期间没有变化。框本身显示的非活动连接数量与 ipvsadm 中显示的数量大致相同。
答案1
我想我找到了答案,ipvsadm 在 Debian Squeeze 中根本就坏了。
如果我比较一下:
root@<host>:~# cat /proc/net/ip_vs
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
FWM 00000001 wlc persistent 450000 FFFFFF00
-> 0A542015:0000 Masq 1 19 171
-> 0A542016:0000 Masq 1 16 274
ipvsadm 的输出如下:
root@<host>:~# ipvsadm -L
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
FWM 1 wlc persistent 1800 mask 255.255.255.0
-> 10.84.32.21:0 Masq 1 384 182
-> 10.84.32.22:0 Masq 1 245 283
这是很明显的。
与我看到的旧版 Debian 3 相比,/proc/net/ip_vs 的输出是准确的。
我进行了搜索,发现已经有一个未解决的错误报告: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=295537
所以这只是一个外观问题,显然没什么可担心的。