Realserver affinity failover should be possible in Redhat load balancer

Posted on

Realserver affinity failover should be possible in Redhat load balancer

We use RH Load balancer (LVS / IPVS / Pulse / Piranha) for quite a lot of applications in our organisation. We use it to create active / active clusters of almost all applications, using "persistent" for applications which are not cluster-aware by nature.

The software is pretty old, the project seems all but abandoned, but there are still some features missing.

One of those features is the affinity with the realserver at a (controlled) failover.

In short, the feature I'd like to see implemented is that when issuing a "service pulse stop", the currently active sessions are transferred to the backup pulse process on some other node. When this backup switches to master, it should know what sessions the other node had, and continue to route clients to the realserver they were using.

Ofcourse, this is only applicable to virtual servers having "persistent" set. It saves the users from having to re-login after an LVS failover.

There should also be a limit set; if you have a client - realserver mapping of several 1000's of clients, the transfer could take too long, and the virtual server is offline for too long.

There is a possibility to try this for an automatic failover, but usually, the reason for an unplanned failover is that there is no network connectivity between the master and the backup node. A attempt to transfer anything would be very prone to failing.