Ceph存储引擎bluestore简介

Ceph的BlueStore存储引擎旨在解决filestore的日志双写问题,提高存储性能。BlueStore直接管理裸设备,减少写放大,针对SSD进行优化。元数据使用RocksDB存储,通过BlueFS对接RocksDB与裸设备。BlueStore的写处理避免了日志需求,提升吞吐量,简化文件系统以实现更高效率。
摘要由CSDN通过智能技术生成

【背景】

ceph后端支持多种存储引擎,以插件的方式进行管理和使用,默认使用filestore,如ext4、btrfs,xfs。理论上每个文件系统都实现了POSIX协议,但是每个文件系统都会有那么一些不标准的地方。主要存在以下几个方面:

1. Ceph的实现非常注重可靠性,因而需要为每种文件系统引入不同的Walkaround或者Hack;例如Rename不幂等性,等等。这些工作为Ceph的不断开发带来了很大负担。

2. FileStore构建与Linux文件系统之上。POSIX提供了非常强大的功能,但大部分并不是Ceph真正需要的;这些功能成了性能的累赘。另一方面,文件系统的某些功能实现对Ceph并不友好,例如对目录遍历顺序的要求等等。

3. 日志双写问题。为了保证覆写中途断电能够恢复,以及为了实现单OSD内的事务支持,在FileStore的写路径中,Ceph首先把数据和元数据修改写入日志,日志完后后,再把数据写入实际落盘位置。这种日志方法(WAL)是数据库和文件系统标准的保证ACID的方法。但用在Ceph这里,带来了问题:

数据被写入两遍,即日志双写问题,这意味着Ceph牺牲了一半的磁盘吞吐量。

(1) Ceph的FileStore做了一遍日志,而Linux文件系统自身也有日志机制,实际上日志被多做了一遍。

(2) 对于新型的LSM-Tree类存储,如RocksDB、LevelDB,由于数据本身就按照日志形式组织,实际上没有再另加一个单独的WAL的必要。

(3) 更好地发挥SSD/NVM存储介质的性能。与磁盘不同,基于Flash的存储有更高的并行能力,需要加以利用。CPU处

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值