UCARP:防止原来的主人在失败后回来接pipeVIP?

Keepalived可以通过在两个节点上组合nopreempt选项和BACKUP状态来实现:

  • 一旦失败,防止VRRP Master成为Master
  • 防止主人失败后回到主人

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. 

如果我不使用--preempt选项并将--advskew设置为相同的值,则两个节点都将成为主节点。

/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 

节点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 

节点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 

对于UCARP,我认为诀窍是使用--neutral标志以“中立”模式启动它,以便它不会自动承担主angular色或在启动时尝试任何事情。 看看我的一个设置,这里是完整的命令行。 也许 – --neutral适用,因为我们有启动和closures应用的上下文,但是值得一试。

/path/to/ucarp0 -v 42 -p kitteh0 --interface=bond0 -a 192.168.100.250 -s 192.168.100.172 -b 5 -r 3 --upscript=/path/to/ucarp/upscript0 --downscript=/path/to/ucarp/downscript0 --neutral -z -B

我没有看到ucarp集群(我inheritance的)自己切换回来。

他们确实设置了先占=不。