想要查看挂载了NFS服务器export目录的客户端信息,运行命令showmount -a,发现没有返回任何信息。
查阅资料发现
The showmount command does not display the names of NFS Version 4 clients.查看UNIX在线手册页: http://www.unix.com/man-page/all/1m/showmount
进一步验证这个说法,在客户端运行命令:
mount -t nfs -o nfsvers=3 host:/exportdir /client_dir #指定使用nfs version 3来挂载
再运行showmount -a可以看到有客户端信息了:
在版本2和3中,nfs服务器是通过守护进程rpc.mountd提供服务的,它有-V(--nfs-version)参数可以指定nfs的版本,客户端向nfs服务器发送MNT请求,
该请求包含两个参数:一个绝对路径表示的目录和一个隐式参数表示请求发送方的IP地址。rpc.mountd会将没个成功的MNT请求加入/var/lib/nfs/rmtab文件记录中。
当接收到一个UMNT请求时就从该文件中移除一个记录。
备注:nfs版本4中不使用此守护进程,实际上rmtab文件也没有客户端的记录
rpc.nfsd实现了用户层的nfs服务。
mount.nfs是nfs工具包的一部分,提供nfs客户端功能。它被mount命令使用,用来挂载nfs共享目录,然而这个子命令也可以作为一个单独的命令来运行,只不过功能有限。