欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-04 19:17:31
...

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
MFS(moosefs)分布式文件系统最简单的搭建
vim /etc/mfs/mfshdd.cfg
MFS(moosefs)分布式文件系统最简单的搭建
#指定数据存储路径
chown -R mfs:mfs /date/mfs
启动mfsmaster && mfschunkserver
没有报错信息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(moosefs)分布式文件系统最简单的搭建
说明挂载成功
两台服务器都需要挂载
在其中一台客户端服务器上写入数据能在另外一台看到数据,说明mfs文件存储服务器搭建成功
192.168.20.12 touch /date/mfs-o1/hello
在 192.168.20.13上能看到刚才创建的文件

相关标签: Linxu

上一篇: hashMap

下一篇: dev_name