The Linux Virtual Server Project (LVS) allows the Linux Kernel to load balance TCP and UDP services. The host running LVS is referred to the Linux Director. All connections for load balanced services are forwarded by the Linux Director.
This system can be made highly available by having a standby linux director that can take over when a failure occurs or system maintenance is necessary. However, when failover occurs existing connections are broken as the standby does not know about them. Connection Synchronisation attempts to resolve this problem by sharing session information between active and stand-by directors.
If linux directors are stable and are taken down for system maintenance infrequently, then the standby is idle for much of the time. This is arguably a waste of resources. Also, the throughput of the cluster is limited by that of the linux director. By having multiple linux directors in an active-active configuration these problems can be alleviated.
This paper presents an implementation of active-active linux directors as well as significant enhancements to the connection synchronisation capabilities of LVS. These imeplementations should be considered as work in progress. It is intended for a technical audience that is interested in building large internet sites.
Presented at LCA 2004, January 2004, Adelaide, Australia.
|Paper:||PDF Postscript, Latex Source.|
|Slides:||PDF Postscript, Latex Source.|
|New Software:||Saru, ip_vs_user_sync.|
Copyright © 2000-2005,
Last Updated: Tue May 17 17:37:22 2005 +0900
Debian is a registered trademark of Software in the Public Interest, Inc.
Red Hat, the Red Hat Shadowman logo and Fedora are registered trademarks of Red Hat, Inc.
Red Hat may also be refered to as RedHat on this site.
Linux is a registered trademark of Linus Torvalds.
All other trademarks are the property of their respective owners.