注意

本文档适用于 Ceph 开发版本。

日志配置参考

警告

Filestore 在 Reef 发布中已被弃用,不再受支持。

文件系统 OSD 使用日志有两个原因:速度和一致性。请注意,自 Luminous 版本以来,BlueStore OSD 后端已成为首选和默认配置。此信息适用于现有的 OSD 以及在新的部署中优先选择文件系统的情况。

  • 速度:日志使 Ceph OSD 守护进程能够快速提交小写操作。Ceph 将小型的随机 I/O 顺序写入日志,这有助于通过允许底层文件系统有更多时间合并写操作来加速突发工作负载。然而,Ceph OSD 守护进程的日志可能会导致性能波动,即短时间的高速写入后跟着没有写入进度的时期,因为文件系统正在赶上日志。

  • 一致性:Ceph OSD 守护进程需要一个保证原子复合操作的文件系统接口。Ceph OSD 守护进程将操作的描述写入日志,并将操作应用于文件系统。这允许对对象(例如,放置组元数据)进行原子更新。每隔几秒钟——在filestore max sync intervalfilestore min sync interval--之间,Ceph OSD 守护进程停止写入并同步日志与文件系统,允许 Ceph OSD 守护进程从日志中删除操作并重用空间。在失败时,Ceph OSD 守护进程会重播日志,从最后一个同步操作开始。

Ceph OSD 守护进程识别以下日志设置:

journal_dio

启用直接 I/O 到日志。需要journal block align设置为true.

type:

bool

default:

true

journal_aio

启用使用libaio进行异步写入到日志。需要journal dio设置为true. 版本 0.61 及更高版本,true. 版本 0.60 及更低版本,false.

type:

bool

default:

true

journal_block_align

写入操作对齐。需要dioaio.

type:

bool

default:

true

journal_max_write_bytes

日志在任何一次写入时可以写入的最大字节数。

type:

size

default:

10Mi

journal_max_write_entries

日志在任何一次写入时可以写入的最大条目数。

type:

int

default:

100

journal_align_min_size

对大于指定最小值的数据有效载荷进行对齐。

type:

size

default:

64Ki

journal_zero_on_create

导致文件系统在创建时用0的内容覆盖整个日志。mkfs.

type:

bool

default:

false

由 Ceph 基金会带给您

Ceph 文档是一个社区资源,由非盈利的 Ceph 基金会资助和托管Ceph Foundation. 如果您想支持这一点和我们的其他工作,请考虑加入现在加入.