]> git.proxmox.com Git - ceph.git/blob - ceph/doc/rados/configuration/journal-ref.rst
update ceph source to reef 18.1.2
[ceph.git] / ceph / doc / rados / configuration / journal-ref.rst
1 ==========================
2 Journal Config Reference
3 ==========================
4 .. warning:: Filestore has been deprecated in the Reef release and is no longer supported.
5 .. index:: journal; journal configuration
6
7 Filestore OSDs use a journal for two reasons: speed and consistency. Note
8 that since Luminous, the BlueStore OSD back end has been preferred and default.
9 This information is provided for pre-existing OSDs and for rare situations where
10 Filestore is preferred for new deployments.
11
12 - **Speed:** The journal enables the Ceph OSD Daemon to commit small writes
13 quickly. Ceph writes small, random i/o to the journal sequentially, which
14 tends to speed up bursty workloads by allowing the backing file system more
15 time to coalesce writes. The Ceph OSD Daemon's journal, however, can lead
16 to spiky performance with short spurts of high-speed writes followed by
17 periods without any write progress as the file system catches up to the
18 journal.
19
20 - **Consistency:** Ceph OSD Daemons require a file system interface that
21 guarantees atomic compound operations. Ceph OSD Daemons write a description
22 of the operation to the journal and apply the operation to the file system.
23 This enables atomic updates to an object (for example, placement group
24 metadata). Every few seconds--between ``filestore max sync interval`` and
25 ``filestore min sync interval``--the Ceph OSD Daemon stops writes and
26 synchronizes the journal with the file system, allowing Ceph OSD Daemons to
27 trim operations from the journal and reuse the space. On failure, Ceph
28 OSD Daemons replay the journal starting after the last synchronization
29 operation.
30
31 Ceph OSD Daemons recognize the following journal settings:
32
33 .. confval:: journal_dio
34 .. confval:: journal_aio
35 .. confval:: journal_block_align
36 .. confval:: journal_max_write_bytes
37 .. confval:: journal_max_write_entries
38 .. confval:: journal_align_min_size
39 .. confval:: journal_zero_on_create