Cloning a Heartbeat Server

February 14, 2011
linux, sys admin

As anyone who has setup Heartbeat to create a failover server knows, the configuration of both servers is almost identical. However, when you get the bright idea to setup one server and clone it, there is one thing which may give you fits.

You may see log messages such as these:

Heartbeat Log
Feb 13 20:06:20 lb1 heartbeat: [2611]: WARN: nodename lb1 uuid changed to lb2
Feb 13 20:06:20 lb1 heartbeat: [2611]: debug: displaying uuid table
Feb 13 20:06:20 lb1 heartbeat: [2611]: debug: uuid=xxxxx-xxxx-xxxx-xxxx-xxxxxxxxx, name=lb1
Feb 13 20:06:20 lb1 heartbeat: [2611]: ERROR: should_drop_message: attempted replay attack [lb2]? [gen = 1275513319, curgen = 1275513320]

Heartbeat creates a unique identifier to, you guessed it, uniquely identify each server. If each server is using the same uuid they will not play nicely together. The fix is simple: delete the uuid on one of the servers and then restart Heartbeat.

sudo rm /var/lib/heartbeat/hb_uuid
sudo /etc/init.d/heartbeat restart

Note, this was tested on Ubuntu 10.04. The locations may differ between linux distributions and Heartbeat versions.

Additional links

Some other Heartbeat links I found useful: