OK, here is a recipe to see this problem. I hope all the steps are here! (0) Install drbd8-utils and heartbeat. (1) Create a fake disk dd if=/dev/zero of=drbd_disk count=1M bs=1 losetup /dev/loop0 ./drbd_disk (2) Create /etc/drbd.conf. I used:
global { usage-count yes; } common { protocol C; } resource r0 { device /dev/drbd0; meta-disk internal; on maisy { disk /dev/loop0; address 192.168.0.4:7788; } on hazy { disk /dev/loop0; address 192.168.0.5:7788; } } (3) Create the drbd disk: drbdadm create-md r0 modprobe drbd drbdadm attach r0 drbdadm syncer r0 drbdadm connect r0 mkfs.ext3 /dev/drbd0 (4) Turned off drbd: /etc/init.d/drbd stop Stopped the drbd init script from running at startup (to avoid clashes with heartbeat): update-rc.d -f drbd remove (5) Created /etc/ha.d/ha.cf, contents: autojoin none mcast eth2 239.0.0.43 694 1 0 warntime 5 deadtime 15 initdead 60 keepalive 2 node maisy node hazy crm yes (6) Created an appropriate /etc/ha.d/authkeys file. (7) Set up resources and constraints: cibadmin -o resources -C -x resources.xml cibadmin -o constraints -C -x constraints.xml where these files contain: resources.xml: <resources> <master_slave id="ms_drbd_files"> <meta_attributes id="ms_drbd_files-meta_attributes"> <attributes> <nvpair name="notify" value="yes" id="ms_drbd_files-meta_attributes-notify"/> <nvpair name="globally_unique" value="false" id="ms_drbd_files-meta_attributes-globally_unique"/> </attributes> </meta_attributes> <primitive id="drbd_files" class="ocf" provider="heartbeat" type="drbd"> <instance_attributes id="ms_drbd_files-instance_attributes"> <attributes> <nvpair name="drbd_resource" value="r0" id="ms_drbd_files-instance_attributes-drbd_resource"/> </attributes> </instance_attributes> <operations> <op id="ms_drbd_files-monitor-master" name="monitor" interval="29s" timeout="10s" role="Master"/> <op id="ms_drbd_files-monitor-slave" name="monitor" interval="30s" timeout="10s" role="Slave"/> </operations> </primitive> </master_slave> <group id="rg_files"> <primitive class="ocf" type="Filesystem" provider="heartbeat" id="mount_data"> <instance_attributes id="mount_data-instance_attributes"> <attributes> <nvpair name="device" value="/dev/drbd0" id="mount_data-device"/> <nvpair name="directory" value="/mnt" id="mount_data-directory"/> <nvpair name="fstype" value="ext3" id="mount_data-fstype"/> </attributes> </instance_attributes> </primitive> </group> </resources> constraints.xml: <constraints> <rsc_order id="files_after_drbd" from="rg_files" action="start" to="ms_drbd_files" to_action="promote" type="after"/> <rsc_colocation id="files_on_drbd" to="ms_drbd_files" to_role="master" from="rg_files" score="infinity"/> </constraints> (8) Started heartbeat: /etc/init.d/heartbeat start (9) Observed the following failure in the system logs: May 4 15:09:11 maisy lrmd: [4150]: info: RA output: (drbd_files:0:start:stdout) May 4 15:09:11 maisy drbd[4491]: [4549]: DEBUG: r0 start: Module loaded. May 4 15:09:11 maisy drbd[4491]: [4551]: DEBUG: r0: Calling drbdadm -c /etc/drbd.conf state r0 May 4 15:09:11 maisy lrmd: [4150]: info: RA output: (drbd_files:0:start:stderr) local: 586: state': bad variable name May 4 15:09:11 maisy drbd[4491]: [4558]: ERROR: r0: Called drbdadm -c /etc/drbd.conf state r0 May 4 15:09:11 maisy drbd[4491]: [4559]: ERROR: r0: Exit code 2 (10) Modified /usr/lib/ocf/resource.d/heartbeat/drbd to use "role" rather than "state". (11) Restarted heartbeat: /etc/init.d/heartbeat restart (12) Observed that there is no longer such an error in the system logs: May 4 15:28:06 maisy drbd[6359]: [6370]: DEBUG: r0: Calling drbdadm -c /etc/drbd.conf role r0 May 4 15:28:06 maisy drbd[6359]: [6377]: DEBUG: r0: Exit code 0 May 4 15:28:06 maisy drbd[6359]: [6378]: DEBUG: r0: Command output: Secondary/Unknown -- heartbeat incompatible with drbd8-utils in jaunty https://bugs.launchpad.net/bugs/369124 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs