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

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

相关推荐
kong7906928几秒前
Java基础-Lambda表达式、Java链式编程
java·开发语言·lambda表达式
liangsheng_g15 分钟前
泛型新认知
java·序列化·泛型
液态不合群21 分钟前
【面试题】MySQL 三层 B+ 树能存多少数据?
java·数据库·mysql
乾元36 分钟前
ISP 级别的异常洪泛检测与防护——大流量事件的 AI 自动识别与响应工程
运维·网络·人工智能·安全·web安全·架构
李坤林1 小时前
Android Binder 详解(4) Binder 线程池
android·java·binder
代码方舟1 小时前
Java后端实战:构建基于天远手机号码归属地核验的金融级风控模块
java·大数据·开发语言·金融
困知勉行19851 小时前
springboot整合redis
java·spring boot·redis
颜淡慕潇1 小时前
深度解析官方 Spring Boot 稳定版本及 JDK 配套策略
java·后端·架构
Victor3561 小时前
Hibernate(28)Hibernate的级联操作是什么?
后端
Victor3561 小时前
Hibernate(27)Hibernate的查询策略是什么?
后端