Journaler 的作用是什么,能帮助人们如何记录和整理日常生活与思考?

2026-04-12 03:530阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计888个文字,预计阅读时间需要4分钟。

Journaler 的作用是什么,能帮助人们如何记录和整理日常生活与思考?

许多用户在提到+Ceph+性能时,都会提到写放大这一点。实际上,这正是+FileJournal+在发挥作用。只要使用默认的+FileStore+,所有数据包,包括metadata,都会在+FileJournal+上预写一份数据。

很多的用户在提到 Ceph 性能的时候都会提到“写放大”这点,实际上就是 FileJournal 在起作用。只要使用默认的 FileStore,所有数据包括 metadata 都会在 FileJournal 上预写一份。那么本文就会介绍 FileJournal 在 FileStore 存储引擎上提供的作用。

作用

FileJournal 就是数据库中常见的 WAL(Write Ahead Log) 实现,主要提供了事务的一致性和原子性。Ceph 数据访问所提供的写操作在落到 ObjectStore 时实际上会产生多个写操作,为了保证用户层面的写操作的原子性,避免 FileStore 在执行多个操作时发生意外造成中间状态而无法追溯或者回滚,我们需要引入 Journal 来作为日志。使得 OSD 进程在非正常退出后再启动可以从 Journal 中恢复之前正在执行的操作。

除此之外,FileJournal 提供了更短的写操作耗时,因为用户 IO 操作到达 FileStore 以后,只要经过 FileJournal 存储后都可以立即回复给用户,无需等待操作正常落盘。对于大量随机小写来说,这实际上能大大提高单个 OSD 的处理能力。

工作流程

如上图所示,所有 PG 层提交事务都会在 FileStore 经过一层 Throttle 直接进入 FileJournal 队列。然后有后面的不同类型线程都是单一线程,以 Pipeline 的形式最大化 FileJournal 的吞吐量。

阅读全文

本文共计888个文字,预计阅读时间需要4分钟。

Journaler 的作用是什么,能帮助人们如何记录和整理日常生活与思考?

许多用户在提到+Ceph+性能时,都会提到写放大这一点。实际上,这正是+FileJournal+在发挥作用。只要使用默认的+FileStore+,所有数据包,包括metadata,都会在+FileJournal+上预写一份数据。

很多的用户在提到 Ceph 性能的时候都会提到“写放大”这点,实际上就是 FileJournal 在起作用。只要使用默认的 FileStore,所有数据包括 metadata 都会在 FileJournal 上预写一份。那么本文就会介绍 FileJournal 在 FileStore 存储引擎上提供的作用。

作用

FileJournal 就是数据库中常见的 WAL(Write Ahead Log) 实现,主要提供了事务的一致性和原子性。Ceph 数据访问所提供的写操作在落到 ObjectStore 时实际上会产生多个写操作,为了保证用户层面的写操作的原子性,避免 FileStore 在执行多个操作时发生意外造成中间状态而无法追溯或者回滚,我们需要引入 Journal 来作为日志。使得 OSD 进程在非正常退出后再启动可以从 Journal 中恢复之前正在执行的操作。

除此之外,FileJournal 提供了更短的写操作耗时,因为用户 IO 操作到达 FileStore 以后,只要经过 FileJournal 存储后都可以立即回复给用户,无需等待操作正常落盘。对于大量随机小写来说,这实际上能大大提高单个 OSD 的处理能力。

工作流程

如上图所示,所有 PG 层提交事务都会在 FileStore 经过一层 Throttle 直接进入 FileJournal 队列。然后有后面的不同类型线程都是单一线程,以 Pipeline 的形式最大化 FileJournal 的吞吐量。

阅读全文