SPDK BlobStore & BlobFS

本文介绍了SPDK的BlobStore,一个基于对象存储的系统,其磁盘布局与Ext4相比较,元数据全存于inode区。BlobStore通过md_page链表管理元数据,使用无锁编程处理IO,且在分配块时状态仅内存维护。此外,SPDK的BlobFS提供文件存储,但无目录树,适用于大文件存储和特定一致性要求场景。
摘要由CSDN通过智能技术生成

blobstore可看作是SPDK对外提供的一个对象存储系统,存储引擎构建在SPDK所管理的块设备之上,所采用的磁盘布局结构如图所示。

superblock主要记录了如下属性信息 (1) base info 信息包括:cluster_size(blob的块存储单元大小,默认1M),size(blobstore的容量),io_unit_size(硬盘支持的原子in-place-update大小,md_page大小采用该阈值) (2) 各种bitmap信息 其中mask_start记录了bitmap数据的起始lba,mask_len为lba个数(参考bs_load_read_used_pages)

与Ext4的磁盘布局结构相比较,used_blobids相当于定义了inode槽位,而used_clusters则相当于定义了block槽位。所不同的是Ext4的inode长度是固定不变的,扩展属性还有文件块信息都是通过额外的block进行存储的,inode只是记录对应块的存储位置。而blobstore则将所有的元数据信息全部保存到了inode区域(blob内部),因此其空间长度是不确定的,需要多个md_page进行保存,对应的数据组织结构如图所示。

每个blob的元数据由多个md_p

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值