Ceph开发每周谈 Vol 71 | SPDK 支持 BlobStore 及作为 RocksDB 引擎

2017年04月 · 麦子迈

这是Ceph开发每周谈的第七十一篇文章,记录从17年4月10号到17年4月16号的社区开发情况。笔者从前年开始做Ceph的技术模块分析到今年中告一段落,想必有挺多人期待下一篇Ceph技术分析。考虑到Ceph的发展已经从前年的一穷二白到现在的如火如荼,但对于社区的方向和实况仍有所脱节,笔者考虑开始Ceph开发每周谈这个系列。每篇文章都会综述上周技术更新,围绕几个热点进行深度解析,如果正好有产业届新闻的话就进行解读,最后有读者反馈问题的话并且值得一聊的话,就附上答疑部分。

  • 一句话消息

Ceph v12.0.2 Luminous (dev) released

  • SPDK 支持 BlobStore

首先 BlobStore 的定义是一个持久化的,数据安全的块设备管理引擎,用来提供一个高层的逻辑 API 来利用块设备,可以理解为是一个简陋版的文件系统。这样,数据库应用可以利用这些 API 来替代 Posix 接口或者块设备接口来管理裸设备。BlobStore 不是通常意义的文件系统,也不会去兼容 POSIX 语意,也差之甚远。SPDK BlobStore 主要目标是在为 NVME 设备提供一个异步接口,没有缓存,并行读写的 Blob 接口,这个 Blob 可以是任意 block size 对齐的范围。

一句话来解释就是 SPDK BlobStore 提供了一个相比纯粹块接口,更佳丰富的语意,方便应用使用,同时,它的特点是利用了 SPDK 进行高性能访问写入。

跟 BlobStore 一起推出的还有 BlobFS,顾名思义,就是给予 BlobStore 之上,提供一个伪文件系统接口到 RocksDB,因为很难定义这种接口语意,所以 BlobFS 目前只是深度跟 RocksDB 集成。

目前已经可以通过 Github 获取到相关 API。

BlobStore 通过 “Cluster“ 来管理一个大块,然后Cluster里会划分 Page 出来。

1

 

 

 

2