在以往的学习过程中,我们对于nfs服务的内容介绍了它的定义,含义,以及相关应用。更多的我们则是介绍了它的启动和设置。那么今天,我们主要针对的是nfs服务的总体情况,来进行一下归纳学习。
1、 nfs依赖的2种协议,包括表示层的XDR(external data representation 外部数据表示)和会话层的RPC(remote procedure call远程过程调用).
2、 nfs守候进程和它们的子系统.
序号 |
进程全路径 |
子系统名 |
组名 |
1 |
/usr/sbin/portmap |
portmap |
portmap |
2 |
/usr/sbin/nfsd |
nfsd |
nfs |
3 |
/usr/sbin/biod |
biod |
nfs |
4 |
/usr/sbin/rpc.lockd |
rpc.lockd |
nfs |
5 |
/usr/sbin/rpc.statd |
rpc.statd |
nfs |
6 |
/usr/sbin/rpc.mountd |
rpc.mountd |
nfs |
4、4和5配对,完成文件锁定功能.
5、服务端需要1,6,2,4,5进程;客户端需要1,3,4,5进程.
1、服务器端配置
PS:在配置nfs的***步是在服务器和客户机两端启动nfs服务.
nfs服务由/etc/rc.nfs命令文件来启动的.
1、启动nfs服务mknfs或者smit mknfs
#mknfs -N
#mknfs -N
0513-029 The portmap Subsystem is already active.
Multiple instances are not supported.
Multiple instances are not supported.
Completed nfs services.
可以通过lssrc -g nfs查看nfs服务情况
#lssrc -g nfs
Subsystem GroupPIDStatus
biod nfs712706 active
nfsd nfs635260 active
rpc.mountd nfs462932 active
rpc.lockdnfs639418 active
rpc.statdnfs757914 active
nfsrgydnfs inoperative
gssd nfs inoperative
当然,以上也可以通过startsrc -g nfs与stopsrc -g nfs启动与停止该服务组子系统.
2、关闭nfs服务.rmnfs 或者smit rmnfs
3、手工创建配置文件 touch /etc/exports
如果没有/etc/exports文件,使用mknfs命令之后,nfsd、rpc.mounted进程不会启动,需要添加一个空的此文件.(试验已经证明)
另外如果单独使用startssrc命令来单独启动这2个进程,例如: startsrc -s rpc.mounted.也可以启动所有nfs进程,如,startsrc -g nfs.
4、服务器端配置过程
a.运行mknfs
b.导出nfs目录,smittymknfsexp
[TOP][Entry Fields]
* Pathname of directory to export []/
Anonymous UID [-2]
Public filesystem? no+#p#
* Export directory now, system restart or both both+
Pathname of alternate exports file[]
Allow access by nfs versions[] +
External name of directory (nfs V4 access only) []
* Security method [sys,krb5p,krb5i,krb5,> +
*Mode to export directory read-write+
Hostname list. If exported read-mostly[]
Hosts & netgroups allowed client access []
Hosts allowed root access []
Security method [] +
Mode to export directory[] +
[MORE...18]
主要需要指定导出的目录就可以了.而这个工具最终会修改/etc/exports文件.这个文件的内容很简单的.当然是否导出也只是这个文件在控制.
#cat /etc/exports
/home/nfs -sec=sys:krb5p:krb5i:krb5:dh:none,rw
/home/kk -sec=sys;krb5p:krb5i:krb5:dh:none,ro
可以看出来这个nfs已经导出2个目录,留意这个所谓导出的目录,需要是本地本地系统存在的目录,意思是这些目录里面的内容可以供客户端读取(写入),否则会出现导出失败的报错.如果手工修改这个文件,执行
# exportfs
/home/nfs -sec=sys:krb5p:krb5i:krb5:dh:none,rw
/home/kk -sec=sys:krb5p:krb5i:krb5:dh:none,ro
来重新读取这个文件,使之生效即可.
验证导出是否成功
#showmount -e server_name
该命令在nfs Server/client上都可以正常运行,列出了由 server_name 当前导出的所有文件系统.
2、客户端配置
1、nfs的client配置比较简单,需要portmap服务正常即可.
#lssrc -s portmap
Subsystem GroupPIDStatus
portmapportmap225506 active
2、在aix上mount nfs服务器上的目录ITPUB个人空间
在aix上mount 名外一台aix上提供的nfs目录,可以使用smit nfs或者使用命令方式进行mount ,使用smit nfs的Add a File System for Mounting进行加载一个nfs目录,按照页面要进行填写即可;
Xmz%ku;JT:v0 使用命令方式:mount -n nfshostname 远程nfs导出目录 本地要挂载的目录(如果目录不存在需要先进行建立)
例:mount 192.168.112.85 /qadai /nnt
使用rpcinfo 命令,用户可以从本地工作站上确认任意nfs服务器上的rpc服务的状态;只需要执行rpcinfo -p hostname即可;
使用nfsstat命令可以统计nfs服务性能;