1 ==========================
2 Journal Config Reference
3 ==========================
5 .. index:: journal; journal configuration
7 Ceph OSDs use a journal for two reasons: speed and consistency.
9 - **Speed:** The journal enables the Ceph OSD Daemon to commit small writes
10 quickly. Ceph writes small, random i/o to the journal sequentially, which
11 tends to speed up bursty workloads by allowing the backing filesystem more
12 time to coalesce writes. The Ceph OSD Daemon's journal, however, can lead
13 to spiky performance with short spurts of high-speed writes followed by
14 periods without any write progress as the filesystem catches up to the
17 - **Consistency:** Ceph OSD Daemons require a filesystem interface that
18 guarantees atomic compound operations. Ceph OSD Daemons write a description
19 of the operation to the journal and apply the operation to the filesystem.
20 This enables atomic updates to an object (for example, placement group
21 metadata). Every few seconds--between ``filestore max sync interval`` and
22 ``filestore min sync interval``--the Ceph OSD Daemon stops writes and
23 synchronizes the journal with the filesystem, allowing Ceph OSD Daemons to
24 trim operations from the journal and reuse the space. On failure, Ceph
25 OSD Daemons replay the journal starting after the last synchronization
28 Ceph OSD Daemons support the following journal settings:
33 :Description: Enables direct i/o to the journal. Requires ``journal block
34 align`` set to ``true``.
37 :Required: Yes when using ``aio``.
44 .. versionchanged:: 0.61 Cuttlefish
46 :Description: Enables using ``libaio`` for asynchronous writes to the journal.
47 Requires ``journal dio`` set to ``true``.
51 :Default: Version 0.61 and later, ``true``. Version 0.60 and earlier, ``false``.
54 ``journal block align``
56 :Description: Block aligns write operations. Required for ``dio`` and ``aio``.
58 :Required: Yes when using ``dio`` and ``aio``.
62 ``journal max write bytes``
64 :Description: The maximum number of bytes the journal will write at
69 :Default: ``10 << 20``
72 ``journal max write entries``
74 :Description: The maximum number of entries the journal will write at
82 ``journal queue max ops``
84 :Description: The maximum number of operations allowed in the queue at
92 ``journal queue max bytes``
94 :Description: The maximum number of bytes allowed in the queue at
99 :Default: ``10 << 20``
102 ``journal align min size``
104 :Description: Align data payloads greater than the specified minimum.
107 :Default: ``64 << 10``
110 ``journal zero on create``
112 :Description: Causes the file store to overwrite the entire journal with
113 ``0``'s during ``mkfs``.