AIX6开启NFS服务
NFS协议是stateless的。服务端是没有跟踪记录客户端对目录操作的状态,服务端只是记录有哪些客户机在操作。要求客户端是主动和智能的,即由客户端提出对服务端的共享文件的mount方式,比如,服务端宕机,客户机如何处理等。
NFS服务端需要的守候进程(daemon) :
portmap(端口映射器,记录nfs所用端口,实现访问)
nfsd(主进程)
rpc.mountd
rpc.statd
rpc.lockd
NFS客户端需要的守候进程(daemon) :
portmap
biod(客户端主进程,对应nfsd)
rpc.statd
rpc.lockd
rpc.mountd 进程:
运行在服务端,响应客户端的mount请求发送的mount请求,并查看是否有所需的共享目录。
nfsd 进程:
运行于服务端,和biod配合完成NFS的文件读写操作。
biod 进程:
运行于客户端,和nfsd配合完成NFS的文件读写操作。
rpc.lockd and rpc.statd 进程:
客户端和服务端都要运行,用来监控和锁定NFS文件的操作。
portmap 进程:
用来给基于RPC协议的服务分配一个通讯端口。基于RPC协议的服务必须先从portmap得到分配的的端口,之后才能对外正常服务。NFS服务是基于RPC通信,所以无论是客户端还是服务端,都要在启动RPC其他相关子进程之前,先启动pormap进程。
进程通信关系:
配置方式:
1.手动修改配置文件和手工启动服务
2.用smit工具配置和启动服务
注意:只有root才能配置NFS
手动修改配置文件/etc/exports
执行exportfs –a,使配置文件内容生效
用startsrc –g nfs 启动NFS相关子进程
此文件列出要共享的内容,示例:
# cat /etc/exports
/tmp/thomasc -access=server1:server2:server4
/tmp/thomasc/testfs
/usr/man –ro(readonly)
用命令exportfs –a读取此文件,才能把内容共享出去,使其他机器的用户可以使用本机的文件
access
只允许server1、server2和server3访问/tmp/thomasc目录,其他机器不允许访问.
ro
/usr/man目录被设置为只读,若无任何参数,则默认为rw
/etc/rmtab
当服务器的rpc.mountd进程接收到一个来自客户端的mount请求后,在/etc/rmtab文件中记录客户端主机名和mount的目录,当客户端把共享的目录umount后,/etc/rmtab中的记录会自动去除,可以通过命令 showmount -a 来查看此文件内容
/etc/xtab
列出系统有哪些共享的内容
rpc.moutd接受到来自客户端的请求,先去查看/etc/xtab这个文件,看是否有用户所需要的。
具体操作
实验目的:
本系统使用2台AIX服务器来完成实验,client AIX207 ip为:192.168.1.207,server AIX208 ip为:192.168.1.208,把server 上的/arlv01文件系统通过nfs的方式挂载到client上(server已创建名为arlen的VG,创建LV ---arlv01,已挂载至/arlv01)。
lsvg
查看arlen 下的lv,lv--/dev/arlv01已挂载到/arlv01.
Lsvg -l arlen
1.开启nfs服务
Startsrc -g nfs
2.查看nfs服务启动情况(发现nfs进程已经起来了)
Lssrc -g nfs
3.在server中把需要被nfs的文件export一下:
Smit nfs
配置记录会自动记载到:/etc/exports中
Cat /etc/exports
4.在client AIX207中挂载nfs:
Mkdir /arlv01
mount -o soft 192.168.1.208:/arlv01 /arlv01
查看挂载情况:
发现已经挂载成功!!!
以下偏重于原理信息:
为了便于验证,服务器AIX208新创建lv----arlv02挂载至 /arlv02下
挂载或卸载的时候,服务器端rpc.mountd进程会在/etc/rmtab中生成挂载记录----添加或删除,登记客户端挂载目录信息:
Cat /etc/rmtab
或通过
Showmount -a 查看
显示客户端client AIX207已挂载server AIX208 /arlv02。
/etc/xtab跟/etc/exports文件内容一模一样,但具体功能有待继续研究,可能exports为配置文件,而xtab为客户端请求时需要验证的文件。
如:来自其他文档的解释:
rpc.moutd接受到来自客户端的请求,先去查看/etc/xtab这个文件,看是否有用户所需要的
Cat /etc/xtab
5.查看命令:
rpcinfo -p 192.168.1.208
program vers proto port service
………..
100003 2 udp 2049 nfs
100005 1 udp 40212 mountd
……..
(查阅/etc/rpc文件,nfsd (100003和100005对应的RPC服务是nfsd和mountd,也就是说portmap注册了这两个服务)
nfso –a
portcheck= 0
udpchecksum= 1
nfs_socketsize= 60000
nfs_tcp_socketsize= 60000
修改NFS的内核某个参数:
nfso -o nfs_tcp_socketsize=80000
查看NFS通信状态,可用来监控NFS性能:
Nfsstat
………..
Server rpc:
Connection oriented:
calls badcalls nullrecv
0 0 0
………..