需求:linux客户端通过nfs共享aix服务端的某个目录


环境:

服务端:AIX 6.1  192.168.0.1/bsiptest

客户端:RHEL 5.5和RHEL 6.1   192.168.0.32/weblogic、192.168.0.3/dc

共享目录:/nfs/share


服务端:

1、停止nfs和portmap两个进程:

#stopsrc -g nfs

#stopsrc -s portmap


2、编辑hosts文件,添加nfs客户端信息

vi /etc/hosts

192.168.0.32  weblogic

192.168.0.3   dc


3、编辑exports文件

vi /etc/exports

/nfs/share -sec=sys:krb5p:krb5i:krb5:dh:none,rw,root=weblogic.dc.bsip


将/nfs/share目录共享出去,设置允许weblogic和dc、bsip可以对共享目录读写操作,sec是数据加密方法。配置完后,使用exportfs命令将/etc/exports的内容更新至/etc/xtab文件中,/etc/xtab文件是NFS读取的内容,所以这步很关键,如果不用这个命令,其它的节点是无法正确挂载NFS共享目录的:

# exportfs -a


4、启动nfs并测试

#startsrc –s portmap

#startsrc -g nfs


在服务端aix机器上查看nfs的共享目录

#showmount -e localhost




客户端:

1、编辑hosts文件,添加nfs服务端信息

vi /etc/hosts

192.168.0.1 bsiptest


2、创建挂载点

#mkdir /share


3、查看共享目录

#showmount –e 192.168.0.1

或者

#showmount –e bsiptest


4、挂载

#mount -t nfs 192.168.0.1:/nfs/share /share

或者

#mount –t nfs bsiptest:/nfs/share /share


这一步在RHEL 6.1客户端操作时报错”nfs: Remote I/O error”,另一个客户端ok。

因为当时上网不太方便,一开始以为是服务端IO可能有问题,检查一遍并且在/nfs/share目录下可以添加测试文件test,排除io问题;然后检查相关的配置和服务,重启服务甚至重启机器,都不管用;猜测跟客户端操作系统版本有关,5.5版本可以正常挂载,6.1却碰到了问题。


最后通过google搜索,多次尝试,最后在RHEL 6.1客户端运行如下命令挂载成功:

#mount -t nfs 192.168.0.1:/nfs/share /share -o nfsvers=2  


说明:

mount默认的参数nfsvers=n:设定要使用的NFS版本,默认是使用2,这个选项的设定还要取决于server端是否支持NFS VER 3,和版本有关系


注意:

客户端需要检查portmap、nfs等服务是正常启动

service portmap restart

service nfs restart

service portreserve 

service rpcbind restart

本文转自 Mr_sheng 51CTO博客,原文链接:http://blog.51cto.com/sf1314/2056972