Journal Config Reference

Ceph OSDs use a journal for two reasons: speed and consistency.

  • Speed: The journal enables the Ceph OSD Daemon to commit small writesquickly. Ceph writes small, random i/o to the journal sequentially, whichtends to speed up bursty workloads by allowing the backing file system moretime to coalesce writes. The Ceph OSD Daemon’s journal, however, can leadto spiky performance with short spurts of high-speed writes followed byperiods without any write progress as the file system catches up to thejournal.

  • Consistency: Ceph OSD Daemons require a file system interface thatguarantees atomic compound operations. Ceph OSD Daemons write a descriptionof the operation to the journal and apply the operation to the file system.This enables atomic updates to an object (for example, placement groupmetadata). Every few seconds–between filestore max sync interval andfilestore min sync interval–the Ceph OSD Daemon stops writes andsynchronizes the journal with the file system, allowing Ceph OSD Daemons totrim operations from the journal and reuse the space. On failure, CephOSD Daemons replay the journal starting after the last synchronizationoperation.

Ceph OSD Daemons support the following journal settings:

journal dio

  • Description
  • Enables direct i/o to the journal. Requires journal blockalign set to true.

  • Type

  • Boolean

  • Required

  • Yes when using aio.

  • Default

  • true

journal aio

Changed in version 0.61: Cuttlefish

  • Description
  • Enables using libaio for asynchronous writes to the journal.Requires journal dio set to true.

  • Type

  • Boolean

  • Required

  • No.

  • Default

  • Version 0.61 and later, true. Version 0.60 and earlier, false.

journal block align

  • Description
  • Block aligns write operations. Required for dio and aio.

  • Type

  • Boolean

  • Required

  • Yes when using dio and aio.

  • Default

  • true

journal max write bytes

  • Description
  • The maximum number of bytes the journal will write atany one time.

  • Type

  • Integer

  • Required

  • No

  • Default

  • 10 << 20

journal max write entries

  • Description
  • The maximum number of entries the journal will write atany one time.

  • Type

  • Integer

  • Required

  • No

  • Default

  • 100

journal queue max ops

  • Description
  • The maximum number of operations allowed in the queue atany one time.

  • Type

  • Integer

  • Required

  • No

  • Default

  • 500

journal queue max bytes

  • Description
  • The maximum number of bytes allowed in the queue atany one time.

  • Type

  • Integer

  • Required

  • No

  • Default

  • 10 << 20

journal align min size

  • Description
  • Align data payloads greater than the specified minimum.

  • Type

  • Integer

  • Required

  • No

  • Default

  • 64 << 10

journal zero on create

  • Description
  • Causes the file store to overwrite the entire journal with0’s during mkfs.

  • Type

  • Boolean

  • Required

  • No

  • Default

  • false