Table of Contents
Table of Contents
- 1. Overview
- 2. NFSv3 and NFSv4 coexistence?
- 3. External Interface
- 4. Internal Logic
- 5. Documentation updates
1. Overview
AIX V6.1 provides NFSv4 support for NIM environments. The AIX NFSv4 implementation introduces various enhancements over NFSv3:
- Built-in security features.
- Pseudo file system concept.
- NFS4 ACL.
- Better performance.
- Locking mechanisms are now part of the protocol itself.
From xCAT perspective, NFSv4 support with AIX NIM can also benefit our customers from different aspects like better performance and security, and we have got requirements from our customer about the NFSv4 support with AIX NIM. The NFSv4 support with AIX NIM in xCAT is also a preparation for high availability service nodes with NFSv4 replication support.
2. NFSv3 and NFSv4 coexistence?
I did not find any formal statements in the AIX docs to indicate if the NFSv3 NIM resources and NFSv4 NIM resources can coexist on the same NIM master, according to the investigation I did, the NFSv3 NIM resources and NFSv4 NIM resources can coexist on the same NIM master. But the NFSv3 and NFSv4 coexistence will make the configuration be much more complex:
- No NIM resource can be shared between the NFSv3 clients and NFSv4 clients.
- The NFSv3 NIM resources and NFSv4 NIM resources can not be put into the same parent directory like /install/nim/bosinst_data, because this directory needs to be exported either through NFSv3 or through NFSv4.
- Considering the shared_root configuration, it will not be possible to share the shared_root between NFSv3 clients and NFSv4 clients.
- From xCAT users perspective, there are several xCAT predefined NIM resources bosinst_data, resolve_conf and scripts, these NIM resources will be created, shared and assigned by xCAT internally, should we have the user to specify different NFSv3/NFSv4 resources or have xCAT code handle the NFSv3/NFSv4 resources internally? Either way will make the configuration or code very complicated.
Think it from another side, is it really necessary to have both NFSv3 and NFSv4 clients in the same cluster? I can not think of any scenario other than AIX 5.3/AIX 6.1/AIX7.1 coexistence, the AIX 5.3 clients do not support NFSv4 mounts, but the AIX 5.3 is fairly old and xCAT does not support it any more, so this is not a problem for xCAT.
Based on the considerations mentioned above, xCAT will not support the NFSv3 NIM resources and NFSv4 NIM resources coexistence in the same cluster. If the user want to use NFSv4 in his cluster, he will have to update all existing NIM resources to NFSv4 using xCAT commands or NIM commands, or start the NIM NFSv4 setup from scratch.
3. External Interface
There are two major scenarios for NFSv4 NIM resources operation: migrate NFSv3 NIM resources to NFSv4 and create new NFSv4 NIM resources. The user interfaces for these two operations are listed below:
3.1 Migrate NFSv3 NIM resources to NFSv4
xCAT already provided "mknimimage [-V] -u osimage_name [attr=val [attr=val ...]]" to update existing xCAT osimages, but the "-u" flag only works for diskless spot for now, we can expand the scope of "-u" flag to support update the existing osimages to NFSv4 with command "mknimimage [-V] -u osimage_name nfs_vers=4".
mknimimage [-V] -u osimage_name nfs_vers=4
3.2 Create new NFSv4 NIM resources
mknimimage command needs to know which NFS version should be used when creating NIM resources, a new site attribute UseNFSv4onAIX will be added, if the UseNFSv4onAIX is set to "yes" or "1", NFSv4 will be used. The default value of UseNFSv4onAIX is "no".
When creating new NFSv4 osimage, xCAT will use some predefined resources like bosinst_data, resolve_conf and scripts, if these resources are not NFSv4 capable, print an error message to indicate that these resources should be updated to NFSv4.
chdef -t site UseNFSv4onAIX=yes
mknimimage -t <type> -s <source> imagename
4. Internal Logic
4.1 NFSv4 global settings
Before creating new NFSv4 NIM resources, there are some global NFSv4 settings should be done:
1. Change NFSv4 domain name
chnfsdom <domain_name>
2. Let NIM know the NFSv4 domain name
nim -o change -a nfs_domain=<domain_name> master
4.2 Migrate NFSv3 NIM resources to NFSv4
Command "nim -o change -a -a nfs_vers=4 <nim_resource_name>" can be used to update the NIM resource.
4.3 Create new NFSv4 NIM resources
Flag "-a nfs_vers=4" can be added to the "nim -o define" commands to define NFSv4 resources.
5. Documentation updates
We need to update AIX RTE diskful, mksysb diskful, stateless and statelite doc to indicate how to configure NFSv4 support with NIM, and how to migrate existing NIM resources to NFSv4. Probably use a transclude page.
News
- Apr 22, 2016: xCAT 2.11.1 released.
- Mar 11, 2016: xCAT 2.9.3 (AIX only) released.
- Dec 11, 2015: xCAT 2.11 released.
- Nov 11, 2015: xCAT 2.9.2 (AIX only) released.
- Jul 30, 2015: xCAT 2.10 released.
- Jul 30, 2015: xCAT migrates from sourceforge to github
- Jun 26, 2015: xCAT 2.7.9 released.
- Mar 20, 2015: xCAT 2.9.1 released.
- Dec 12, 2014: xCAT 2.9 released.
- Sep 5, 2014: xCAT 2.8.5 released.
- May 23, 2014: xCAT 2.8.4 released.
- Jan 24, 2014: xCAT 2.7.8 released.
- Nov 15, 2013: xCAT 2.8.3 released.
- Jun 26, 2013: xCAT 2.8.2 released.
- May 17, 2013: xCAT 2.7.7 released.
- May 10, 2013: xCAT 2.8.1 released.
- Feb 28, 2013: xCAT 2.8 released.
- Nov 30, 2012: xCAT 2.7.6 released.
- Oct 29, 2012: xCAT 2.7.5 released.
- Aug 27, 2012: xCAT 2.7.4 released.
- Jun 22, 2012: xCAT 2.7.3 released.
- May 25, 2012: xCAT 2.7.2 released.
- Apr 20, 2012: xCAT 2.7.1 released.
- Mar 19, 2012: xCAT 2.7 released.
- Mar 15, 2012: xCAT 2.6.11 released.
- Jan 23, 2012: xCAT 2.6.10 released.
- Nov 15, 2011: xCAT 2.6.9 released.
- Sep 30, 2011: xCAT 2.6.8 released.
- Aug 26, 2011: xCAT 2.6.6 released.
- May 20, 2011: xCAT 2.6 released.
- Feb 14, 2011: Watson plays on Jeopardy and is managed by xCAT!
- xCAT Release Notes Summary
- xCAT OS And Hw Support Matrix
- xCAT Test Environment Summary
History
- Oct 22, 2010: xCAT 2.5 released.
- Apr 30, 2010: xCAT 2.4 is released.
- Oct 31, 2009: xCAT 2.3 released.
xCAT's 10 year anniversary! - Apr 16, 2009: xCAT 2.2 released.
- Oct 31, 2008: xCAT 2.1 released.
- Sep 12, 2008: Support for xCAT 2
can now be purchased! - June 9, 2008: xCAT breaths life into
(at the time) the fastest
supercomputer on the planet - May 30, 2008: xCAT 2.0 for Linux
officially released! - Oct 31, 2007: IBM open sources
xCAT 2.0 to allow collaboration
among all of the xCAT users. - Oct 31, 1999: xCAT 1.0 is born!
xCAT started out as a project in
IBM developed by Egan Ford. It
was quickly adopted by customers
and IBM manufacturing sites to
rapidly deploy clusters.