NFS是network file system的缩写,它最大的特点是可以通过网络,让不同的机器,不同的系统实现文件共享。
NFS客户端可以将NFS服务器共享的目录挂载在本地的文件系统中,访问目录就如同访问自己本地目录一样。
NFS工作原理
- 首先服务器端启动RPC服务,并开启111端口;启动NFS服务,并向RPC注册端口信息
- 客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口(由程序在NFS客户端发起存取文件的请求,客户端本地的RPC(rpcbind)服务会通过网络向NFS服务端的RPC的111端口发出文件存取功能的请求。)
- 服务端的RPC(portmap)服务反馈NFS端口信息给客户端。
- 客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输。(客户端获取正确的端口,并与NFS daemon联机存取数据。)
- 存取数据成功后,返回前端访问程序,完成一次存取操作。
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是负责信息的传输。
NFS的原理结构其实还是挺简单,NFS就是网络共享目录,就是共享文件.服务端共享,客户端挂载使用。挂载流程原理,就是上面提到的5个流程。NFS要向RPC去注册端口信息。NFS的端口也是随机获取的。
NFS安装部署
服务器和客户端关闭防火墙,安装nfs服务组件:
nfs服务端:192.168.1.1
nfs客户端:192.168.1.2
exports文件详情
报错处理
卸载时报错:
umont.nfs4: /data/share device is busy
umont -l /data/share 强行接触挂载
或者使用
fuser -m /data/share 将会显示使用这个模块的pid
fuser -mk /data/share 将会直接kill那个pid