开发者社区 问答 正文

BlueStore是什么?

BlueStore是什么?

展开
收起
kun坤 2020-04-23 19:50:28 1028 分享 版权
1 条回答
写回答
取消 提交回答
  • 一种全新的方法

    BlueStore 是一个用来解决上面提到的各种问题的、从头开始写的存储后端,BlueStore 的一些主要设计目标包括:

    快速元数据操作

    对象写入时没有一致性开销

    支持 COW

    没有日志双写问题

    对 HDD 和 SSD 具有优化的 IO pattern

    BlueStore 用了两年时间完成了上面的所有目标,并成为了 Ceph 的默认存储后端。这么快的达成(相比通用 POSIX 文件系统需要十年计)有两个关键因素:

    BlueStore 只实现了少量的、专用的接口,而不是完整的 POSIX 标准

    BlueStore 在用户态实现,可以复用很多完整测试过、高性能的第三方代码

    BlueStore 的整体架构如下图所示,BlueStore 运行在裸盘上,BlueSore 的 space allocator 决定新数据的位置,然后数据会通过 Driect IO 异步写入到磁盘。内部元数据和用户定义元数据被保存在运行在 BlueFS 的 RocksDB,BlueFS 是一个很小的为 RocksDB 量身定做的用户态文件系统。space allocator 和 BlueFS 会定时通讯来平衡容量。 123.jpg

    2020-04-23 19:50:59
    赞同 展开评论
问答地址: