diff options
Diffstat (limited to 'community/ucarp')
-rw-r--r-- | community/ucarp/PKGBUILD | 26 | ||||
-rw-r--r-- | community/ucarp/ucarp.8 | 147 | ||||
-rw-r--r-- | community/ucarp/ucarp.conf | 2 |
3 files changed, 166 insertions, 9 deletions
diff --git a/community/ucarp/PKGBUILD b/community/ucarp/PKGBUILD index fa1879371..9b2d22f94 100644 --- a/community/ucarp/PKGBUILD +++ b/community/ucarp/PKGBUILD @@ -1,9 +1,9 @@ # $Id$ -# Maintainer: Sebastien Luttringer <seblu+arch@seblu.net> +# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org> pkgname=ucarp pkgver=1.5.2 -pkgrel=1 +pkgrel=2 pkgdesc='UCARP is a portable implementation of the CARP protocol' arch=('i686' 'x86_64') url='http://www.ucarp.org/project/ucarp' @@ -13,11 +13,13 @@ optdepends=('iproute2') source=("http://download.pureftpd.org/pub/ucarp/ucarp-$pkgver.tar.gz" 'ucarp.rc' 'ucarp.conf' + 'ucarp.8' '01-fix-getopt.patch' '02-fix-downscript-on-error.c') md5sums=('e3caa733316a32c09e5d3817617e9145' 'd941d2978c5b43154a29212115729519' - '35d1aabe416384e6fd8bd62312dbdb25' + '9b27f0cf552511716b1ce3678b7a77ca' + '05b64a5daeb7aab45a2a59e0f4d83c8f' '3f20699aaf2ef8139dcd337f1e7f06ab' '09d26233c37956cf08e629554a91b8cd') @@ -26,12 +28,12 @@ build() { patch -N -p1 -i ../01-fix-getopt.patch patch -N -p1 -i ../02-fix-downscript-on-error.c - ./configure --prefix=/usr --mandir=/usr/share/man + ./configure --prefix=/usr make # fix iproute2 path - sed -i "s|/sbin|/usr/sbin|g" examples/linux/vip-down.sh - sed -i "s|/sbin|/usr/sbin|g" examples/linux/vip-up.sh + sed -i 's|/sbin|/usr/sbin|g' examples/linux/vip-down.sh + sed -i 's|/sbin|/usr/sbin|g' examples/linux/vip-up.sh } package() { @@ -39,12 +41,20 @@ package() { install -D -m 755 $pkgname.rc "${pkgdir}/etc/rc.d/$pkgname" install -D -m 644 $pkgname.conf "${pkgdir}/etc/conf.d/$pkgname" + # add manpage + install -D -m 644 $pkgname.8 "${pkgdir}/usr/share/man/man8/$pkgname.8" + cd $pkgname-$pkgver make DESTDIR="$pkgdir" install - install -D -m 755 examples/linux/vip-down.sh "$pkgdir/etc/ucarp/vip-down.sh" - install -D -m 755 examples/linux/vip-up.sh "$pkgdir/etc/ucarp/vip-up.sh" + # install examples files + install -D -m 644 examples/linux/vip-down.sh \ + "$pkgdir/usr/share/doc/$pkgname/examples/vip-down.sh" + install -D -m 644 examples/linux/vip-up.sh \ + "$pkgdir/usr/share/doc/$pkgname/examples/vip-up.sh" + # install README + install -D -m 644 README "$pkgdir/usr/share/doc/$pkgname/README" } # vim:set ts=2 sw=2 ft=sh et: diff --git a/community/ucarp/ucarp.8 b/community/ucarp/ucarp.8 new file mode 100644 index 000000000..7854e8cf4 --- /dev/null +++ b/community/ucarp/ucarp.8 @@ -0,0 +1,147 @@ +.TH "UCARP" "8" +.SH "NAME" +ucarp \(em Automatic IP failover +.SH "SYNOPSIS" +.PP +\fBucarp\fR [\fB-i, \-\-interface=\fIINTERFACE\fR\fP] [\fB-s, \-\-srcip=\fIIPADDRESS\fR\fP] +.br +[\fB-v, \-\-vhid=\fIVHID\fR\fP] [\fB-p, \-\-pass=\fIPASSWORD\fR\fP] [\fB-o, \-\-passfile=\fIPASSFILE\fR\fP] +.br +[\fB-P, \-\-preempt\fP] [\fB-n, \-\-neutral\fP] [\fB-a, \-\-addr=\fIIPADDR\fR\fP] [\fB-h, \-\-help\fP] +.br +[\fB-b, \-\-advbase=\fISECS\fR\fP] [\fB-k, \-\-advskew=\fISKEW\fR\fP] [\fB-u, \-\-upscript=\fISCRIPT\fR\fP] +.br +[\fB-d, \-\-downscript=\fISCRIPT\fR\fP] [\fB-r, \-\-deadratio=\fIRATIO\fR\fP] [\fB-z, \-\-shutdown\fP] +.br +[\fB-B, \-\-daemonize\fP] [\fB-f, \-\-facility=\fIFACILITY\fR\fP] [\fB-x, \-\-xparam \fIPARAM\fR\fP] +.br +[\fB-S, \-\-ignoreifstate\fP] [\fB-M, \-\-nomcast\fP] +.SH "DESCRIPTION" +.PP +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. +.SH "OPTIONS" +.PP +ucarp supports the following command line options: +.IP "\fB-i \fIINTERFACE\fR\fP\fB \-\-interface=\fIINTERFACE\fR\fP" 10 +The network interface to bind to. +.IP "\fB-s \fIIPADDRESS\fR\fP\fB \-\-srcip=\fIIPADDRESS\fR\fP" 10 +The persistent source address, (real IP), associated with this +interface. +.IP "\fB-v \fIVHID\fR\fP\fB \-\-vhid=\fIVHID\fR\fP" 10 +The id of the virtual server [1-255]. +.IP "\fB-p \fIPASSWORD\fR\fP\fB \-\-pass=\fIPASSWORD\fR\fP" 10 +The shared password, (this gets encrypted and is not sent in the +clear). +.IP "\fB-o \fIPASSFILE\fR\fP\fB \-\-passfile=\fIPASSFILE\fR\fP" 10 +File to read the shared password from. The file specified +should contain the password on the first line of the file. +.IP "\fB-P \fP\fB\-\-preempt\fP" 10 +Turn on preemptive failover. This causes an instance of +ucarp to assume master status right immediately. +.IP "\fB-n \fP\fB\-\-neutral\fP" 10 +Do not run the downscript on startup when the +initial state is backup. +.IP "\fB-a \fIIPADDRESS\fR\fP\fB \-\-addr=\fIIPADDRESS\fR\fP" 10 +The IP address of the virtual server. +.IP "\fB-h \fP\fB\-\-help\fP" 10 +Display a brief summary of the command line options. +.IP "\fB-b \fISECONDS\fR\fP\fB \-\-advbase=\fISECONDS\fR\fP" 10 +Interval in seconds that advertisements will occur, (defaults +to 1 second). +.IP "\fB-k \fISKEW\fR\fP\fB \-\-advskew=\fISKEW\fR\fP" 10 +Advertisement skew [1-255], (defaults to 0). +.IP "\fB-u \fICOMMAND\fR\fP\fB \-\-upscript=\fICOMMAND\fR\fP" 10 +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. +.IP "\fB-d \fICOMMAND\fR\fP\fB \-\-downscript=\fICOMMAND\fR\fP" 10 +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. +.IP "\fB-r \fIRATIO\fR\fP\fB \-\-deadratio=\fIRATIO\fR\fP" 10 +Ratio used by the backup to determine how long to wait for an +unresponsive master before considering it dead. +.IP "\fB-z\fP\fB \-\-shutdown\fP" 10 +Use of this command causes the command specified by the \-d +argument to be invoked when ucarp shuts down. +.IP "\fB-B\fP\fB \-\-daemonize\fP" 10 +Causes ucarp to detach from the terminal and run in the +background as a daemon. +.IP "\fB-f\fP\fB \-\-facility\fP" 10 +Set the syslog facility, defaults to daemon. +.IP "\fB-x \fIPARAMETER\fR\fP\fB \-\-xparam=\fIPARAMETER\fR\fP" 10 +Specify an extra parameter to be supplied to the up/down +scripts. +.IP "\fB-S\fP\fB \-\-ignoreifstate\fP" 10 +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). + +.IP "\fB-M\fP\fB \-\-nomcast\fP" 10 +Use broadcast instead of multicast advertisements. +.SH "EXAMPLES" +.PP +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. +.PP +.nf +\fB \fPucarp \-i eth0 \-s 10.1.1.10 \-v 10 \-p secret \-a 10.1.1.252 \\ +\fB \fP\-\-upscript=/usr/local/sbin/vip-up.sh \-\-downscript=/usr/local/sbin/vip-down.sh \-P +.fi +.PP +The backup might be configured something like this. +.PP +.nf +\fB \fPucarp \-i eth0 \-s 10.1.1.11 \-v 10 \-p secret \-a 10.1.1.252 \\ +\fB \fP\-\-upscript=/usr/local/sbin/vip-up.sh \-\-downscript=/usr/local/sbin/vip-down.sh +.fi +.PP +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. +.PP +.nf +\fB \fPucarp \-b 5 \-s 192.168.1.19 \-v 27 \-p badpass \-a 10.1.12.7 \\ +\fB \fP-u /usr/local/sbin/vip-up.sh \-d /usr/local/sbin/vip-down.sh \-z +.fi +.PP +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). +.PP +.nf +\fB \fPucarp \-b 5 \-k 50 \-s 192.168.1.20 \-v 27 \-p badpass \-a 10.1.12.7 \\ +\fB \fP-u /usr/local/sbin/vip-up.sh \-d /usr/local/sbin/vip-down.sh \-z +.fi +.SH "SIGNALS" +.PP +Sending the ucarp process a SIGUSR1 will have it log a status +line to syslog, eg "Sep 13 12:59:56 localhost ucarp[2654]: [INFO] +MASTER on eth0 id 1" or "Sep 13 13:00:25 localhost ucarp[2644]: [INFO] +BACKUP on eth0 id 1" +.PP +Sending the ucarp process a SIGUSR2 will cause it to demote itself +from master to backup, pause 3 seconds, then proceed as usual to listen +for other masters, and promote itself if necessary. This could be useful +if you wish another node to take over master. + +.SH "AUTHOR" +.PP +ucarp was written by Frank Denis, <j@ucarp.org>. +.PP +This manual page was written by Eric Evans <eevans@debian.org> +for \fBDebian\fP and adapted by Sébastien Luttringer +<seblu@archlinux.org> for \fBArchlinux\fP. 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. + +.PP +On Archlinux systems, the complete text of the GNU General Public +License can be found in /usr/share/licenses/common/GPL. diff --git a/community/ucarp/ucarp.conf b/community/ucarp/ucarp.conf index 3b7ae2118..386c1df8f 100644 --- a/community/ucarp/ucarp.conf +++ b/community/ucarp/ucarp.conf @@ -1,3 +1,3 @@ # vim:set ts=2 sw=2 ft=sh noet: -DAEMON_OPTS='--daemonize --interface=eth0 --srcip=10.1.1.1 --vhid=1 --pass=mypassword --addr=10.1.1.252 --upscript=/etc/ucarp/vip-up.sh --downscript=/etc/ucarp/vip-down.sh' +DAEMON_OPTS='--daemonize --interface=eth0 --srcip=10.1.1.1 --vhid=1 --pass=mypassword --addr=10.1.1.252 --upscript=/usr/local/sbin/vip-up.sh --downscript=/usr/local/sbin/vip-down.sh' |