一、NFS服务简介
NFS (Network File System)即网络文件系统。由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。
NFS在文件传送或信息传送过程中依赖于RPC协议。RPC,远程过程调用 (Remote Procedure Call) 是能使客户端执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些其它的传输协议。而这些传输协议用到这个RPC功能的。可以说NFS本身就是使用RPC的一个程序。或者说NFS也是一个RPC SERVER。所以只要用到NFS的地方都要启动RPC服务,不论是NFS SERVER或者NFS CLIENT。这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应。可以这么理解RPC和NFS的关系:NFS是一个文件系统,而RPC是负责负责信息的传输。
二、服务器环境(仅供参考)
系统:CentOS release 6.5 (Final)
三、下载软件包
yum -y install nfs-utils rpcbind#下载nfs和rpc软件包(portmap已经被rpcbind取代)
rpm -qa | grep nfs-utils#通过rpm命令查询一下有哪些相关包
rpm -qa | grep rpcbind #通过rpm命令查询一下有哪些相关包
四、服务启动
因为这两个包是通过yum安装的,所以可以用service命令进行操作
service nfs start(restart)
service rpcbind start(restart)
查看rpc端口
rpcinfo -p localhost
设置开机启动
方法一:
chkconfig --level 2345 nfs on
chkconfig --level 2345 rpcbind on
方法二:
vim /etc/rc.local
加入 service nfs start(restart) // service rpcbind start(restart)
五、配置选项
mkdir /var/cloud
chmod a+x /var/cloud
vim /etc/exports
加入:/var/cloud/ 172.16.0.20 (rw,async,no_root_squash)#共享路径 客户端主机(选项)
NFS选项:ro(只读),rw(读写)
sync(同步写,当写入磁盘才返回成功信息),async(异步写,写入内存就返回成功信息) #这两个选项决定什么时候回返信息
wdelay(延迟写),no_wdelay(非延迟写) #这两个决定怎么写,写入内存后是否缓冲再写入磁盘
no_root_squash(不屏蔽远程root),all_squash(屏蔽所有远程用户权限)
六、客户端访问
客户端:
客户端机只需安装rpcbind服务,然后直接对目标文件夹进行挂载
mount -t nfs 172.16.0.20:/var/cloud /var/nfs
七、防火墙配置
当然可以通过关闭防火墙的方式来避免设置
由于nfs服务需要开启 mountd,nfs,nlockmgr,rpcbind,rquotad这5个服务,需要将这5个服务的端口加到iptables里面