NAME
ucarp — Automatic IP failover
SYNOPSIS
ucarp [-i, --interface=INTERFACE] [-s, --srcip=IPADDRESS]
[-v, --vhid=VHID] [-p, --pass=PASSWORD] [-o, --passfile=PASSFILE]
[-P, --preempt] [-n, --neutral] [-a, --addr=IPADDR] [-h, --help]
[-b, --advbase=SECS] [-k, --advskew=SKEW] [-u, --upscript=SCRIPT]
[-d, --downscript=SCRIPT] [-r, --deadratio=RATIO] [-z, --shutdown]
[-B, --daemonize] [-f, --facility=FACILITY] [-x, --xparam PARAM]
[-S, --ignoreifstate] [-M, --nomcast]
DESCRIPTION
ucarp allows a pair of hosts to share common IP addresses in order to
provide automatic failover of an address from one machine to another.
It is a portable userland implementation of the secure and patent-free
Common Address Redundancy Protocol, (CARP), OpenBSD’s alternative to
VRRP.
OPTIONS
ucarp supports the following command line options:
-i INTERFACE --interface=INTERFACE
The network interface to bind to.
-s IPADDRESS --srcip=IPADDRESS
The persistent source address, (real IP), associated with
this interface.
-v VHID --vhid=VHID
The id of the virtual server [1-255].
-p PASSWORD --pass=PASSWORD
The shared password, (this gets encrypted and is not sent in
the clear).
-o PASSFILE --passfile=PASSFILE
File to read the shared password from. The file specified
should contain the password on the first line of the file.
-P --preempt
Turn on preemptive failover. This causes an instance of ucarp
to assume master status right immediately.
-n --neutral
Do not run the downscript on startup when the initial state
is backup.
-a IPADDRESS --addr=IPADDRESS
The IP address of the virtual server.
-h --help Display a brief summary of the command line options.
-b SECONDS --advbase=SECONDS
Interval in seconds that advertisements will occur, (defaults
to 1 second).
-k SKEW --advskew=SKEW
Advertisement skew [1-255], (defaults to 0).
-u COMMAND --upscript=COMMAND
Specifies the command to run after ucarp has successfully
become master, the interface name gets passed as an argument.
Typically a script used to bring up the virtual address, log
the result, add routes, clear arp cache entries, etc.
-d COMMAND --downscript=COMMAND
Specifies the command that is run after ucarp has
transitioned to the backup state, the interface name is
passed as an argument. This is typically a script used to
bring down the virtual interface, log the action, remove
routes, etc.
-r RATIO --deadratio=RATIO
Ratio used by the backup to determine how long to wait for an
unresponsive master before considering it dead.
-z --shutdown
Use of this command causes the command specified by the -d
argument to be invoked when ucarp shuts down.
-B --daemonize
Causes ucarp to detach from the terminal and run in the
background as a daemon.
-f --facility
Set the syslog facility, defaults to daemon.
-x PARAMETER --xparam=PARAMETER
Specify an extra parameter to be supplied to the up/down
scripts.
-S --ignoreifstate
Ignore unplugged network cables. This option is useful when
ucarp nodes are connected with a crossover cable. Without
this option the master will transition to backup when the
other node is powered down, as it no longer has a link (NO-
CARRIER).
-M --nomcast
Use broadcast instead of multicast advertisements.
EXAMPLES
A host with a real IP of 10.1.1.10 configured to be the master in a
preemptive configuration with a virtual IP of 10.1.1.252.
ucarp -i eth0 -s 10.1.1.10 -v 10 -p secret -a 10.1.1.252 \
--upscript=/etc/vip-up.sh --downscript=/etc/vip-down.sh -P
The backup might be configured something like this.
ucarp -i eth0 -s 10.1.1.11 -v 10 -p secret -a 10.1.1.252 \
--upscript=/etc/vip-up.sh --downscript=/etc/vip-down.sh
A machine with a real IP of 192.168.1.19 is the preferred master for a
virtual IP of 10.1.12.7, broadcasts are sent every 5 seconds.
ucarp -b 5 -s 192.168.1.19 -v 27 -p badpass -a 10.1.12.7 \
-u /etc/vip-up.sh -d /etc/vip-down.sh -z
The hot standby with an IP of 192.168.1.20 uses the following command,
(note the advskew of 50 putting it at a disadvantage and making the
first machine preferred).
ucarp -b 5 -k 50 -s 192.168.1.20 -v 27 -p badpass -a 10.1.12.7 \
-u /etc/vip-up.sh -d /etc/vip-down.sh -z
AUTHOR
ucarp was written by Frank Denis, <j@ucarp.org>.
This manual page was written by Eric Evans <eevans@debian.org> for the
Debian system (but may be used by others). Permission is granted to
copy, distribute and/or modify this document under the terms of the GNU
General Public License, Version 2 or any later version published by the
Free Software Foundation.
On Debian systems, the complete text of the GNU General Public License
can be found in /usr/share/common-licenses/GPL.