架构必备之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.测试

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

相关推荐
Vic10101几秒前
Redis防重复点击与分布式锁实现方案对比笔记
java·redis·笔记·分布式
食尘者3 分钟前
GLM-4.7 vs MiniMax-M2.1:代码工程理解
架构·ai编程
计算机毕设指导63 分钟前
基于微信小程序的派出所业务管理系统【源码文末联系】
java·spring boot·mysql·微信小程序·小程序·tomcat·uniapp
神秘的猪头9 分钟前
彻底搞懂 React 组件通信:从 TodoList 实战出发,解锁 React 开发的“核心姿势” 🚀
前端·react.js·架构
leafff1239 分钟前
一文了解:Multi-Agent多智能体核心架构的协调与调度模块是如何工作的?
架构
ohoy11 分钟前
Xxl-Job实现订单30分钟未支付自动取消
java
明洞日记12 分钟前
【设计模式手册022】抽象工厂模式 - 创建产品家族
java·设计模式·抽象工厂模式
用户83071968408212 分钟前
Spring Boot 多数据源与事务管理深度解析:从原理到实践
java·spring boot
Yiii_x12 分钟前
基于多线程机制的技术应用与性能优化
java·经验分享·笔记
uup13 分钟前
包装类的 “缓存陷阱”:Integer.valueOf (128) == 128 为何为 false?
java