Installation guide
Chapter 7. Linux Virtual Server Overview 89
cluster to serve both of these roles simultaneously.
The third tier in the above example does not have to use Red Hat Cluster Manager, but
failing to use a highly available solution would introduce a critical single point of failure.
7.3. LVS Scheduling Overview
One of the advantages of using an LVS cluster is its ability to perform flexible, IP-level load
balancing on the real server pool. This flexibility is due to the variety of scheduling algo-
rithms an administrator can choose from when configuring a cluster. LVS load balancing
is superior to less flexible methods, such as Round-Robin DNS where the hierarchical na-
ture of DNS and the caching by client machines can lead to load imbalances. Additionally,
the low-level filtering employed by the LVS router has advantages over application-level
request forwarding because balancing loads at the network packet level causes minimal
computational overhead and allows for greater scalability.
Using scheduling, the active router can take into account the real servers’ activity and, op-
tionally, an administrator-assigned weight factor when routing service requests. Using as-
signed weights gives arbitrary priorities to individual machines. Using this form of schedul-
ing, it is possible to create a group of real servers using a variety of hardware and software
combinations and the active router can evenly load each real server.
The scheduling mechanism for an LVS cluster is provided by a collection of kernel patches
called IP Virtual Server or IPVS modules. These modules enable layer 4 (L4) transport
layer switching, which is designed to work well with multiple servers on a single IP ad-
dress.
To track and route packets to the real servers efficiently, IPVS builds an IPVS table in the
kernel. This table is used by the active LVS router to redirect requests from a virtual server
address to and returning from real servers in the pool. The IPVS table is constantly updated
by a utility called ipvsadm — adding and removing cluster members depending on their
availability.
7.3.1. Scheduling Algorithms
The structure that the IPVS table takes depends on the scheduling algorithm that the admin-
istrator chooses for any given virtual server. To allow for maximum flexibility in the types
of services you can cluster and how these services are scheduled, Red Hat Enterprise Linux
provides the following scheduling algorithms listed below. For instructions on how to as-
sign scheduling algorithms refer to Section 10.6.1 The VIRTUAL SERVER Subsection.
Round-Robin Scheduling
Distributes each request sequentially around the pool of real servers. Using this algo-
rithm, all the real servers are treated as equals without regard to capacity or load. This
scheduling model resembles round-robin DNS but is more granular due to the fact