MFS(moosefs)分布式文件系统最简单的搭建

mfs是一个分布式文件系统
MooseFS(即Moose File System,简称MFS)是一个具有容错性的网络分布式文件系统,它将数据分散存放在多个物理服务器或单独磁盘或分区上,确保一份数据
有多个备份副本,对于访问MFS的客户端或者用户来说,整个分布式网络文件系统集群看起来就像一个资源一样,也就是说呈现给用户的是一个统一的资源。
MooseFS就相当于UNIX的文件系统(类似ext3、ext4、nfs),它是一个分层的目录树结构。
MFS存储支持POSIX标准的文件属性(权限,最后访问和修改时间),支持特殊的文件,如块设备,字符设备,管道、套接字、链接文件(符合链接、硬链接);
优点
1)部署简单,轻量、易配置、易维护
2)易于扩展,支持在线扩容,不影响业务,体系架构可伸缩性极强(官方的case可以扩到70台)
3)通用文件系统,不需要修改上层应用就可以使用(比那些需要专门api的dfs方便多了)。
4)以文件系统方式展示:如存图片,虽然存储在chunkserver上的数据是二进制文件,但是在挂载mfs的client端仍旧以图片文件形式展示,便于数据备份
5)硬盘利用率高。测试需要较大磁盘空间
6)可设置删除的空间回收时间,避免误删除文件丢失就恢复不及时影响业务
7)系统负载,即数据读写分配到所有的服务器上
8)可设置文件备份的副本数量,一般建议3份,未来硬盘容量也要是存储单份的容量的三倍
MFS读取数据步骤:
1)客户端向元数据服务器发出请求
2)元数据服务器把所需数据存放的位置(Chunk Server 的IP地址及Chunk编号)告知客户端
3)客户端向已知Chunk Server请求发送数据
4)客户端取得所需数据
数据传输并不通过元数据服务器,这既减轻了元数据服务器的压力,同时也大大增加了
整个系统的吞吐能力,在多个客户端读取数据时,读取点(Chunk Server)有可能被分散到不同
的服务器
MFS写入数据步骤:
1)客户端向元数据服务器发送写入请求
2)元数据服务器与Chunk Server进行交互如下:
1)元数据服务器指示在某些Chunk Server创建分块Chunks
2)Chunk Server告知元数据服务器,步骤(1)的操作成功
3)元数据服务器告知客户端,你可以在哪个Chunk Server的哪个Chunks写入数据
4)向指定的Chunk Server写入数据
5)与其他Chunk Server进行数据同步,同步的服务器依据设定的副本数而定,副本为2,则需同步一个ChunkServer
6)Chunk Sever之间同步成功
7)Chunk Server告知客户端数据写入成功
8)客户端告知元数据服务器本次写入完毕
MFS的4种角色作用如下
Master管理服务器:负责管理各个数据存储服务器,调度文件读写,回收文件空间以及恢复多节点拷贝
Metalogger元数据日志服务器:负责备份管理服务器的变化日志文件,文件类型为changelog_ml.*.mfs,以便于在管理服务器出问题时接替其进行工作
Chunkserver数据存储服务器(推荐至少两台chunkserver):数据存储服务器是真正存储用户数据的服务器,负责连接管理服务器,听从管理服务器调度,提供存储空间,并为客户提供数据传输。在存储文件时,首先把文件分成块,
然后将这些块在数据存储服务器之间互相复制
Client客户端:通过fuse内核接口挂接远程管理服务器上所管理的数据存储服务器,使共享的文件系统和使用本地Linux文件系统的效果看起来是一样的
最简单的搭建需要准备三台服务器,方便验证
192.168.20.11 -----mfsmaster && mfschunkserver
192.168.20.12 -----mfsclient
192.168.20.13 -----mfsclient
#首先搭建mfsmaster 和 mfschunkserver ,安装mfs
192.168.20.11上的操作

curl "https://ppa.moosefs.com/RPM-GPG-KEY-MooseFS" > /etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS
curl "http://ppa.moosefs.com/MooseFS-3-el7.repo" > /etc/yum.repos.d/MooseFS.repo
yum install moosefs-master moosefs-cgi moosefs-cgiserv moosefs-cli

修改配置文件 #指定mfschunkserver的服务器地址
#这里是部署到一台上面的,Chunkserver可以部署到别的服务器
vim /etc/mfs/mfschunkserver.cfg
在这里插入图片描述
vim /etc/mfs/mfshdd.cfg
在这里插入图片描述
#指定数据存储路径
chown -R mfs:mfs /date/mfs
启动
mfsmaster
mfscgiserv
http://192.168.20.96:9425 #web访问
mfschunkserver
mfsmetalogger
#systemctl start moosefs-master #systemctl start moosefs-cgiserv
#systemctl start moosefs-metalogger#systemctl start moosefs-chunkserver

没有报错信息mfs客户端这里就算安装完成了
开始安装客户端 192.168.20.13&&192.168.20.12一样

curl "https://ppa.moosefs.com/RPM-GPG-KEY-MooseFS" > /etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS
curl "http://ppa.moosefs.com/MooseFS-3-el7.repo" > /etc/yum.repos.d/MooseFS.repo
yum install moosefs-client

挂载
先创建挂载目录
mkdir -p /date/mfs-o1
mfsmount /date/mfs-o1 -H 192.168.20.11 #需要关闭防火墙和selinux
查看挂载信息在这里插入代码片
在这里插入图片描述
说明挂载成功
两台服务器都需要挂载
在其中一台客户端服务器上写入数据能在另外一台看到数据,说明mfs文件存储服务器搭建成功
192.168.20.12 touch /date/mfs-o1/hello
在 192.168.20.13上能看到刚才创建的文件

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用,MooseFS是一种分布式文件系统,用作共享存储服务器。要手动切换MooseFS的主备节点,可以按照以下步骤进行操作: 1. 首先,根据引用中的指示,需要通过运行"./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --enable-mfsmount"来配置MooseFS。 2. 接下来,根据引用中的指示,需要修改配置文件"/usr/local/mfs/etc/mfshdd.cfg"。在这个文件中,你需要指定MooseFS的主备角色。 3. 修改配置文件时,你需要注意以下几个步骤: a. 确保每个服务器只贡献一个分区作为MooseFS的一部分。 b. 根据你的服务器配置,将分区的挂载点修改为MooseFS的写目录的属主。 c. 确保配置文件中只包含一行内容,指定MooseFS的主备角色。 通过完成以上步骤,你就可以手动切换MooseFS的主备节点。请确保按照正确的配置和指示进行操作,以确保系统的正常运行。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [分布式文件系统MFS(moosefs)实现存储共享](https://blog.csdn.net/weixin_35953844/article/details/119661796)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值