LVS routers use a collection of programs to monitor cluster members and
cluster services. Figure 7-4 illustrates how
these various programs on both the active and backup LVS routers work
together to manage the cluster.
The pulse daemon runs on both the active and passive
LVS routers. On the backup router, pulse sends a
heartbeat to the public interface of the active
router to make sure the active router is still properly functioning. On
the active router, pulse starts the
lvs daemon and responds to
heartbeat queries from the backup LVS router.
Once started, the lvs daemon calls the
ipvsadm utility to configure and maintain the IPVS
routing table in the kernel and starts a nanny
process for each configured virtual server on each real server. Each
nanny process checks the state of one configured
service on one real server, and tells the lvs daemon
if the service on that real server is malfunctioning. If a malfunction
is detected, the lvs daemon instructs
ipvsadm to remove that real server from the IPVS
routing table.
If the backup router does not receive a response from the active router,
it initiates failover by calling send_arp to reassign
all virtual IP addresses to the NIC hardware addresses
(MAC address) of the backup node, sends a command
to the active router via both the public and private network interfaces
to shut down the lvs daemon on the active router, and
starts the lvs daemon on the backup node to accept
requests for the configured virtual servers.
Section 7.6.1.1 pulse shows a detailed list of each software
component in an LVS router.
This is the controlling process which starts all other daemons
related to LVS routers. At boot time, the daemon is started by the
/etc/rc.d/init.d/pulse script. It then reads
the configuration file
/etc/sysconfig/ha/lvs.cf. On the active router,
pulse starts the LVS daemon. On the backup
router, pulse determines the health of the active
router by executing a simple heartbeat at a user-configurable
interval. If the active router fails to respond after a
user-configurable interval, it initiates failover. During failover,
pulse on the backup router instructs the
pulse daemon on the active router to shut down
all LVS services, starts the send_arp program to
reassign the floating IP addresses to the backup router's MAC
address, and starts the lvs daemon.
The lvs daemon runs on the active LVS router once
called by pulse. It reads the configuration file
/etc/sysconfig/ha/lvs.cf, calls the
ipvsadm utility to build and maintain the IPVS
routing table, and assigns a nanny process for
each configured LVS service. If nanny reports a
real server is down, lvs instructs the
ipvsadm utility to remove the real server from
the IPVS routing table.
This service updates the IPVS routing table in the kernel. The
lvs daemon sets up and administers an LVS cluster
by calling ipvsadm to add, change, or delete entries
in the IPVS routing table.
The nanny monitoring daemon runs on the active LVS
router. Through this daemon, the active router determines the health
of each real server and, optionally, monitors its workload. A separate
process runs for each service defined on each real server.
This is the LVS cluster configuration file. Directly or indirectly,
all daemons get their configuration information from this file.
This is the Web-based tool for monitoring, configuring, and
administering an LVS cluster. This is the default tool to maintain
the /etc/sysconfig/ha/lvs.cf LVS cluster
configuration file.
This program sends out ARP broadcasts when the floating IP address
changes from one node to another during failover.
Chapter 8 Initial LVS Configuration reviews important
post-installation configuration steps you should take before
configuring Red Hat Enterprise Linux to be an LVS router.