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

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

相关推荐
AlunYegeer18 分钟前
MyBatis 传参核心:#{ } 与 ${ } 区别详解(避坑+面试重点)
java·mybatis
少许极端30 分钟前
算法奇妙屋(四十)-贪心算法学习之路7
java·学习·算法·贪心算法
危笑ioi31 分钟前
helm部署skywalking链路追踪 java
java·开发语言·skywalking
夕除39 分钟前
Mysql--15
java·数据库·mysql
smileNicky44 分钟前
Linux 系列从多节点的catalina 日志中统计设备调用频次
java·linux·服务器
小程故事多_801 小时前
自然语言智能体控制框架,重塑AI Agent的协作与执行范式
人工智能·架构·aigc·ai编程·harness
2501_933329551 小时前
技术深度拆解:Infoseek舆情系统的全链路架构与核心实现
开发语言·人工智能·分布式·架构
赵丙双1 小时前
spring boot 排除自动配置类的方式和原理
java·spring boot·自动配置
8Qi81 小时前
LeetCode热题100--45.跳跃游戏 II
java·算法·leetcode·贪心算法·编程
bilI LESS1 小时前
Spring Boot接收参数的19种方式
java·spring boot·后端