Centos7部署NFS实战

本文涉及的产品
云防火墙,500元 1000GB
简介: NFS,是Network File System的简写,即网络文件系统。

NFS是什么


网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS,NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。


运行模式: C/S 模式


端口:CentOS7以NFSv4作为默认版本,NFSv4使用TCP协议(端口号是2049)和NFS服务器建立连接。


典型应用场景


有个单体应用现在需要对其进行横向扩展,但是由于这个应用比较老且在开发之初未考虑其扩展性,文件与应用数据都是存在一台服务器上。


这样在对应用扩容时就不能简单的直接将应用部署多台,会导致应用文件路径不正确。我们先需要搭建一套分布式文件服务器如FastDFS,然后对所有操作文件的接口进行修改调整。改动量还是相当大的,如果需要快速上线直接搭建一套NFS网络文件系统即可。


1.png


  • 首先利用NFS搭建文件Server端


  • 然后在应用上也安装NFS,并将应用文件目录/app/file挂载到Server端指定目录/app/file,这样在应用上上传文件后,文件会自动同步到Server端


  • 将应用部署多台进行横向扩容,并全部按照步骤2进行文件挂载。这样文件也都会同步到所有的应用服务器上。


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


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


部署过程

Server端部署

安装NFS


  • 检查是否安装NFS
    rpm -qa nfs-utils rpcbind


  • 关闭防火墙


##查看防火墙状态systemctlstatusfirewalld##关闭防火墙systemctlstopfirewalld


  • 安装NFS
    yum install nfs-utils rpcbind -y


  • 检查安装结果
    rpm -qa nfs-utils rpcbind


2.png


出现上图所示则表明安装成功


配置NFS


  • 创建配置文件
    vi /etc/exports


  • 建立同步文件夹
    mkdir -p /app/file


  • 对同步文件夹进行授权
    chown -R nfsnobody.nfsnobody /app/file/


  • 在配置文件中加入如下配置


/app/file*(rw,sync)


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


  • 将NFS和rpcbind加入开机启动


systemctlenablenfssystemctlenablerpcbind


  • 启动NFS和rpcbind


systemctlstartnfssystemctlstartrpcbind


  • 查看NFS启动状态
    systemctl status nfs


3.png


客户端配置


  • 关闭防火墙


##查看防火墙状态systemctlstatusfirewalld##关闭防火墙systemctlstopfirewalld


  • 安装NFS软件包,并把NFS服务设为开机启动


##安装NFSyuminstallnfs-utilsrpcbind-y##将NFS加入开启启动systemctlenablenfs##将rpcbind加入开启启动systemctlenablerpcbind##启动NFSsystemctlstartnfs##启动RPCbindsystemctlstartrpcbind


  • 将应用文件夹挂载到服务器上
    mount –t nfs 172.31.63.132:/app/file /app/file
    挂载完成后可以使用mount | grep file命令查看挂载情况


  • 取消挂载


sudofuser-m-v-i-k/app/filesudoumount/app/file


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

目录
相关文章
|
3月前
|
监控 前端开发 Linux
centos7系统安装部署zabbix5.0
【9月更文挑战第23天】在CentOS 7系统上部署Zabbix 5.0的步骤包括:安装MariaDB数据库及必要软件包,配置Zabbix仓库,设置数据库并导入Zabbix数据库架构,配置Zabbix服务器与前端参数,启动相关服务,并通过浏览器访问Web界面完成安装向导。
236 0
|
1月前
|
Oracle 关系型数据库 MySQL
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
|
3月前
|
Oracle Java 关系型数据库
CentOS 7.6操作系统部署JDK实战案例
这篇文章介绍了在CentOS 7.6操作系统上通过多种方式部署JDK的详细步骤,包括使用yum安装openjdk、基于rpm包和二进制包安装Oracle JDK,并提供了配置环境变量的方法。
302 80
|
2月前
|
存储 Linux 开发者
虚拟机centos7.9一键部署docker
本文介绍了如何在 CentOS 7.9 虚拟机上安装 Docker 社区版 (Docker-ce-20.10.20)。通过使用阿里云镜像源,利用 `wget` 下载并配置 Docker-ce 的 YUM 仓库文件,然后通过 `yum` 命令完成安装。安装后,通过 `systemctl` 设置 Docker 开机自启并启动 Docker 服务。最后,使用 `docker version` 验证安装成功,并展示了客户端与服务器的版本信息。文中还提供了列出所有可用 Docker-ce 版本的命令。
254 0
虚拟机centos7.9一键部署docker
|
3月前
|
存储 Kubernetes 负载均衡
CentOS 7.9二进制部署K8S 1.28.3+集群实战
本文详细介绍了在CentOS 7.9上通过二进制方式部署Kubernetes 1.28.3+集群的全过程,包括环境准备、组件安装、证书生成、高可用配置以及网络插件部署等关键步骤。
660 3
CentOS 7.9二进制部署K8S 1.28.3+集群实战
|
3月前
|
Kubernetes Linux API
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
该博客文章详细介绍了在CentOS 7.6操作系统上使用kubeadm工具部署kubernetes 1.17.2版本的测试集群的过程,包括主机环境准备、安装Docker、配置kubelet、初始化集群、添加节点、部署网络插件以及配置k8s node节点管理api server服务器。
164 0
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
|
1月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第16天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括配置系统源、安装 SQL Server 2019 软件包以及数据库初始化,确保 SQL Server 正常运行。
|
1月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
|
1月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
2月前
|
Linux 网络安全 数据安全/隐私保护
Linux系统之Centos7安装cockpit图形管理界面
【10月更文挑战第12天】Linux系统之Centos7安装cockpit图形管理界面
117 1
Linux系统之Centos7安装cockpit图形管理界面