Cyrus failover steps

Tom Samplonius tom at
Sun May 13 03:18:34 EDT 2007

----- "Matthew Seaman" <matthew.seaman at> wrote:
> On FreeBSD, CARP would be the natural choice, seeing as it's standard
> with
> the system.  All you need is to build a kernel with 'device carp'
> added to
> the config file and to have read the carp(4) manual page.  Then just
> add
> something like:
>   cloned_interfaces="carp0"
>   ifconfig_carp0="vhid 100 pass XXXXCENSOREDXXXX"
> to /etc/rc.conf on both machines.  Reboot, et voila: the
> IP
> will float between the two servers.

  But magical floating could be a problem for Cyrus.  Think of a case where the master fails, the IP floats to the replia, some mail is delivered, the master comes back up, and the IP moves back.  Oops... the mail delivered to the replica is now invisible and effectively lost.

  CARP kinda of loses for application failover, as there is no way to fire a script before moving the IP, and before moving the IP back.  It will probably grow some scriptability at some point.  But for the time being, CARP is better for firewalls and routers than services.  Also, there can be split brain issues, where both nodes think they are the master.  Or issues where a node will hold onto an IP even though it is actually dead.

  But HeartBeat can do this.


More information about the Info-cyrus mailing list