一、什么是NFS共享存储服务?
(1)NFS(Network File System) 是一种基于TCP/IP 传输的网络文件系统协议,通过使用NFS协议,NFS客户机可以像访问本地目录一样访问远程NFS服务器中的共享资源,对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的做法,NFS也是NAS 存储设备必然支持的一种协议。但是,NFS没有用户认证机制,而且数据在网络上明文传输,故安全性很差,一般只能在局域网中使用。
(2)应用场景:在企业集群架构的工作场景中,特别是中小型网络公司,NFS网络文件系统一般被用来存储共享视频、图片等静态资源文件,比如我们可以把网址用户上传的文件放到NFS共享里,通过网络共享目录,让网络上的其他服务器能够挂载访问共享目录内的数据。
(3)相关文件:
- 依赖于RPC (远端过程调用)
- 需安装nfs-utils 、 rpcbind软件包
- 系统服务: nfs、rpcbind
- 共享配置文件: /etc/exports
二、实验环节 ------ 搭建NFS 共享存储
(一)实验准备:两台虚拟机
一台服务器(名为server,IP地址:192.168.220.129/24)
一台客户机(名为client,IP地址:192.168.220.131/24)
(二)实验开始:
第一步:服务器需要两块磁盘,这里我添加了一块大小为 20g的sdb磁盘,将其分区并格式化好,挂载到/mnt 目录下
第二步:服务端安装nfs-utils 、 rpcbind软件包
第三步:安装完成后,要想把新添加的储存空间共享出去,需要修改/etc/exports 中的配置文件
第三步:开启nfs、rpcbind 服务;并关闭防火墙,优化环境
第四步:检查、确认文件是否已经被共享出去了
使用命令:showmount -e
第五步:回到客户机来测试一下,是否可以用远程共享的空间
测试方法:我在本地安装一个 httpd 的网站服务,站点使用远程服务器提供的空间。
(一)手动挂载:
(1)先安装服务
(2)将空间挂载到本地
(3)此时远程共享的空间已经挂载到本地了,使用起来就和使用本地空间的操作一样,这样就十分方便了。
(二)自动挂载:
除了上面这种办法之外,还可以设置自动挂载的办法可以同样使用共享空间。
(1)先解挂,再在 /etc/fstab 文件中添加自动挂载
(2)刷新挂载点,并查看
(3)为了证明空间可用,现在我在 /index.html 网页中写一段文字,看看访问网站时能否显示出来
(4)开启httpd 服务,并用宿主机电脑登网页查看
访问成功
(5)查看远程服务器,同样路径下也会有相同的文件
第六步:如何强制卸载 NFS:
NFS 客户端与服务器的耦合度是非常高的,如果客户端正在挂载使用,服务器端的NFS 突然停掉了,那么我们在客户端执行 df -h 命令会出现卡死现象,同时使用umoun命令也是无法直接卸载的。此时我们需要重新开一个终端,使用mount -lf 命令(l:表示解除正在繁忙的文件系统;f:表示强制)
(1)服务端关闭 nfs 服务
(2)客户端无法使用 df -h 命令
(3)重新开一个终端,使用umount -lf
三、NFS 常见的故障及解决办法:
(1)当NFS 无法挂载使用时,首先检查配置文件的正确性,是否允许了该网段的访问,确保服务器的nfs 和rpcbind 服务都开启了,同时客户端也要开启 rpcbind 服务,这是能够使用nfs 共享挂载的前提。
(2)在确保服务都开启的情况下,客户端出现挂载共享文件时间过长等待的情况,可以ping 一下服务器的地址,检查一下网络是否正常。
(3)同时还需要注意关闭防火墙等功能,防止信息的阻隔。