Ultra Monkey: High Availability and Load Balancing Solution for Linux [Monkey]
English | Japanese
Top | About | Mirrors | History | Contacts
News Archive | Papers | Ultra Monkey L7 [offsite]

2.0.1 : Linux Virtual Server | Heartbeat | Ldirectord | Installation | Topologies

The Linux Virtual Server

The Linux Virtual Server (LVS) enables the multiplexing of incoming TCP/IP connections and UDP/IP datagrams to real servers. This mechanism of connection control is often referred to as Layer 4 Switching.

Packets are received for a virtual service by the Linux Director. The scheduling algorithm decides which which real server to send the packet to. Once this decision is made subsequent packets to for the same connection will be sent to the same real server. Thus the integrity of the connection is maintained. Optionally, a service can be marked as persistent. When this is done all connections from a host will be forwarded to the same real server. This is useful for applications such as FTP where end users should consistently be directed to the same real server to ensure integrity of data connections.

Virtual Services

On the Linux Director a virtual service is defined by either an IP Address, port and protocol, or a Firewall-Mark.

Scheduling Algorithm

The virtual service is assigned a scheduling algorithm to use to allocate incoming connections to the real servers. There are many different sheduling algorithms available:

Packet Forwarding

The Linux Virtual Server has three different ways of forwarding packets: Network Address Translation (NAT), IP-IP encapsulation or tunnelling and Direct Routing.

Real Servers

The real servers belong to a virtual server and are defined by an IP address, a port and optionally a weight if the weighted least connected or weighted round robin scheduling algorithms are in use. In general, the port of the real servers must be the same as that of the virtual service. If firewall-mark virtual services are used then the port that an incoming connection is received on will be the port that the connection is forward to on the real server, that is the port specification for the real server is not used. The health of the real servers may be monitored using ldirectord.

Copyright © 2000-2005, Horms
Last Updated: Tue May 17 17:37:24 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.