1、认识nfs服务
实验系统:rhel5.5
6.0系统的portmap改名rpcbind
nfs为Network File System的缩写,即网络文件系统。nfs是unix或类unix操作系统常用的网络共享文件系统之一,通过nfs,用户可以像访问本机磁盘一样访问网络上的文件系统。
nfs可以提供的服务包括在目录中搜寻文件,列出文件,目录管理,获取文件属性和文件读写,nfs的优点在于,本地计算机可以使用较少的磁盘空间,而将数 据存放于一台机器上并通过网络访问;用户不必在每个网络机器上都有家目录,家目录可以放在nfs服务器上通过网络访问:DVD-ROM,移动硬盘,U盘和 其他存储介质可以通过网络共享访问,这样可以减少网络上的移动存储器的数量。
nfs需要用到RPC(远程过程调用)。那么什么是RPC?nfs与rpc的关系是什么呢?首先我们了解nfs的工作原来,nfs提供了许多小的程序,这 些程序有不同的功能,每启动一个功能就会启用一些端口来传输数据。nfs的这些功能对应的端口并非固定,这些端口号是小于1024的随机端口。这样依赖, 客户端如何才能知道服务器上这些随机端口的端口号呢?RPC就承担了让客户端和nfs通信的作用.rpc的作用就在于指派这些nfs的功能对应的端口号, 并且和客户端通信,让客户端可以顺利的和这些端口连接。nfs的程序会通知rpc相关的程序端口号,然后rpc再通知用户端。因为rpc服务的端口号本身 是固定的(111端口),所以客户端只需要和111端口通信就可以活的所有相关的端口号和信息了。
nfs工作的流程如下:
1>客户端向RPC端口发送请求,要求和NFS程序通信。
2>rpc将nfs程序的端口号发回给客户端。
3>客户端与nfs程序建立连接。
nfs需要至少5个监控程序才可以正常运行。这些监控程序的文件名和作用如下:
~rpc.nfsd。他通过/etc/rc.d/init.d/nfs脚本启动,作用在于判断客户端是否具有登录nfs服务器的权限。
~rpc.mountd。装载nfs文件系统的程序,他可以判断文件的使用权限。
~portmap。portmap的作用在乎定向RPC通信流,是NFS重要组成部分。
~rpc.statd。在NFS服务器和客户端通信中断后,rpc.statd和rpc.lockd可以帮助客户端重新连接至服务器。rpc.statd必须在客户端和服务器都启用时才有效。
~rpc.lockd。当多个用户连接nfs服务器时,有可能试图访问同一文件。这个程序的作用在于锁定文件,以避免文件被不同的更改请求覆盖。rpc.lockd必须在客户端和服务器端都启用时才有效。
2、nfs服务器安装
2.1、在上一节中,提到了nfs服务必须和rpc服务协同工作,所以安装nfs服务至 少需要两个rpm包:nfs-utils*.rpm和portmap*.rpm。在RHEL5安装光盘中,还有一个图形界面的nfs配置工 具:system-config-nfs,这个包是可选安装的。
2.2、配置nfs服务器
首先,这里介绍一个nfs相关的重要文件。
*/etc/exports.这个文件就是nfs的主配置文件,在nfs安装完成后,这个文件的内容为空。nfs的设定只需要编辑到这个文件。
*/usr/sbin/showmount。这个命令是客户端用来查看服务器上的共享资源目录的。
*/usr/sbin/exportf。此命令可以重新共享服务器上的资源。一般在nfs主设定文件/etc/exports变更后,可以用到他。
*/var/lib/xtab。nfs的记录文件,包含客户端的连接记录。
6.0为/var/lib/nfs/etab
下面介绍如何配置/etc/exports这个nfs的主设定文件。该文件内容的格式如下:
目录名称
这里的目录名称就是共享文件夹的路径;在目录名称后,只可访问此目录的主机名或IP,上面的“参数1/2...”指定了该主机的访问权限和访问策略。下面列出了常用的参数的解释和作用。
rw
ro
sync
async
no_root_squash
root_squash
all_squash
anonuid
anongid