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 restart (Centos5以前版本)
或者 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未关闭等问题。