ClusterLabs/resource-agents — pull request #443 by davidvossel (2014-06-18 22:17:45+00:00)
Title: Support new NFS Active Passive and Active Active use-cases.

We have two NFS related use-cases we want to support. I have documents below that outline exactly how to deploy these use-cases and why they are structured the way they are. The commits in this pull request are related to the changes required support these NFS deployments.

The most notable change here is the introduction of the nfsnotify agent. Previously the nfsserver agent would execute sm-notify to notify NFSv3 clients of a server reboot so the clients can reclaim their locks. We've discovered that executing sm-notify before the exports are available can result in lock reclaim failures. To address this, the nfsnotify agent has been created to decouple the sm-notifications from the nfsserver agent. Now we can start the nfsserver, start the exports and floating IP, and execute sm-notify (using nfsnotify agent) as the last element in this stack. This has proved to be much more reliable. The nfsserver agent has been given the 'nfs_no_notify' option to toggle on/off suppressing sm-notify. The default behavior is preserved.

Below is information on the two deployments and a set of slides describing them in more detail.

----------------------------------
ACTIVE-PASSIVE: Mixed NFSv3/NFSv4
----------------------------------
Presentation:
https://github.com/davidvossel/phd/blob/master/doc/presentations/nfs-ap-overview.pdf?raw=true
Automated deployment script:
https://github.com/davidvossel/phd/blob/master/scenarios/nfs-active-passive.scenario

---------------------------------------
ACTIVE-ACTIVE: NFSv4 with limited NFSv3
----------------------------------------
Presentation:
https://github.com/davidvossel/phd/blob/master/doc/presentations/nfs-aa-overview.pdf?raw=true
Automated deployment script:
https://github.com/davidvossel/phd/blob/master/scenarios/nfs-active-active.scenario