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

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

相关推荐
踩着两条虫8 小时前
「AI + 低代码」的可视化设计器
开发语言·前端·低代码·设计模式·架构
budingxiaomoli8 小时前
Spring IoC &DI
java·spring·ioc·di
Spider Cat 蜘蛛猫8 小时前
Springboot SSO系统设计文档
java·spring boot·后端
未若君雅裁8 小时前
MySQL高可用与扩展-主从复制读写分离分库分表
java·数据库·mysql
学习中.........9 小时前
从扰动函数的变化,感受红黑树带来的性能提升
java
计算机安禾9 小时前
【c++面向对象编程】第24篇:类型转换运算符:自定义隐式转换与explicit
java·c++·算法
zyk_computer10 小时前
AI 时代,或许 Rust 比 Python 更合适
人工智能·后端·python·ai·rust·ai编程·vibe coding
weixin1997010801610 小时前
【保姆级教程】淘宝/天猫商品详情 API(item_get)接入指南:Python/Java/PHP 调用示例与 JSON 返回值解析
java·python·php
环流_10 小时前
redis核心数据类型在java中的操作
java·数据库·redis
雨辰AI10 小时前
SpringBoot3 项目国产化改造完整流程|从 MySQL 到人大金仓落地
java·数据库·后端·mysql·政务