failoverd(8) BSD System Manager's Manual failoverd(8)
NAME
failoverd -- Mac OS X Server IP failover detection daemon
SYNOPSIS
failoverd [-d | -n | -x] [-p port] master_priv_addr interface:pub_addr[/mask] ... failoverd [-h | -v]
DESCRIPTION
failoverd tracks another host's availability on the network. Upon detec- tion of a failure, failoverd will take over the master host's public IP addresses, maintaining service availability to incoming clients. In typical usage, failoverd is launched during the boot process by the IPFailover startup item if the appropriate fields - FAILOVER_PEER_IP and FAILOVER_PEER_IP_PAIRS - are defined in /etc/hostconfig. Upon launch, failoverd checks it argument list, moves to the background, and listens for messages from heartbeatd(8). When a failure is detected or recovered from, failoverd invokes NotifyFailover(8) to notify the administrator and ProcessFailover(8) to aquire or release the monitored IP addresses. The command-line arguments consist of optional arguments, the master's private address, and one or more interface / address / mask triplets. The private address, master_priv_addr, is one of the master's IP addresses that will not be acquired by the backup and is used to communi- cate the master's status to the backup. Each triplet defines one of the master's publicly accessible IP addresses that the backup will assume upon the master's failure. The triplets are passed to ProcessFailover(8) to acquire or release the given addresses in the event of a failure or recovery. A triplet is composed of the following elements: interface The networking interface name, as used by ifconfig(8), e.g. "en0". pub_addr One of the master's publicly accessible IPv4 addresses, in properly formatted dotted decimal notation. mask An optional CIDR mask value passed to ifconfig(8). As noted in the description for the alias parameter in ifconfig(8), if the given pub_addr is on the same subnet as the first network address for the target interface, the mask must be "/32" or left blank.
OPTIONS
The following options are available: -d --debug Do not move to background and print log strings to the terminal. -h --help Print usage summary and exit. -L facility Enable logging to syslog(8) using the specified facility. The following values for facility are sup- ported: daemon (the default), auth, user, local[0-7]. (See syslog.conf(5) for their meanings.) This is equivalent to --syslog. --no-fork Do not move to background. This is equivalent to -x. -n --no-run Do not move to background, print log information to the terminal, and quit after reading the configuration file. This validates the configuration of hardware and software. -p port --port=port Listen on the specified port instead of the default, 1694. This must match the port used by the master node's invocation of heartbeatd(8). --syslog=facility Enable logging to syslog(8) using the specified facility. The following values for facility are sup- ported: daemon (the default), auth, user, local[0-7]. (See syslog.conf(5) for their meanings.) This is equivalent to -L. -v --version Print build version and exit. -x Do not move to background. This is equivalent to --no-fork.
ENVIRONMENT
The following environment varaibles will be converted to failoverd com- mand-line arguments by /System/Library/StartupItems/IPFailover when it invokes failoverd: FAILOVER_PEER_IP A single IP address passed to failoverd as the master_priv_addr argument. FAILOVER_PEER_IP_PAIRS A quoted, space-separated list of interface:pub_addr[/mask] triplets passed as command-line arguments to failoverd. (The inappropriate "PAIRS" name is histori- cal; the optional mask parameter was not previously allowed.)
FILES & FOLDERS
/usr/sbin/failoverd /etc/hostconfig /System/Library/StartupItems/IPFailover /Library/IPFailover
EXAMPLES
A simple invocation would be failoverd 10.100.0.100 en0:192.13.2.2 In this example, the backup computer would monitor the master with the private IP address of 10.100.0.100 and will add the master's public IP address, 192.13.2.2, onto the backup's en0 interface if the master fails. A more complicated invocation for a multi-port machine hosting multiple virtual IP addresses might be failoverd 10.100.0.10 en0:192.13.2.2/16 en1:1.2.3.4/24 The latter invocation, along with a different email address, would typi- cally be defined in /etc/hostconfig as FAILOVER_PEER_IP=10.100.0.10 FAILOVER_PEER_IP_PAIRS="en0:192.13.2.2/16 en1:1.2.3.4/24" FAILOVER_EMAIL_RECIPIENT=failure_notifications@groups.example.com
DIAGNOSTICS
The failoverd utility exits 0 on success, and >0 if an error occurs. Events that may be of interest to the administrator are logged via syslogd(8). If a pub_addr is unreachable after a failover has taken place, verify that the mask argument was properly specified. failoverd must be executed as root. Because failoverd controls system- wide resources, it must be executed by the root user. Invalid port. Valid ports range from 1 to 65535 (IPV6PORT_ANONMAX). Invalid syslog facility. An invalid syslog facility name was used. Please see the description for the -L option, above. CNode: invalid IP address One of the IP address arguments (master_priv_addr or the pub_addr portion of one of the interface:pub_addr[/mask] triplets) did not resolve to an IP address. Invalid interface / IP address pair One of the command-line arguments that should be a interface:pub_addr[/mask] triplet is not properly for- matted. CNode: invalid interface name The interface portion of one of the interface:pub_addr[/mask] triplets is not a valid interface for this com- puter.
SEE ALSO
NotifyFailover(8), ProcessFailover(8), heartbeatd(8), ifconfig(8), syslogd(8)
HISTORY
A version of failoverd has been present in Mac OS X Server since version 10.2 (Jaguar).
KNOWN ISSUES
failoverd only verifies that the monitored addresses are properly formed IP addresses. The transparency of availabilty is noticeable only for short-lived proto- cols, such as HTTP, DNS, and possibly POP and NFS. Services which use persistent connections, (such as FTP, Apple File Sharing, Windows File Sharing, and IMAP) will notice interruptions. Configuring your nodes to support IP Failover is a non-trivial task and not to be taken lightly! Significant data loss or corruption may result from poorly configured systems. Mac OS X Server March 1, 2005 Mac OS X Server
Mac OS X 10.6Server - Generated Thu Apr 15 07:13:02 CDT 2010