注意
本文档适用于 Ceph 开发版本。
日志配置参考
警告
Filestore 在 Reef 发布中已被弃用,不再受支持。
文件系统 OSD 使用日志有两个原因:速度和一致性。请注意,自 Luminous 版本以来,BlueStore OSD 后端已成为首选和默认配置。此信息适用于现有的 OSD 以及在新的部署中优先选择文件系统的情况。
速度:日志使 Ceph OSD 守护进程能够快速提交小写操作。Ceph 将小型的随机 I/O 顺序写入日志,这有助于通过允许底层文件系统有更多时间合并写操作来加速突发工作负载。然而,Ceph OSD 守护进程的日志可能会导致性能波动,即短时间的高速写入后跟着没有写入进度的时期,因为文件系统正在赶上日志。
一致性:Ceph OSD 守护进程需要一个保证原子复合操作的文件系统接口。Ceph OSD 守护进程将操作的描述写入日志,并将操作应用于文件系统。这允许对对象(例如,放置组元数据)进行原子更新。每隔几秒钟——在
filestore max sync interval
和filestore 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
写入操作对齐。需要
dio
和aio
.- 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. 如果您想支持这一点和我们的其他工作,请考虑加入现在加入.