一、NFS简介
NFS是Network File System的缩写,即网络文件系统。一种使用于分散式文件协定,有SUN公司开发。功能是通过网络让不同的机器、不同的操作系统能够分享个人数据,让应用程序通过网络可以访问位于服务器磁盘中的数据。
NFS在文件传送或信息传送的过过程中,依赖于RPC协议。RPC,远程过程调用(Remote Procedure Call),是使客户端能够执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,就是因为NFS使用了RPC提供的传输协议,可以说NFS就是使用PRC的一个程序。
NFS服务端、RPC协议、客户端三者可以理解为房源、中介、租客之间的关系:
二、系统环境(搭建环境)
系统版本: CentOS Linux release 7.2.1511 (Core)
内核版本: 3.10.0-327.el7.x86_64
NFS-Server 192.168.12.236
NFS-Client 192.168.12.235
iptables: 未运行防火墙
SElinux : getenforce Permissive
三、服务端搭建
1、服务安装
yum install rpcbind nfs-utils portmap
rpcbind 提供端口映射(非必要安装)
nfs-utils NFS主程序,包括NFS的基本命令和监控程序
portmap RPC主程序
2、开启RCP服务
systemctl start rpcbind 启动服务
systemctl enable rpcbind 设置服务开机自启
netstat -antp | grep systemd 查看服务器是否已启用
rpcinfo -p localhost 查看此时rpc服务上面是否有端口注册(111端口被占用则正常)
3、开启NFS服务
systemctl start nfs 启动nfs服务
systemctl enable nfs 设置nfs开机自启
rpcinfo -p localhost |grep nfs 查看nfs启动后是否能正常注册端口
4、服务端配置共享目录(/data)
ps -ef|egrep "rpc|nfs" 配置前确认对应服务已启用
创建共享目录并授权("nfsnobody")
#nfsnobody 用户是开启rpc、nfs进程后系统自动创建的
#mkdir /data
#chown -R nfsnobody: /data 如无进行此步,客户端将会出现无权限写入的情况。
修改服务端配置文件(/etc/exports)
vim /etc/exports
#share /data by oldboy for bingbing at 20160524
/data 172.16.1.0/24(rw,sync)
####
/data1 172.16.1.0/24(rw,sync,all_squash,anonuid=65534,anongid=65534)
注意!
#此时可以修改“anonuid”值来修改NFS默认虚拟用户,前提是用户在系统中存在,可以指定“-s /sbin/nologin”
查看系统加载的配置
systemctl reload nfs 重新加载配置文件
cat /var/lib/nfs/etab 查看指定的配置服务是否加载成功
showmount -e 查看已共享目录,及运行使用的地址
到此nfs服务端就搭建完毕了
参考资料:
Linux下NFS搭建步骤http://www.linuxidc.com/Linux/2016-08/134022.htm