NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。

NFS在文件传送或信息传送过程中依赖于RPC协议。RPC,远程过程调用 (Remote Procedure Call) 是能使客户端执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的。

NFS应用场景,常用于高可用文件共享,多台服务器共享同样的数据,可扩展性比较差,本身高可用方案不完善,取而代之的数据量比较大的可以采用MFS、TFS、HDFS等等分布式文件系统。

一、安装nfs服务

支持安全NFS RPC服务的连接(Centos5以前这个软件称为portmap,在Centos6之后称为rpcbind)

yum install nfs* portmap -y      或      yum install nfs* rpcbind -y


二、创建共享目录   、  配置 /etc/exports 共享文件

1.    mkdir /sharedata

2.    配置内容              /sharedata/      * (rw,sync,no_hide,no_all_squash)

各部分说明 :          共享目录     被允许的客户端IP(* 表示任意IP都可以)

IP后括号里的设置表示对该共享文件的权限

ro                      只读访问

rw                      读写访问

sync                    所有数据在请求时写入共享

hide                    在NFS共享目录中不共享其子目录

no_hide                 共享NFS目录的子目录

all_squash              共享文件的UID和GID映射匿名用户anonymous,适合公用目录。

no_all_squash           保留共享文件的UID和GID(默认)

root_squash             root用户的所有请求映射成如anonymous用户一样的权限(默认)

no_root_squas           root用户具有根目录的完全管理访问权限


三、重启nfs服务器

1.   service    portmap restartCentos5以前版本

或者 service rpcbind restart Centos 6以后版本

2.   service nfs restart



可能出现NFS 服务失败 ,如:


解决办法:修改共享文件/etc/exports 配置

即:删除出现问题的项   /sharedata/      * (rw,sync,no_all_squash)


四、客户端挂载

1.   挂载命令:mount -t nfs 192.168.1.10:/sharedata   /mnt

2.   检查服务端的NFS服务是不是启动成功 df -h


3.取消客户端挂载

umount /mnt 或者 umount -l /mnt

第二个命令中加了 -l ,是强制执行的命令,对于出现device is busy 时才可以使用

3. 如果有报错根据错误信息排查。

常见问题有rpc服务没有启动、防火墙没关闭、selinux未关闭等问题。