七天七文件系统之moosefs

七天七文件系统之moosefs,第1张

选分布式文件系统就像选一辆车,功能相近(高可用、高性能、高可扩展性),但是总有不一样的地方。

作为老牌的开源的软件定义存储,项目始于2008年,来自欧洲的波兰华沙。目的是为了解决30W每秒的大数据处理作业。使用C语言开发,目前版本为3.0。设计理念和其他分布式文件系统大同小异。

- 高可用(High Availability),为数据提供副本,为元数据采用日志加元数据备份的方式保证数据不丢失。

- 低开销的数据安全能力(Low-cost data safety) 在使用冗余的情况下可以节省55%的空间(这点倒是很有意思)。

-可扩展性(Scalability)可以扩展到16EB,最大存储20亿个文件。

- 高性能(High performance)能做到数据的并发读写。

mfsmaster 负责存储整个文件系统的元数据。一般元数据会就近存在本地以raid1和raid1+0组成的磁盘。在设计上该服务只是一个单线程,因此需要配备主频更高的处理核心,而对核心数的要求则相对较低。这里可能存在单点的性能瓶颈。

mfschunkserver负责存储文件系统的数据,由一组服务器组成。一般使用JBOD上面做xfs文件系统。在设计的时候数据服务能够发现底层磁盘出现的问题,将数据复制到其他地方,并将该磁盘设置成损坏。moosefs是不建议底层磁盘采用raid方式,因为它检测不出raid盘坏,出现了问题。(在使用beegfs底层用raid时就有类似的问题,只有在IO的时候才发现磁盘组有问题,甚是痛苦)

chunkserver的状态有三种normal/internal rebalance/overloaded。这点和beegfs很像也是三种状态。三种状态对应的是所使用磁盘的状态,normal代表磁盘正常,internal rebalance一般在新的节点加入时出现,之后chunkserver之间会发生数据平衡。overloaded代表此时磁盘负载过重,并会向mfsmaster发出警告消息。

在区分chunkserver时moosefs引入了 label 的概念,给不同的服务器设置label,并将文件和目录设置不同的label表达式,达到控制数据流向目的。

mfsmetalogger 负责作为元数据服务器的备份,定期获取元数据服务的changelog(也可以理解为journal)和元数据,在mfsmaster出现问题的时候负责接管元数据服务。

mfsmount负责做客户端工作,同mfsmaster获得元数据,同mfschunkserver获得数据。数据块的最大为64MB。

内部的文件完整性检查使用hash算法的方式。

架构设计上lizardfs作为moosefs的一个分支基本是一致的。和HDFS也很神似。

支持节点加入之后的 数据均衡 ,和节点损坏之后的 自动恢复, 自动15分钟内1TB的恢复能力 。

能够为不同的 文件以及目录 选择数据存储的节点。

提供 缓存存储 。它是一个提升性能的手段,使得存储资源可以合理利用。

接口方面,文件提供的接口兼容 POSIX接口 ,提供原生的客户端 FUSE和Windows (提供原生客户端的目的可以考虑功能,但主要是性能方面的要求)。

数据保护方面,底层存储提供的数据保护,支持 纠删码 和默认为 2的数据副本 。

访问控制方面支持,原生的Unix权限和访控列表(ACL)。

支持 快照 ,快照是一些备份机制的基础。

回收站功能 ,防止数据被误删。

提供 基于目录的配额 。

IO由多线程并发执行。

目前提供两个版本 普通版 和 专业版。 普通版使用(GPLv2)许可,专业版面向的是企业用户提供了其他的一些特性(windows客户端、元数据高可用、以及纠删码),这些特性旨在提高系统的稳定性和可靠性。目前现在很多分布式厂商也采用类似的玩法,不如beegfs开源了自己的版本,但在如windows客户端等一些功能上采用商用的许可证。

宣传比较多的为大数据提供存储。多分布在欧洲。

官方网站:https://moosefs.com

没有扩容软件,只可以扩容硬件存储器。【感兴趣的话点击此处,免费了解一下】

管理服务(管理节点的计算服务器,对外提供管理接口)、DHCP服务(为计算服务器的网络启动分配管理网段的IP)、tftp 服务(为计算服务器的网络启动提供远程启动映象)、nbd 服务(为计算服务器提供网络块设备服务)。管理服务器上还会运行一个数据采集程序,他定时将各种性能数据采集下来并发送到中央的数据采集服务器上存储服务器群:存储服务器可以是ISCSI或内置存储容量比较大的x86服务器,通过 集群文件系统组成一个统一的存储池,为节点内的虚拟机提供逻辑磁盘存储、非结构数据存储以及整合备份服务。

深圳市亿万克数据设备科技有限公司是研祥高科技控股集团旗下的全资子公司。研祥集团作为中国企业500强,持续运营30年。研祥集团全球49个分支机构,三个国家级创新平台,一直致力于技术创新引领行业发展。拥有1100多项授权专利,1300项非专利核心技术。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11757516.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存