Can anyone explain what is the major difference between Heartbeat and UCarp for IP fail-over scenarios?
They both seem to provide this functionality, perhaps UCarp simpler to set-up?
i assume you're interested in simple active-passive setup.
ucarp & heartbeat in such setup do pretty much the same thing. in essence - they run provided scripts when machine is elected to be master / hot-standby.
heartbeat might look much more complicated [ since it can help you autoamte drdb mounts, restarting multiple services etc ] but at the end - you can script all of this and let ucarp invoke it].
personally - i run heartbeat with single resource - that is script that does following:
my very simplistic setup [ heartbeat 2.1.3-6 under debian lenny ]: i have two servers:
'floating ip' - assigned to the active node is 10.0.1.1/24 assigned to eth1
in this case service that gets high availability is apache. i separately sync apache's configs and content that is served from ser0 to ser0b.
files below are identical on both machines with one marked exception:
/etc/init.d/ha.cf [ it can as well be in /etc/ha.d/resources.d/ha.cf ]