打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Ceph的Journal机制 | tianshan's blog

Ceph底层FileStore模式下,采用了写日志,就是Journal。实现机制类似数据库的写日志。写数据时,会在journal上写日志,保证出现故障时可以从日志恢复。

Journal源代码中主要涉及两个文件,os目录下的FileJournal和FileStore。FileStore中会有FileJournal的一个实例,调用都在这里发生。

写Journal有两种模式,parallel和writeahead。顾名思义,parallel就是日志和磁盘数据同时写,writeahead是先写日志,只要日志写成功了,就回返回。后台每隔一段时间后,会同步日志中的写操作,实现落盘。这种方法带来的好处就是,可以把很多小IO合并,形成顺序写盘,提高IOPS。

第二种方法中,官方文档提到,

  • 在速度上,通过预写日志方式,后端文件系统合并小IO,可以提升速度。但实际中,会造成性能有明显抖动,一段较高速率后会有一段低速率,如下图

  • 一致性:OSD的守护进程需要文件系统接口来保证原子复合操作。OSD守护进程会把操作的描述写到日志,然后应用到文件系统。这样保证了对象的原子操作。每隔几秒(filestore max sync intervalfilestore min sync interval),OSD守护进程会 停止写操作 然后同步日志到文件系统,使得守护进程能够删除日志重新利用空间。当失败时,OSD守护进程会从日志上一次同步点开始回滚操作。

注意:这里面提到会停止写操作,从日志队列的表现来看,就是filestore写队列比较满时,日志队列会为空,一般这时候,就是在同步操作。默认的最大同步间隔filestore max sync interval为5s。

同步的流程图如下

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
滴滴Ceph分布式存储系统优化之锁优化
Ceph V10.2.0 Jewel正式版本发布
使用ceph
[AWR报告]log file sync等待事件
Journal Config Reference
收藏了,硬盘、RAID组与Ceph的IOPS公式与工具
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服