The steps is for Debian Squeeze.
Suppose the nodes have 2 interface:
Make /etc/corosync/corosync.conf:
# Please read the corosync.conf.5 manual page
compatibility: whitetank
aisexec {
# Run as root - this is necessary to be able to manage resources with Pacemaker
user: root
group: root
}
service {
# Load the Pacemaker Cluster Resource Manager
ver: 0
name: pacemaker
use_mgmtd: yes
use_logd: yes
}
totem {
version: 2
secauth: off
threads: 0
rrp_mode: passive
interface {
ringnumber: 0
bindnetaddr: 10.0.0.0
mcastaddr: 226.94.1.1
mcastport: 5405
}
interface {
ringnumber: 1
bindnetaddr: 192.168.0.0
mcastaddr: 226.94.1.1
mcastport: 5405
}
}
logging {
fileline: off
to_stderr: yes
to_logfile: yes
to_syslog: yes
logfile: /var/log/corosync/corosync.log
debug: off
timestamp: on
logger_subsys {
subsys: AMF
debug: off
}
}
amf {
mode: disabled
}
Copy this config file to all nodes.
The authkey prevents unauthorized machines from joining the cluster.
corosync-keygen
Copy the resulting key file /etc/corosync/authkey to all nodes.
The secauth option must also be set to on.
Reference: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=556533
Edit /etc/init.d/corosync, change the retry timeout to much longer. Example, 600 seconds:
do_stop()
{
...
start-stop-daemon --stop --quiet --signal=QUIT --retry=600 --pidfile $PIDFILE
Repeat this section on all nodes.