架构必备之NFS--高可用的文件共享系统

NFS 是Network File System的缩写,即网络文件系统。类似于windows下的文件共享一样,可以使不同的主机系统之间可以共享文件或目录,以便实现数据共享。

NFS主要由两部分组成,服务端和客户端。NFS主机分享的目录,挂载到本地客户端当中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,在客户端端看起来,就像访问本地文件一样。

本文以centos系统为例,介绍下服务的搭建流程,整体架构如下:

主机 角色
10.0.0.1 NFS服务器
10.0.0.2 NFS客户端1
10.0.0.3 NFS客户端2

1.在服务端安装NFS

  • 1.1 安装nfs及rpcbind,命令如下

yum -y install nfs-utils rpcbind

  • 1.2 分别启动rpcbind和nfs
sql 复制代码
service rpcbind start

service nfs start
  • 1.3 创建目录并赋予权限

mkdir -p /nfs/shareDir && chmod -R 777 /nfs/shareDir

  • 1.4 配置exports文件并添加内容
bash 复制代码
vi /etc/exports

/nfs/shareDir ip(rw)
/nfs/shareDir/ *(insecure,rw,async,no_root_squash)

ip为要换成服务端的真实ip信息

  • 1.5 刷新配置使之生效

exportfs -a

  • 1.6 查看目录

showmount -e ip

ip为要换成服务端的真实ip信息

  • 1.7 设置rpcbind和nfs开机自启,上述流程执行完毕后,服务端已经搭建完成,但是为了服务端意外情况出现关机服务不可用,所以需要设置rpcbind和nfs开机自启
csharp 复制代码
chkconfig rpcbind on

chkconfig nfs on

2.在客户端安装NFS

  • 2.1 安装 nfs-utils,命令如下

yum install nfs-utils

  • 2.2 创建挂在目录并赋予权限

mkdir -p /nfs/shareDir && chmod -R 777 /nfs/shareDir

  • 2.3 挂载目录

mount ip:/nfs/shareDir /nfs/shareDir

注意上述ip要换成服务端的ip信息,而不是客户端的ip

  • 2.4 编辑fstab文件, 使系统每次启动时都能自动挂载
bash 复制代码
vim /etc/fstab

添加如下:
ip:/nfs/dataDir  /nfs/shareDir       nfs    defaults 0 0

注意上述ip要换成服务端的ip信息,而不是客户端的ip

编辑完fstab文件后,重启计算机系统,查看自动挂载是否生效

3.测试

为了验证服务是否可用,可以在某一个客户端创建一个文件,查看其他两台机器是否可以看到,或者在服务端编辑文件,查看客户端数据是否同步。

相关推荐
企业数字化笔记10 小时前
租户停用后数据和任务怎么处理?冻结、恢复与保留策略的实现
android·java·spring boot
做个文艺程序员10 小时前
MQ第12篇:AI原生消息架构演进:从MQ到事件驱动的全链路设计
架构·消息队列·wpf·事件驱动架构·ai-native·cqrs
CarIise10 小时前
Spring MVC 请求参数绑定与常用注解
java·spring·mvc
晓得迷路了10 小时前
栗子前端技术周刊第 150 期 - Stack Overflow 开发者调查结果、TanStack Start 1.0...
javascript·css·后端
vx_Biye_Design10 小时前
PHP中医养生馆预约系统60841-计算机课程设计、毕业设计
vue.js·spring boot·后端·mysql·php·课程设计·express
IT_陈寒10 小时前
Vite性能优化完全指南
前端·人工智能·后端
一条泥憨鱼10 小时前
AI Agent 安全实践:从 MCP 工具调用到 Java 权限校验
java·人工智能·安全
怕浪猫10 小时前
LLMOps 架构设计:从零搭建一个 AI 平台,我画了完整的系统图
架构·llm·aigc
Nebula_g10 小时前
云禾外卖补充—项目整体后端运行逻辑-对流程的更深层次理解
java·开发语言·网络·数据库·状态模式·javase
萧瑟余晖10 小时前
Spring Security 6.x新特性与架构演进详解
java·spring·架构