一、NFS服务简介
NFS 就是 Network FileSystem 的缩写,最早之前是由sun 这家公司所发展出来的。 它最大的功能就是可以透过网络,让不同的机器、不同的操作系统、可以彼此分享个别的档案 (share files)。所以,你也可以简单的将他看做是一个文件服务器 (file server) 呢!这个 NFS 服务器可以让你的 PC 来将网络远程的 NFS 服务器分享的目录,挂载到本地端的机器当中, 在本地端的机器看起来,那个远程主机的目录就好像是自己的一个磁盘分区槽一样 (partition)!使用上面相当的便利!
因为 NFS 支持的功能相当的多,而不同的功能都会使用不同的程序来启动, 每启动一个功能就会启用一些端口来传输数据,因此, NFS 的功能所对应的端口才没有固定住, 而是随机取用一些未被使用的小于 1024 的端口来作为传输之用。但如此一来又造成客户端想要连上服务器时的困扰, 因为客户端得要知道服务器端的相关端口才能够联机吧!
此时我们就得需要远程过程调用 (RPC) 的服务啦!RPC 最主要的功能就是在指定每个 NFS 功能所对应的 port number ,并且回报给客户端,让客户端可以连结到正确的端口上去。 那 RPC 又是如何知道每个 NFS 的端口呢?这是因为当服务器在启动 NFS 时会随机取用数个端口,并主动的向 RPC 注册,因此 RPC 可以知道每个端口对应的 NFS 功能,然后 RPC 又是固定使用 port 111 来监听客户端的需求并回报客户端正确的端口, 所以当然可以让 NFS 的启动更为轻松愉快了!
所以你要注意,要启动 NFS 之前,RPC 就要先启动了,否则 NFS 会无法向 RPC 注册。 另外,RPC 若重新启动时,原本注册的数据会不见,因此 RPC 重新启动后,它管理的所有服务都需要重新启动来重新向 RPC 注册。
当客户端有 NFS 档案存取需求时,他会如何向服务器端要求数据呢?
1、客户端会向服务器端的 RPC (port 111) 发出 NFS 档案存取功能的询问要求;
2、服务器端找到对应的已注册的 NFS daemon 端口后,会回报给客户端;
3、客户端了解正确的埠口后,就可以直接与 NFS daemon 来联机。
由于 NFS 的各项功能都必须要向 RPC 来注册,如此一来 RPC 才能了解 NFS 这个服务的各项功能之 port number, PID, NFS 在服务器所监听的 IP 等等,而客户端才能够透过 RPC 的询问找到正确对应的埠口。 也就是说,NFS 必须要有 RPC 存在时才能成功的提供服务,因此我们称 NFS 为 RPC server 的一种。事实上,有很多这样的服务器都是向 RPC 注册的,举例来说,NIS (Network Information Service) 也是 RPC server 的一种呢
二、所需要的软件及软件结构
要设定好 NFS 服务器我们必须要有两个软件才行,分别是:
|
|
NFS 记录文件
|
|
三、系统环境
系统CentOS7.1
服务器端IP 192.168.214.71
客户端IP 192.168.214.81
四、服务器端安装NFS服务
1.查看系统是否已安装NFS
|
|
2.安装NFS
|
|
五、服务端配置
1.在NFS服务端上创建共享目录/opt/files/lys并设置权限
|
|
2.编辑export文件
|
|
|
|
3.配置生效
|
|
4.启动rpcbind、nfs服务
|
|
5.查看 RPC 服务的注册状况
|
|
|
|
在你的 NFS 服务器设定妥当之后,我们可以在 server 端先自我测试一下是否可以联机,利用 showmount 这个指令来查阅!
|
|
|
|
六、客户端配置
1.安装nfs-utils客户端
|
|
2.创建挂载目录
|
|
3.查看服务器抛出的共享目录信息
|
|
4.挂载目录
|
|
|
|
3.配置生效
|
|
七、测试结果
1.查看挂载结果
|
|
2.服务端
创建test.txt并往文件中写入内容test
3.客户端
查看test.txt文件内容并写入内容1024
|
|
4.服务端
查看test.txt文件内容
|
|
八、卸载已挂在的NFS
1.查看挂载结果
|
|
九、防火墙
1.查看挂载结果
为了方便配置防火墙,需要固定nfs服务端口
NFS启动时会随机启动多个端口并向RPC注册,这样如果使用firewalls对NFS端口进行限制就会有点麻烦,可以更改配置文件固定NFS服务相关端口。
|
|
分配端口,编辑配置文件:
|
|
添加:
|
|
重启:
|
|
查看结果
|
|
可以看到,随机端口以固定
firewalls策略问题完美解决!!!