提示:以下是本篇文章正文内容,下面案例可供参考
一、什么是NFS?
NFS: 网络文件系统,英文Network File System(NFS),是由SUN公司研制的UNIX表示层协议(presentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。
如上图所示:
我们在NFS服务器上创建一个共享目录/video后,其他客户端把 这个目录挂载在本地的某个挂载点,这个挂载点可以自己定义,并且挂载好后我们在本地能够看到服务端/video的所有数据。如果服务器端配置的客户端只读,那么客户端就只能够只读。如果配置读写,客户端就能够进行读写。挂载后,NFS客户端查看磁盘信息命令:df -h
二、NFS和RPC原理
由于NFS服务支持多种功能,因此不同的功能由不同的程序启动,所对应的端口也不同, 而客户端在传输数据的时候,需要知道服务端的端口号, RPC就是用来管理NFS端口服务,在NFS服务中所以的端口都交给RPC服务管理,而RPC对外的端口始终为:111, 这样客户端在访问NFS服务的时候,由RPC服务分配,使得客户端能够于服务端链接.
2.1 NFS启动流程
- 首先服务器端启动RPC服务,并开启111端口
- 服务器端启动NFS服务,并向RPC注册端口信息
- 客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口
- 服务端的RPC(portmap)服务反馈NFS端口信息给客户端。
- 客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输。
三、NFS服务部署
3.1 NFS服务端部署
安装NFS服务,需要安装两个软件,分别是:
- RPC主程序:rpcbind
NFS 其实可以被视为一个 RPC 服务,因为启动任何一个 RPC 服务之前,我们都需要做好 端口 的对应 (mapping) 的工作才行,这个工作其实就是『 rpcbind 』这个服务所负责的!也就是说, 在启动任何一个 RPC 服务之前,我们都需要启动 rpcbind 才行 。 - NFS主程序:nfs-utils
提供 rpc.nfsd 及 rpc.mountd 这两个 NFS daemons 与其他相关 documents 与说明文件、执行文件等的软件!这个就是 NFS 服务所需要的主要软件。
第一步:下载安装软件并启动服务
[root@nfs01 ~]# rpm -qa | grep nfs # 先检测是否已经安装nfs
[root@nfs01 ~]# yum install -y nfs-utils rpcbind # 安装nfs服务和rpc服务
# 这里要先启动rpc服务,在启动nfs服务
[root@nfs01 ~]# systemctl restart rpcbind # 启动rpc服务
[root@nfs01 ~]# systemctl enable rpcbind # 设置开机自启
[root@nfs01 ~]# systemctl restart nfs # 启动nf