NFS 是什么 NFS,是 Network File System 的简写,即网络文件系统。网络文件系统是 FreeBSD 支持的文件系统中的一种,也被称为 NFS,NFS 允许一个系统在网络上与他人共享目录和文件。通过使用 NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。 运行模式: C/S 模式 端口 ..

Centos7-NFS 服务配置实战

NFS 是什么

NFS,是 Network File System 的简写,即网络文件系统。网络文件系统是 FreeBSD 支持的文件系统中的一种,也被称为 NFS,NFS 允许一个系统在网络上与他人共享目录和文件。通过使用 NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。
运行模式: C/S 模式
端口:CentOS7 以 NFSv4 作为默认版本,NFSv4 使用 TCP 协议(端口号是 2049)和 NFS 服务器建立连接。

典型应用场景

有个单体应用现在需要对其进行横向扩展,但是由于这个应用比较老且在开发之初未考虑其扩展性,文件与应用数据都是存在一台服务器上。
这样在对应用扩容时就不能简单的直接将应用部署多台,会导致应用文件路径不正确。我们先需要搭建一套分布式文件服务器如 FastDFS,然后对所有操作文件的接口进行修改调整。改动量还是相当大的,如果需要快速上线直接搭建一套 NFS 网络文件系统即可。
image.png

由于文件在所有应用服务器上都存在一份,应用服务器读取其他服务器上的文件就跟在本地读取一样,应用端代码不需要进行改造,这样就实现了应用的快速扩容。

接下来我们就来看一下使用 CentOS7 部署 NFS 的详细过程。

部署过程

Server 端部署

安装 NFS

## 查看防火墙状态
systemctl status firewalld
## 关闭防火墙
systemctl stop firewalld

配置 NFS

/app/file *(rw,sync)

执行 exportfs –rv 让配置立即生效

systemctl enable nfs
systemctl enable rpcbind
systemctl start nfs
systemctl start rpcbind

客户端配置

## 查看防火墙状态
systemctl status firewalld
## 关闭防火墙
systemctl stop firewalld
## 安装NFS
yum install nfs-utils rpcbind  -y
## 将NFS加入开启启动
systemctl enable nfs
## 将rpcbind加入开启启动
systemctl enable rpcbind
##启动NFS
systemctl start nfs 
## 启动RPCbind
systemctl start rpcbind  		      
sudo fuser -m -v -i -k /app/file
sudo umount /app/file

直接使用 umount /app/file 可能会报“Device is busy”错误。

  • 工具

    子曰:“工欲善其事,必先利其器。”

    150 引用 • 503 回帖 • 1 关注
回帖
请输入回帖内容...