[Pacemaker] how does the exportfs resource agent work?

Dennis Jacobfeuerborn dennisml at conversis.de
Sat Jan 14 19:11:40 EST 2012


Hi,
I'm trying to build a HA nfs system based on drbd and apart from the nfs 
export everything is working fine. The problem is that when I force a 
failover things seem to work fine yet when I fail back to the original 
system the clients freeze for a very long time.

/mnt/tmp is the mountpoint on the client and I'm using the following to 
test access:
for i in `seq 1 2000`; do echo $i; ls /mnt/tmp; sleep 1; done

on a failover the output look like this:

...
47
testfile  testfile2
48
testfile  testfile2
49
testfile  testfile2
50
testfile  testfile2
51
testfile  testfile2
52
ls: cannot open directory /mnt/tmp: Permission denied
53
ls: cannot open directory /mnt/tmp: Permission denied
54
<<< freeze of several minutes >>>
testfile  testfile2
55
testfile  testfile2
56
testfile  testfile2
...

The first question I have is how can I prevent the "Permission denied" 
errors? If these occur on e.g. a mountpoint for MySQL for example this will 
no doubt lead to problems with the database and that means the storage 
isn't really redundant.

The second question is how do I reduce the failover time? I tried adding 
timeo=30 to the client mount options but that doesn't seem to help.

This is what my cib looks like:

node storage1.dev
node storage2.dev
primitive p_drbd_nfs ocf:linbit:drbd \
	params drbd_resource="nfs" \
	op monitor interval="15" role="Master" \
	op monitor interval="30" role="Slave"
primitive p_exportfs_data ocf:heartbeat:exportfs \
	params fsid="1" directory="/mnt/data/export" options="rw,no_root_squash" 
clientspec="*" \
	op monitor interval="30s"
primitive p_fs_data ocf:heartbeat:Filesystem \
	params device="/dev/drbd/by-res/nfs" directory="/mnt/data" fstype="ext3" \
	op monitor interval="10s"
primitive p_ip_nfs ocf:heartbeat:IPaddr2 \
	params ip="192.168.2.190" cidr_netmask="24" \
	op monitor interval="30s"
group g_nfs p_fs_data p_exportfs_data p_ip_nfs
ms ms_drbd_nfs p_drbd_nfs \
	meta master-max="1" master-node-max="1" clone-max="2" clone-node-max="1" 
notify="true"
colocation c_nfs_on_drbd inf: g_nfs ms_drbd_nfs:Master
order o_drbd_before_nfs inf: ms_drbd_nfs:promote g_nfs:start
property $id="cib-bootstrap-options" \
	dc-version="1.0.12-unknown" \
	cluster-infrastructure="openais" \
	expected-quorum-votes="2" \
	stonith-enabled="false" \
	no-quorum-policy="ignore"
rsc_defaults $id="rsc-options" \
	resource-stickiness="200"

Regards,
   Dennis




More information about the Pacemaker mailing list