[Pacemaker] NFS concurrency

David Vossel dvossel at redhat.com
Tue Aug 5 19:33:03 CEST 2014



----- Original Message -----
> 
> 
> Hi,
> 
> I’m working with SLES 11 SP3 and pacemaker 1.1.10-0.15.25
> 
> 
> 
> I’m looking to define constraints that can allow multiple NFSV4
> filesystem/exports to be started concurrently (they belong to the same LVM).
> I also have multiple access points. My model looks like this:
> 
> 
> 
> |---- FS1 ------ Exportfs1
> 
> | 
> 
> |----FS2 -------Exportfs2
> 
> | 
> 
> |----FSn -------Exportfsn
> 
> | 
> 
> rootfs---LVM1-- |---IP1
> 
> | 
> 
> |---IPn
> 
> 
> 
> Essentially, rootfs starts first and then the LVM. After the LVM, I’m looking
> to start the filesystems and IPs next. Once each filesystem is started then
> the export that belongs to it.
> 
> 
> 
> I’d like to do this since I’m using NFSV4 and the Gracetime and leasetime (I
> have set to 10 seconds) cause increasingly long stop times on failover.

you don't have to observe the lease time during stop if you stop the nfs server
first before doing the fs umount.

I used groups to do something similar to this in my NFS active-active scenario
and I don't wait for lease time during stop. After failover the scenario will
wait the grace period on the node the export moved to. The grace period should
be >= than the lease time on the node the export moved from.

presentation:
https://github.com/davidvossel/phd/raw/master/doc/presentations/nfs-aa-overview.pdf

Sample scenario:
https://github.com/davidvossel/phd/blob/master/scenarios/nfs-active-active.scenario


-- Vossel

> 
> 
> 
> I managed to define the above using individual colocations and order
> constraints, but was wondering if there was a more concise definition that
> would work. My system may support many LVMs and many shares/exports per LVM,
> manageability may get out of control.
> 
> 
> 
> My constraints look like this:
> 
> 
> colocation c2 inf: ( fs1 fs2 ip1 ) lvm1
> 
> colocation c3 inf: fs1 exportfs1
> 
> colocation c4 inf: fs2 exportfs2
> 
> order NFS-order1 inf: lvm1 fs1 exportfs1
> 
> order NFS-order2 inf: lvm1 fs2 exportfs2
> 
> order NFS-order3 inf: exportfs lvm1:start
> 
> order NFS-order4 inf: lvm1 ip1
> 
> 
> 
> The XML version is
> 
> <rsc_colocation id="c2" score="INFINITY">
> 
> <resource_set id="c2-0" sequential="false">
> 
> <resource_ref id="fs1"/>
> 
> <resource_ref id="fs2"/>
> 
> <resource_ref id="ip1"/>
> 
> </resource_set>
> 
> <resource_set id="c2-1">
> 
> <resource_ref id="lvm1"/>
> 
> </resource_set>
> 
> </rsc_colocation>
> 
> <rsc_colocation id="c3" score="INFINITY" rsc="fs1" with-rsc="exportfs1"/>
> 
> <rsc_colocation id="c4" score="INFINITY" rsc="fs2" with-rsc="exportfs2"/>
> 
> <rsc_order id="nfssrv_order" score="INFINITY" first="nfsserver"
> then="root_exportfs"/>
> 
> <rsc_order id="NFS-order3" score="INFINITY" first="root_exportfs" then="lvm1"
> then-action="start"/>
> 
> <rsc_order id="NFS-order1" score="INFINITY">
> 
> <resource_set id="NFS-order1-0">
> 
> <resource_ref id="lvm1"/>
> 
> <resource_ref id="fs1"/>
> 
> <resource_ref id="exportfs1"/>
> 
> </resource_set>
> 
> </rsc_order>
> 
> <rsc_order id="NFS-order2" score="INFINITY">
> 
> <resource_set id="NFS-order2-0">
> 
> <resource_ref id="lvm1"/>
> 
> <resource_ref id="fs2"/>
> 
> <resource_ref id="exportfs2"/>
> 
> </resource_set>
> 
> </rsc_order>
> 
> <rsc_order id="NFS-order4" score="INFINITY" first="lvm1" then="ip1"/>
> 
> 
> 
> Thanks,
> 
> Diane Schaefer
> 
> _______________________________________________
> Pacemaker mailing list: Pacemaker at oss.clusterlabs.org
> http://oss.clusterlabs.org/mailman/listinfo/pacemaker
> 
> Project Home: http://www.clusterlabs.org
> Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
> Bugs: http://bugs.clusterlabs.org
>



More information about the Pacemaker mailing list