A server stack is the collection of software that forms the operational infrastructure on a given machine. In a computing context, a stack is an ordered pile. A server stack is one type of solution stack — an ordered selection of software that makes it possible to complete a particular task. Like in this post about LVS / IPVS difference in ActiveConn since upgrading was one problem in server stack that need for a solution. Below are some tips in manage your linux server when you find problem about linux, load-balancing, lvs, , .
I’ve recently migrated from an old version of LVS / ldirectord (Ultra Monkey) to a new Debian install with ldirectord.
Now the amount of Active Connections is usually higher than the amount of Inactive Connections, it used to be the other way around.
Basically on the old load balancer the connections looked something like:
-> RemoteAddress:Port Forward Weight ActiveConn InActConn -> 10.84.32.21:0 Masq 1 12 252 -> 10.84.32.22:0 Masq 1 18 368
However since migrating it to the new load balancer it looks more like:
-> RemoteAddress:Port Forward Weight ActiveConn InActConn -> 10.84.32.21:0 Masq 1 313 141 -> 10.84.32.22:0 Masq 1 276 183
Old load balancer:
- Debian 3.1
- ipvsadm 1.24
- ldirectord 1.2.3
New load balancer:
- Debian 6.0.5
- ipvsadm 1.25
- ldirectord 1.0.3 (I guess the versioning system changed)
Is it because the old load balancer was running a kernel from 2005, and ldirectord from 2004, and things have simply changed in the past 7 – 8 years?
Did I miss some sysctl settings that I should be enforcing for it to behave in the same way?
Everything appears to be working fine but can anyone see an issue with this behaviour?
Thanks in advance!
I’m using LVS in masquerading mode, the real servers have the load balancer as their gateway.
The real servers are running Apache, which hasn’t changed during the upgrade. The boxes themselves show roughly the same amount of Inactive Connections shown in ipvsadm.
I think I found the answer, ipvsadm is simply broken in Debian Squeeze.
If I compare this:
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
To the output of 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
It’s quite obvious.
The output from /proc/net/ip_vs is accurate compared to what I saw with the older Debian 3 version.
I did a search and there’s already an open bug report for it:
So it’s just a cosmetic issue, nothing to worry about apparently.