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.