Ceph RBD

Ceph RBD Caching

RBD caching:

Ceph rbd 用户空间实现的librbd不能使用linux page cache,所以Ceph rbd实现了自己的Cache“RBD Caching”,当OS发送一个barrier或者执行一个flush请求,RBD caching中的dirty data就会被写入到osds中。RBD Caching提高了两种缓存模式write-back(ceph version 0.46)和write-through(ceph version 0.47),VM(linux kernel>=2.6.32)使用RBD caching write-back模式类似于正规磁盘的缓存。RBD Caching所使用的算法是Least Recently Used(LRU)。

RBD Caching模式选择:

  • write-back和write-through模式可以通过配置选择,启用write-back时,只需在配置文件中配置rbd_cache=true项即可,该项默认是不开启的,且读写都是直接访问到ceph集群。在write-back模式下,写操作只需写入到rbd caching中,不需要写到ceph osds中就返回,直到rbd caching中dirty data大小大于rbd_cache_max_dirty配置,dirty data才会被写入到ceph osds。在rbd caching回写的过程是阻塞的。

  • write-through模式是rbd caching所有的写都会写入到ceph osds中,但是读只需要从rbd caching中读取。该模式的选择只需要设置rbd_cache_max_dirty选择的值为零,就可以将write-back模式切换到write-through模式,这些cache使用的内存都在客户端,所以如果client启用RBD caching,且同时多个用户访问该image,会出现数据不一致现象。例如gfs或者ocfs使用启用了rbd caching的RBD。

  • RBD(ceph version 0.86)支持read-ahead/prefetching来优化小的连续读操作。通常该特性应该有os提供,但是boot loader可能不会发出有效的读操作,如果RBD caching被禁用,read-ahead也会被关掉。

Refer:

ceph
Cache写机制

  • Write-through(直写模式)在数据更新时,同时写入缓存Cache和后端存储。此模式的优点是操作简单;缺点是因为数据修改需要同时写入存储,数据写入速度较慢。
  • Write-back(回写模式)在数据更新时只写入缓存Cache。只在数据被替换出缓存时,被修改的缓存数据才会被写到后端存储。此模式的优点是数据写入速度快,因为不需要写存储;缺点是一旦更新后的数据未被写入存储时出现系统掉电的情况,数据将无法找回。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值