[lvs-users] ipvsadm problem

Dmitry Akindinov dimak at stalker.com
Fri Aug 24 13:58:54 BST 2012


On 2012-08-24 15:54, Graeme Fowler wrote:
> On Fri, 2012-08-24 at 15:33 +0400, Dmitry Akindinov wrote:
>> We are facing a problem with ipvsadm.
> <snip>
> This sounds very much like a problem I resolved some years ago with a
> two-node system like yours.
> In that case, I put additional rules or logic into the iptables ruleset
> to make sure that packets with a source MAC address of the other node in
> the system didn't get the fwmark applied, thus missed the ipvs rules,
> and got handled by the local application.
> For example, in the theoretical 2-node system we have a single VIP, then
> 2 nodes RIP1 + MAC1, RIP2 + MAC2.
> iptables rule for port 143:
> On Node 1:
> -A PREROUTING -d $VIP -p tcp -m tcp --dport 143 \
>     -m mac ! --mac-source $MAC2 -j MARK --set-mark 0x6
> On node 2:
> -A PREROUTING -d $VIP -p tcp -m tcp --dport 143 \
>     -m mac ! --mac-source $MAC1 -j MARK --set-mark 0x6
> This ensured in my case that the two nodes (which were both live at the
> same time) didn't end up sending traffic round and round in a circle
> between the two nodes.
> It *may* help in your case also.

Thank you for the tip. We will definitely try it out, but the thing is 
that the "old" balancer has an empty ipvs rule set: it is emptied when 
the failover takes place.
It looks like the problem is not in the ipvs rules, but in the ipvs 
"connection table" that it gets from the "active" balancer via the 
syncing daemon: as soon as we stop the syncing daemon, the problem 

The connection table looks correct: it does show that this particular 
connection is directed to this particular server (the "inactive" 
balancer), so it is unclear how a copy of the ipvs connection table from 
the active balancer can make the "inactive" balancer drop the packets.
And - it looks like it drops the packets when the connecting client 
sends some data first (as with the HTTP protocol). We get teh problem 
more often when the server sends its data (a prompt) first.

> Graeme
> _______________________________________________
> Please read the documentation before posting - it's available at:
> http://www.linuxvirtualserver.org/
> LinuxVirtualServer.org mailing list - lvs-users at LinuxVirtualServer.org
> Send requests to lvs-users-request at LinuxVirtualServer.org
> or go to http://lists.graemef.net/mailman/listinfo/lvs-users

Best regards,
Dmitry Akindinov

More information about the lvs-users mailing list