当前位置: 首页 > news >正文

MooseFS 分布式存储系统

一、什 么 是 M o o s e FS ?

        MooseFS(MFS)是一款开源的分布式文件系统(GPLv3 协议),提供高可用、可扩展的存
储解决方案。其核心设计基于客户机/服务器模式

二、节点类型

三、数据读写流程

1.读数据过程

  1. 客户端向 Master 请求文件元数据(如存储位置)。
  2. Master 返回数据所在的 Chunk Server IP、Port 及 Chunk ID。
  3. 客户端直接与 Chunk Server 通信获取数据。

2.写数据过程

  1. 客户端向 Master 申请写入权限及存储位置。
  2. Master 分配新 Chunk 并通知 Chunk Server 创建块。
  3. 客户端将数据写入指定的 Chunk Server。
  4. 写入成功后,客户端通知 Master 更新元数据。

3.删除/修改流程

  • 删除文件:Master 标记元数据为删除,异步清理 Chunk Server 上的数据块。
  • 修改文件:创建临时交换文件(.swp),完成后替换原文件并删除旧数据块。

四、环境准备与部署

1.节点规划

ip地址节点规划
130Clientnat模式
140master servernat模式,建议内存大一点
150metalogger servernat模式
160chunk server 1nat模式,加两块硬盘
170chunk server 2nat模式,加两块硬盘
180chunk server 3nat模式,加两块硬盘
190chunk server 4nat模式,加两块硬盘

2.拓扑图展示

3.系统基础配置(所有节点)

# 关闭防火墙与 SELinux  
$ systemctl disable --now firewalld  
$ setenforce 0  
$ sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config  
# 添加 MooseFS 官方仓库  
$ curl -o /etc/yum.repos.d/moosefs.repo 
http://repository.moosefs.com/MooseFS-4-el9.repo  
$ dnf clean all && dnf makecache  

五、服务端部署

1.Master Server 安装

# 安装 Master 组件  
$ dnf install -y moosefs-master moosefs-cgi moosefs-cgiserv
# 初始化元数据存储  
$ mfsmaster init 
# 配置客户端访问规则(非必要,可以不改动配置文件)  
$ echo "192.168.88.0/24 / rw,alldirs,maproot=0:0" > /etc/mfs/mfsexports.cfg  
# 启动服务  
$ systemctl enable --now moosefs-master  
# 验证端口监听  

补充介绍:

  • mfsexports.cfg:软件共享配置文件
  • mfsmaster.cfg:软件运行配置文件

2.Metalogger Server 配置

注:最好在数据还没有开始写入的时候进行修改

# 安装组件  
$ dnf install -y moosefs-metalogger  
# 修改配置文件  
$ vi /etc/mfs/mfsmetalogger.cfg  
---------------------------------  
MASTER_HOST = 192.168.66.140  
META_DOWNLOAD_FREQ = 1  # 每小时同步元数据  
---------------------------------  
# 启动服务  
$ systemctl enable --now moosefs-metalogger  

注:当metalogger节点启动后,再次回到master节点可以看到多了一个监听端口,即metalogger的随机端口连接到了master的9419端口

3.Chunk Server 部署

(1)提前准备好要共享的挂载点(设备的分区,格式化,挂载),创建存储目录chunkdir并授权

(2)注册存储路径

 $ echo "/chunkdir" > /etc/mfs/mfshdd.cfg

(3)定义主服务器

$ vi /etc/mfs/mfschunkserver.cfg
MASTER_HOST = 192.168.66.140

(4)启动服务

# 启动服务  
$ systemctl enable --now moosefs-chunkserver

注:再次查看master节点的端口连接,发现又多了四个连接,即chunk server的随机端口连接到master节点的9420端口

补充知识点

  • chunk server还有一个9422端口专门负责监听客户端

六、客户端挂载与使用

1.安装客户端工具

$ dnf install -y moosefs-client fuse3
# moosefs-client:用来管理和连接mfs的命令
# fuse:用户空间文件系统框架

2.挂载文件系统

注:需要创建两个目录,一个用来挂载虚拟根,一个用来挂载回收站

$ mkdir /mfsdata
$ mkdir /mfsmeta  
$ mfsmount /mfsdata/ -H 192.168.66.140 
$ mfsmount -m /mfsmeta/ -H 192.168.66.140 
# 验证挂载  
$ df -hT | grep mfs

注:同一个设备多次挂载的时候,df -h只显示第一次挂载的目录,可以通过mount | grep mfs查看

3.客户端写入数据

注:通过输出重定向在/mfsdata中写入数据,vim写入会产生交换文件,影响实验观察

$ echo "hello world" > a.txt

(1)查看chunk server,可以看到存入了两个文件,一个主,一个副本

注:客户端使用 mfsfileinfo 文件 也可以看到已存在文件的信息

(2)查看master和metalogger设备

(3)客户端再次插入数据,查看chunk server,会发现因为动态平衡机制,数据发生了迁移

注:若通过touch命令创建文件,则在chunk server中不会显示,因为touch创建的是空文件,只有元数据,没有内容

(4)vim写入数据,产生交换文件,可以到/mfsmeta/trash目录下查看,如图即是产生的交换文件

http://www.dtcms.com/a/471812.html

相关文章:

  • 做微信推文的网站个人发布信息的免费平台
  • 做网站的公司成都用muse做网站
  • app网站建设教程视频wordpress tag列表页面
  • 查不到备案的网站wordpress怎么备份按在
  • 泉州网站制作运营商专业湘潭网站定制
  • 北京制作网站的公司简介交互网站是什么
  • 链表和数组
  • 做美食介绍的网站设计公司logo免费
  • 佛山网站建设十年乐云seowordpress 注册 地址
  • 网站设计与规划找人做网站应该注意什么
  • 企业网站的功能有哪些昆明网站建设推荐力鼎科技
  • Vue定义全局弹窗组件,使其在满足某种条件情况下弹出
  • 开发文档规范
  • 合肥 电子商务 网站推广wordpress 循环两个交替
  • 12306网站哪个公司做的wordpress 3.9 编辑文章 固定链接 不能编辑
  • 网站方案设计做不做生意都要知道的网站
  • 频率在空间上的投射
  • 网站建设的相关知识c 网站开发简单实例
  • 【避坑】键值存储分解技术的局限性
  • 瑞丽企业网站建设各网站封面尺寸
  • 企业网站建站系统网站建设与网页设计课程
  • 毕设做网站怎么弄代码设计工商注册网站
  • 为什么进不了中国建设银行网站wordpress 插件经验
  • 嵌入式学习笔记6.PWM
  • 成都网站建设四川推来客网络手表网站 源码
  • 大型大型网站建设方案ppt大连网站建设动态
  • 网站的推广运营wordpress建设
  • 山东住房建设部网站在线p图网页
  • 哪里需要人做钓鱼网站维力安网站建设公司
  • 备案的网站必须打开吗seo是什么意思揉若湖南岚鸿专注