搜索

第 11 章 BlueStore

download PDF

BlueStore 是 OSD 守护进程的后端对象存储,直接在块设备上放置对象。

重要

BlueStore 为生产环境中的 OSD 守护进程提供了高性能后端。默认情况下,BlueStore 配置为自我调整。如果您确定您的环境使用手动调优的 BlueStore 的性能更好,请联系红帽支持并共享您的配置详情,以帮助我们改进自动调整功能。红帽期待您的反馈意见并感谢您的建议。

11.1. Ceph BlueStore

以下是使用 BlueStore 的一些主要功能:

直接管理存储设备
BlueStore 使用原始块设备或分区。这可避免任何抽象层的抽象层,如 XFS 等本地文件系统,这可能会限制性能或增加复杂性。
使用 RocksDB 进行元数据管理
BlueStore 使用 RocksDB key-value 数据库来管理内部元数据,如从对象名称到磁盘上的块位置的映射。
完整数据和元数据校验和
默认情况下,写入 BlueStore 的所有数据和元数据都受到一个或多个校验和的保护。在不验证的情况下,不会从磁盘或返回给用户读取数据或元数据。
内联压缩
在写入磁盘前,可以选择性地压缩数据。
高效的 copy-on-write 功能
Ceph 块设备和 Ceph 文件系统快照依赖于在 BlueStore 中高效实施的写时复制克隆机制。这可以提高常规快照以及依赖克隆来实现高效的两阶段提交的纠删代码池的 I/O 效率。
没有大型的双写方式
BlueStore 首先将任何新数据写入块设备上未分配空间,然后提交 RocksDB 事务来更新对象元数据以引用磁盘的新区域。只有在写入操作低于可配置的大小阈值时,它会返回 write-ahead 日志方案。
支持多设备
BlueStore 可以使用多个块设备来存储不同的数据。例如:用于数据的硬盘驱动器(HDD),用于元数据的 Solid-state Drive(SSD),即 Non-volatile Memory(NVM)或 Non-volatile random-access memory(NVRAM)或 RocksDB write-ahead 日志的持久性内存。详情请参阅 Ceph BlueStore 设备
高效的块设备使用
因为 BlueStore 不使用任何文件系统,所以它将尽可能减少需要清除存储设备缓存的需要。
分配元数据
分配元数据不再使用 RocksDB 中的独立对象,因为分配信息可以从存储在 RocksDB 中的系统中的所有 onodes 的聚合分配状态中推断出来。BlueStore V3 代码会在分配时间跳过 RocksDB 更新,并在 umount 期间执行分配器对象以及所有 OSD 分配状态的完整取消暂存。这会使 IOPS 增加 25%,并在小的随机写工作负载中降低延迟;但是,它延长了恢复时间,通常要花费几分钟时间,并在失败的情况下不会调用 umount,因为您需要迭代所有 onodes 来重新创建分配元数据。
缓存期限组合
Red Hat Ceph Storage 将不同缓存中的项目与"age bins"相关联,它提供了所有缓存项目的相对年龄视图。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.