The project Linux Virtual Server is aimed to
"Build a high-performance and highly available server for Linux using clustering technology, which provides good scalability, reliability and serviceability."
The LVS cluster system is also known as load balancing server cluster.
The Linux Virtual Server is a highly scalable and highly available server built on a cluster of real servers, with the load balancer running on the Linux operating system. The architecture of the server cluster is fully transparent to end users, and the users interact as if it were a single high-performance virtual server.
The Linux Virtual Server as an advanced load balancing solution can be used to build highly scalable and highly available network services, such as scalable web, cache, mail, ftp, media and VoIP services.
The LVS load balancing here can be a Layer-4 switching (Load Balancing) or a layer-7 switching (Load Balancing).
Layer-4 load balancing is to distribute requests to the servers at transport layer, such as TCP, UDP and SCTP transport protocol. The load balancer distributes network connections from clients who know a single IP address for a service, to a set of servers that actually perform the work. Since connection must be established between client and server in connection-oriented transport before sending the request content, the load balancer usually selects a server without looking at the content of the request. Layer-4 load balancing can also be used to balance traffic at mutliple Internet access links, in order to increase Internet access speed.
IPVS is an implementation of layer-4 load balancing for the Linux kernel and ipvsadm is the utility used to create,list and edit IP Virtual Servers.
Layer-7 load balancing, also known as application-level load balancing, is to parse requests in application layer and distribute requests to servers based on different types of request contents, so that it can provide quality of service requirements for different types of contents and improve overall cluster performance. The overhead of parsing requests in application layer is high, thus its scalability is limited, compared to layer-4 load balancing.
KTCPVS is an implementation of layer-7 load balancing for the Linux kernel. With the appropriate modules, the Apache, Lighttpd and nginx web servers can also provide layer-7 load balancing as a reverse proxy.
tcpvsadm is the utility to admin KTCPVS
TCPSplicing and TCP Handoff are sub projects of LVS implementing Layer-7 load balancing.
For more information and great configuration articles and related downloads visit Linux Virtual Server