> conntrackd permit to also share TCP states between boxes that will
> also run iptables

With conntrackd-syncing you just allow the packet to pass the iptables
barrier; but the session will still be dropped by the OS because the
TCP stack doesn't know the socket, and so does not the application.

To do this you would need something like TCP connection repair [1], but
that requires support in both the kernel and userspace. While this crazy
feature seems to have made it into the 3.5 kernel, I'm not aware that
this is supported in haproxy.

In fact, while rethinking, I'm not sure TCP connection repair can be used
for failover anyway, its just a technology to move the TCP session from one
host to another gracefully, but it requires both hosts to be alive afaik -
so it doesn't make sense for failover.



> HAProxy can share as of 1.5 its connection table, which is really a
> appreciated feature :) 

HAProxy can share stick-tables [2], but that doesn't mean you can
implement stateful failover.


If you want to do this with haproxy, you will probably need to drop the
idea of stateful failover, imho, no user-space software can accomplish
this.

On the other side, if maintaining the TCP sessions when a failover occurs
is a requirement for you, you should stick to LVS + conntrack syncing,
as thats probably possible. Of course you can work only up to
Layer 4 and won't see the application Layer on your load-balancer.


Lukas


[1] https://lwn.net/Articles/495304/
[2] http://cbonte.github.com/haproxy-dconv/configuration-1.5.html#3.5           
                          

Reply via email to