Centos7部署NFS实战

简介: 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”错误。

目录
相关文章
|
30天前
|
Shell Linux 应用服务中间件
centos系统内容器部署服务访问不到是因为run后面加了bash
centos系统内容器部署服务访问不到是因为run后面加了bash
|
1月前
|
存储 关系型数据库 Linux
CentOS如何使用Docker部署Plik服务并实现公网访问本地设备上传下载文件
CentOS如何使用Docker部署Plik服务并实现公网访问本地设备上传下载文件
42 4
|
1月前
|
存储 安全 网络协议
云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南
云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南
48 0
|
1月前
|
运维 网络协议 Linux
【Linux】CentOS网络故障排查大揭秘: 实战攻略解读
【Linux】CentOS网络故障排查大揭秘: 实战攻略解读
|
1月前
|
网络协议 Linux
Centos7 nfs常用命令详解
`/etc/exports`是NFS服务的配置文件,定义了共享给客户端的文件系统和访问规则。共享目录、客户端IP或域名、以及访问权限和用户映射选项是其主要内容。客户端指定方式包括IP地址、子网、域名或通配符。选项包括读写权限(ro/rw)、用户映射(如root_squash/no_root_squash/all_squash)和其他设置(sync/async/secure/insecure等)。`exportfs -r`用于重新应用配置。配置示例:`/opt/test`共享给192.168.1.0/24,权限为rw,同步写入(sync)。注意,不建议开启no_root_squash以确保安全。
34 0
|
1月前
|
Linux 网络安全
Centos6.5安装并配置NFS服务
该内容描述了在Linux系统中设置NFS服务的步骤。首先挂载yum源,然后安装NFS服务,并编辑配置文件。接着,重启rpcbind和NFS服务,可能需要重复此过程以解决初始可能出现的问题。此外,关闭防火墙策略,并再次重启服务。最终,根目录被共享,特定IP网段被允许访问。
47 0
|
1月前
|
Linux 数据库 开发者
Centos7安装docker并部署halo建站
Docker 是一个开源的应用容器引擎,它允许开发者将应用及其依赖打包到可移植的容器中,然后在任何支持 Docker 的平台上运行。Docker 的核心概念包括镜像(Image)、容器(Container)和仓库(Repository)。镜像是创建容器的基础,容器是镜像的运行实例,而仓库是存储和分发镜像的中心仓库。 Docker 的优势在于快速、一致地交付应用,实现响应式部署和扩展,以及更高效地利用硬件资源。它常用于简化配置、代码流水线管理、提
61 0
|
1月前
|
运维 安全 Linux
如何在CentOS部署JumpServer堡垒机并实现无公网ip环境远程访问
如何在CentOS部署JumpServer堡垒机并实现无公网ip环境远程访问
|
1月前
|
数据可视化 Linux Apache
CentOS部署Apache Superset大数据可视化BI分析工具并实现无公网IP远程访问
CentOS部署Apache Superset大数据可视化BI分析工具并实现无公网IP远程访问
|
1月前
|
JavaScript Linux 数据安全/隐私保护
如何在CentOS7部署Wiki.js知识库并实现分享好友公网远程使用【内网穿透】
如何在CentOS7部署Wiki.js知识库并实现分享好友公网远程使用【内网穿透】