BeeGFS元数据管理设计思想剖析

引言

换工作以后,对块存储和对象存储的关注有所减少,近两年,专注在分布式文件系统的研发上,为满足公司文件存储的业务需求,研发初期阅读了IO 500上有关文件存储的很多资料及论文,也调研了很多开源文件系统(如:Lustre,BeeGFS,DAOS,GekkoFS),其中BeeGFS是IO 500榜单上排名比较靠前的(新)文件系统,它是一款非常优秀的分布式文件系统,设计思路简单巧妙,性能表现非常优秀,我对此印象深刻,现将一些学习及研究心得分享出来,以飨读者,还请斧正。(注:BeeGFS采用的是私有开源协议,不可直接用于商业用途,本文纯技术交流,不做任何商业使用推荐)

第一篇:BeeGFS的元数据管理

概述

BeeGFS是一款针对海量小文件储存优化过的分布式并行文件系统,支持百亿级文件的储存,支持数以万计客户端的并行访问,它由client,mgmt,mon,mds,oss等核心组件组成:

  • client是一个内核态模块,提供兼容posix的文件接口
  • mgmt是单节点管理服务,用于管理集群拓扑、节点状态等系统配置信息
  • mon是单节点监控服务,提供对集群状态、资源的可视化
  • mds是元数据服务,用于文件系统元数据管理,支持两副本镜像,支持横向扩展
  • oss是数据服务,用于文件系统数据存储, 支持两副本镜像,支持横向扩展

下图是BeeGFS的一个典型架构【附图来自BeeGFS开源主页】,与大家熟悉的HDFS,GFS,Lustre文件系统的架构高度相似,应该很好理解。
BeeGFS 结构

元数据管理

进入本文的主题,文件系统元数据管理不外乎解决:本地化和负载均衡两大问题,本地IO性能是最好的,将数据分布到不同的元数据节点上却能取得更好的负载均衡,看起来是一对矛盾,通常:

  • 采用Hash的方式将目录分布到不同的元数据节点上,这能取得很好的负载均衡效果,但是牺牲了本地性,也会带来严重的分布式锁一致性开
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值