Why are NFS exported resources switched when migrated between cluster nodes?

  • 7009059
  • 26-Jul-2011
  • 27-Apr-2012

Environment

Novell Open Enterprise Server 2 (OES 2) Linux
Novell Cluster Services

Situation

Environment contained multiple ext3 volumes that were shared as POSIX volumes for cluster services, and then exported via nfsserver.

NFS clients accessing the clustered resources were fine until the clustered resource(s) were migrated to the same cluster node.  At that point the NFS clients would get confused and see one volume on the other mount point.  For example:

     10.10.10.10  is export of /export/A    (of size 10GB)
     10.10.10.20  is export of /export/B    (of size 20GB)

when first mounted, the nfsclient would see:
     /mnt/A -> 10.10.10.10:/export/A        (10GB)
     /mnt/B -> 10.10.10.20:/export/B        (20GB)

after both resources were migrated to another node, the nfsclient would see:
     /mnt/A -> 10.10.10.10:/export/A        (20GB)
     /mnt/B -> 10.10.10.20:/export/B        (10GB)

(note the size change).  Additionally, the files contained on each export were now mounted on the wrong mount point.

Resolution

When exporting NFS shares, esp. in a clustered environment, utilize the fsid={value} parameter for each export and insure each {value} is unique.

Additional Information

This matter is occurring because the fsid is generated based on an algorithm of major & minor rev of the block device.  When cluster resources are migrated, the algorithm may return the same fsid as another resource yielding duplicate fsids and confusion.  The fsid parameter is meant to avoid the confusion.  For more background, please review the man page for the exports file (man 5 exports from a terminal or bash prompt).

NOTE: the NFS protocol is not NCS cluster aware in OES2, and has not been tested by Novell development.  While the above may work for your purposes, the more appropriate solution would be to utilize one of the cluster aware protocols or utilize SuSE Linux Enterprise Server with High Availability Extensions for providing highly available NFS exports.