BlueStore的意义

Posted daobang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BlueStore的意义相关的知识,希望对你有一定的参考价值。

1. 解决了本地文件系统的依赖

  FileStore为了解决本地文件系统本身不支持数据或元数据的事务操作接口,实现了FileJournal功能,所有的事务都需要先写到FileJournal中,之后才会写入对应的文件中,以此来保证事务的原子性,但是这导致了数据“双写”的问题,造成至少一半磁盘带宽的浪费,导致了IO写放大问题;

  ceph的数据被划分为object存放,object以32位的hash值进行标识,ceph在进行scrubbing、backfill或者recovery时都需要根据hash值遍历这些object;POSIX文件系统不提供有序的文件遍历接口,为此FileStore根据文件的数量和hash的前缀将object划分到不同的子目录;(当目录下的文件个数>100个时,拆分子目录,当所有子目录下的文件个数<50个时,将合并到上级目录)。

2. 同一个OSD下所有对象都共享一个扁平的寻址空间,解决了扩容时PG分裂导致的OSD中的对象在新老文件夹之间的迁移

3. 解决了本地文件系统无法使用spdk技术读写NVMe盘问题

4. 数据和元数据无法在FileStore中彻底分离问题

5.由于FileStore自身无法控制本地文件系统的刷盘行为,导致的流控机制不完整导致IOPS和带宽抖动

6.FileStore频繁syncfs系统调用导致CPU利用率居高不下

 

以上是关于BlueStore的意义的主要内容,如果未能解决你的问题,请参考以下文章

Ceph的BlueStore总体介绍

ceph luminous版部署bluestore

ceph存储引擎bluestore解析

Ceph存储引擎BlueStore简析

bluestore设计的特点--2019_6

[ ceph ] BlueStore 存储引擎介绍