UCARP: prevent the original master from taking over the VIP when it comes back after failure?

Posted by quanta on Server Fault See other posts from Server Fault or by quanta
Published on 2012-10-12T08:48:02Z Indexed on 2012/10/12 9:40 UTC
Read the original article Hit count: 256

Filed under:
|
|
|
|

Keepalived can do this by combining the nopreempt option and the BACKUP state on the both nodes:

How about the UCARP?

Name       : ucarp
Arch       : x86_64
Version    : 1.5.2
Release    : 1.el5.rf
Size       : 81 k
Repo       : installed
Summary    : Common Address Redundancy Protocol (CARP) for Unix
URL        : http://www.ucarp.org/
License    : BSD
Description: UCARP allows a couple of hosts to share common virtual IP addresses in order
           : to provide automatic failover. It is a portable userland implementation of the
           : secure and patent-free Common Address Redundancy Protocol (CARP, OpenBSD's
           : alternative to the patents-bloated VRRP).
           : Strong points of the CARP protocol are: very low overhead, cryptographically
           : signed messages, interoperability between different operating systems and no
           : need for any dedicated extra network link between redundant hosts.

If I don't use the --preempt option and set the --advskew to the same value, both nodes become master.

/etc/sysconfig/carp/vip-010.conf

# Virtual IP configuration file for UCARP
# The number (from 001 to 255) in the name of the file is the identifier
# $Id: vip-001.conf.example 1527 2004-07-09 15:23:54Z dude $

# Set the same password on all mamchines sharing the same virtual IP
PASSWORD="pa$$w0rd"

# You are required to have an IPADDR= line in the configuration file for
# this interface (so no DHCP allowed)
BIND_INTERFACE="eth0"

# Do *NOT* use a main interface for the virtual IP, use an ethX:Y alias
# with the corresponding /etc/sysconfig/network-scripts/ifcfg-ethX:Y file
# already configured and ith ONBOOT=no
VIP_INTERFACE="eth0:0"

# If you have extra options to add, see "ucarp --help" output
# (the lower the "-k <val>" the higher priority and "-P" to become master ASAP)
OPTIONS="-z -k 255"

/etc/sysconfig/network-scripts/ifcfg-eth0:0

DEVICE=eth0:0
ONBOOT=no
BOOTPROTO=
IPADDR=192.168.6.8
NETMASK=255.255.255.0
USERCTL=yes
IPV6INIT=no

node 1:

eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether c6:9b:8e:af:a7:69 brd ff:ff:ff:ff:ff:ff
    inet 192.168.6.192/24 brd 192.168.6.255 scope global eth0
    inet 192.168.6.8/24 brd 192.168.6.255 scope global secondary eth0:0
    inet6 fe80::c49b:8eff:feaf:a769/64 scope link 
       valid_lft forever preferred_lft forever

node 2:

eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:30:48:f7:0f:81 brd ff:ff:ff:ff:ff:ff
    inet 192.168.6.38/24 brd 192.168.6.255 scope global eth1
    inet 192.168.6.8/24 brd 192.168.6.255 scope global secondary eth1:0
    inet6 fe80::230:48ff:fef7:f81/64 scope link 
       valid_lft forever preferred_lft forever

© Server Fault or respective owner

Related posts about centos

Related posts about keepalived