分享自:

文件系统不适合作为分布式存储后端:Ceph十年演变的教训

期刊:ACMDOI:10.1145/3341301.3359656

本文档属于类型a,即报告了一项原创性研究。以下是针对该研究的学术报告:

主要作者及机构
本研究由Abutalib Aghayev(卡内基梅隆大学)、Sage Weil(Red Hat, Inc.)、Michael Kuchnik(卡内基梅隆大学)、Mark Nelson(Red Hat, Inc.)、Gregory R. Ganger(卡内基梅隆大学)和George Amvrosiadis(卡内基梅隆大学)共同完成。该研究发表于2019年10月的ACM Symposium on Operating Systems Principles (SOSP)会议上。

学术背景
本研究的主要科学领域是分布式存储系统,特别是分布式文件系统的存储后端设计。长期以来,分布式文件系统(如Ceph)依赖于本地文件系统(如ext4、XFS)作为其存储后端,以利用其成熟性和便利性。然而,Ceph团队在十年的实践中发现,这种设计带来了显著的性能开销和硬件兼容性问题。具体来说,本地文件系统在事务机制、元数据性能以及对新兴存储硬件的支持方面存在不足。因此,本研究旨在探索一种新的存储后端设计,直接运行在原始存储设备上,以解决这些问题。研究的目标是开发一种高效、灵活且能够适应未来硬件变化的存储后端。

研究流程
1. 问题分析与背景研究
Ceph团队首先总结了使用本地文件系统作为存储后端的三大挑战:
- 高效事务机制:本地文件系统缺乏高效的零开销事务机制,导致性能瓶颈。
- 元数据性能:本地文件系统的元数据操作(如目录枚举)在分布式系统中表现不佳。
- 新兴硬件支持:本地文件系统难以快速适应新兴存储硬件(如SMR硬盘和ZNS SSD)。

  1. Bluestore的设计与实现
    Ceph团队开发了Bluestore,一种直接运行在原始存储设备上的用户空间存储后端。Bluestore的核心设计包括:

    • 元数据管理:使用RocksDB(一种键值存储)管理元数据,避免本地文件系统的元数据性能瓶颈。
    • 数据路径优化:通过直接I/O(Direct I/O)将数据写入原始存储设备,避免双写问题。
    • BlueFS:为RocksDB设计的一个轻量级用户空间文件系统,优化其在原始设备上的性能。
    • 空间分配器:采用固定内存使用量的位图分配器,提高空间管理效率。
  2. 性能评估与实验
    研究团队通过一系列实验评估了Bluestore的性能,并与传统的Filestore后端进行对比。实验包括:

    • RADOS对象写入性能测试:在不同对象大小和队列深度下,比较Bluestore和Filestore的吞吐量和尾部延迟。
    • RBD(RADOS块设备)性能测试:测试随机写入、顺序写入和顺序读取的性能,评估Bluestore在高负载下的表现。
    • 纠删码(Erasure Coding)数据覆盖性能测试:比较Bluestore和Filestore在纠删码池中的覆盖写入性能。

主要结果
1. RADOS对象写入性能
Bluestore在稳态下的吞吐量比Filestore高出50%-100%,尾部延迟降低了一个数量级。Bluestore避免了双写问题和一致性开销,显著提高了写入性能。

  1. RBD性能
    对于大于512 KiB的I/O操作,Bluestore的顺序写入和随机写入吞吐量分别比Filestore高出1.7倍和2倍。Bluestore通过直接I/O和优化数据路径,显著降低了性能波动。

  2. 纠删码数据覆盖性能
    Bluestore在纠删码池中的覆盖写入性能显著优于Filestore。例如,在EC4-2(4个数据块,2个校验块)配置下,Bluestore的IOPS是Filestore的6倍。Bluestore的写时复制(Copy-on-Write)机制避免了全物理拷贝,提高了覆盖写入的效率。

结论
本研究通过开发Bluestore,成功解决了传统本地文件系统在分布式存储后端中的性能瓶颈和硬件兼容性问题。Bluestore不仅显著提高了Ceph的写入性能和元数据操作效率,还为新兴存储硬件(如SMR硬盘和ZNS SSD)的支持提供了可能。Bluestore的设计和实现为分布式文件系统的存储后端提供了新的思路,具有重要的科学价值和实际应用意义。

研究亮点
1. 高效的事务机制:Bluestore通过RocksDB和直接I/O实现了零开销的事务机制,显著提高了性能。
2. 优化的元数据管理:使用键值存储管理元数据,解决了本地文件系统的元数据性能瓶颈。
3. 对新兴硬件的支持:Bluestore的设计使其能够快速适应新兴存储硬件,如SMR硬盘和ZNS SSD。
4. 实验验证的全面性:通过多组实验全面评估了Bluestore的性能,验证了其在实际生产环境中的优势。

其他有价值的内容
本研究还探讨了Bluestore在透明压缩、空间高效校验和以及未来硬件接口探索方面的潜力。这些功能进一步提升了Bluestore的实用性和灵活性,为分布式存储系统的未来发展提供了重要参考。

上述解读依据用户上传的学术文献,如有不准确或可能侵权之处请联系本站站长:admin@fmread.com