Installation guide
dynamic scheduling algorithm, making it a better choice if there is a high degree of variation in
the request load. It is best suited for a real server pool where each member node has roughly
the same capacity. If a group of servers have different capabilities, weighted least-connection
scheduling is a better choice.
Weighted Least-Connections (default)
Distributes more requests to servers with fewer active connections relative to their capacities.
Capacity is indicated by a user-assigned weight, which is then adjusted upward or downward
by dynamic load information. The addition of weighting makes this algorithm ideal when the real
server pool contains hardware of varying capacity. Refer to Section 1.3.2, “Server Weight and
Scheduling” for more on weighting real servers.
Locality-Based Least-Connection Scheduling
Distributes more requests to servers with fewer active connections relative to their destination
IPs. T his algorithm is designed for use in a proxy-cache server cluster. It routes the packets for
an IP address to the server for that address unless that server is above its capacity and has a
server in its half load, in which case it assigns the IP address to the least loaded real server.
Locality-Based Least-Connection Scheduling with Replication Scheduling
Distributes more requests to servers with fewer active connections relative to their destination
IPs. T his algorithm is also designed for use in a proxy-cache server cluster. It differs from
Locality-Based Least-Connection Scheduling by mapping the target IP address to a subset of
real server nodes. Requests are then routed to the server in this subset with the lowest
number of connections. If all the nodes for the destination IP are above capacity, it replicates a
new server for that destination IP address by adding the real server with the least connections
from the overall pool of real servers to the subset of real servers for that destination IP. The
most loaded node is then dropped from the real server subset to prevent over-replication.
Destination Hash Scheduling
Distributes requests to the pool of real servers by looking up the destination IP in a static hash
table. This algorithm is designed for use in a proxy-cache server cluster.
Source Hash Scheduling
Distributes requests to the pool of real servers by looking up the source IP in a static hash
table. This algorithm is designed for LVS routers with multiple firewalls.
1.3.2. Server Weight and Scheduling
The administrator of LVS can assign a weight to each node in the real server pool. T his weight is an
integer value which is factored into any weight-aware scheduling algorithms (such as weighted least-
connections) and helps the LVS router more evenly load hardware with different capabilities.
Weights work as a ratio relative to one another. For instance, if one real server has a weight of 1 and the
other server has a weight of 5, then the server with a weight of 5 gets 5 connections for every 1
connection the other server gets. T he default value for a real server weight is 1.
Although adding weight to varying hardware configurations in a real server pool can help load-balance
the cluster more efficiently, it can cause temporary imbalances when a real server is introduced to the
real server pool and the virtual server is scheduled using weighted least-connections. For example,
Chapter 1. Linux Virtual Server Overview
13