Bootstrap

Ceph后端两种存储引擎介绍

Ceph是一个可靠的、自治的、可扩展的分布式存储系统,它支持文件系统存储、块存储、对象存储三种不同类型的存储,以满足多样存储的需求。在Ceph的存储架构中,FileStore和BlueStore是两种重要的后端存储引擎,下面将分别进行详细介绍:

FileStore

  1. 概述

    • FileStore是Ceph早期采用的后端存储引擎。
    • 它建立在传统的文件系统之上,如XFS、EXT4、BTRFS等。
  2. 工作原理

    • 在FileStore模式下,数据从OSD(Object Storage Daemon)到DISK的流程会经过文件系统层。
    • 对象数据保存在文件中,对象的属性最初保存在POSIX的扩展文件属性中,后来由于限制转移到LevelDB这类事务性数据库中。
  3. 特点与限制

    • FileStore依赖于底层文件系统,因此会受到文件系统性能的限制。
    • 数据写入过程涉及将磁盘操作转换为操作系统识别的文件系统操作,这个过程相对复杂且可能带来性能开销。
    • 存在写放大问题,即实际写入的数据比要写入的数据更多,导致内存空间的浪费。

BlueStore

  1. 概述

    • BlueStore是Ceph团队在2015年提出的新型后端存储引擎。
    • 它旨在解决FileStore存在的性能问题,并提升存储效率。
  2. 工作原理

    • BlueStore直接将对象数据保存在原始块设备中,绕过了本地文件系统层。
    • 它采用RocksDB管理元数据,提高了存储效率。
    • BlueStore还实现了一个用户态的文件系统BlueFS,用于直接操作块设备。
  3. 特点与优势

    • 避免了文件系统开销和其性能缺陷,提升了Ceph集群整体的性能。
    • 通过实现用户态的文件系统BlueFS,以异步方式将数据直接写入磁盘,减少了写放大问题。
    • RocksDB作为元数据管理后端,提供了强大的事务处理能力和性能。
  4. 应用情况

    • BlueStore因其表现出的优越性,在生产中被广泛应用,成为Ceph后端存储的主流选择。

总结

  • FileStore和BlueStore都是Ceph的重要后端存储引擎。
  • FileStore建立在传统文件系统之上,受到文件系统性能的限制,存在写放大等问题。
  • BlueStore则直接操作块设备,绕过了文件系统层,提升了存储效率和性能,成为Ceph后端存储的主流选择。
;