分类: LINUX
2010-01-22 10:37:08
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 |
3、2和3成对完成预读后写功能。保证系统响应速度。
4、4和5配对,完成文件锁定功能。
5、服务端需要1,6,2,4,5进程;客户端需要1,3,4,5进程。
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 Group PID Status
biod nfs 712706 active
nfsd nfs 635260 active
rpc.mountd nfs 462932 active
rpc.lockd nfs 639418 active
rpc.statd nfs 757914 active
nfsrgyd nfs 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目录,smitty mknfsexp
[TOP] [Entry Fields]
* Pathname of directory to export [] /
Anonymous UID [-2]
Public filesystem? no +
* 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 当前导出的所有文件系统。
1、nfs的client配置比较简单,需要portmap服务正常即可。
#lssrc -s portmap
Subsystem Group PID Status
portmap portmap 225506 active
2、在aix上mount nfs服务器上的目录ITPUB个人空间!n(`%\BA(f;f$QT"a
在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即可;
Z9F1}Z/i,~0使用nfsstat命令可以统计nfs服务性能;