CEPH-OSD(8)

πŸ’– CEPH-OSD(8) πŸ’–

okay bestie, welcome to the ceph-osd page from the Ceph manual β€” yes that Ceph πŸ’…. this is the whole thing, every flag, every default, no skips, no shortcuts. grab a snack πŸ“


✨ NAME ✨

ceph-osd β€” the ceph object storage daemon 🫢


✨ SYNOPSIS ✨

ceph-osd -i osdnum [ --osd-data datapath ] [ --osd-journal
journal ] [ --mkfs ] [ --mkjournal ] [--flush-journal] [--check-allows-journal] [--check-wants-journal] [--check-needs-journal] [ --mkkey ] [ --osdspec-affinity ]

like, that's the shape of it. -i osdnum is the main character, everything else is optional and tagged on πŸ’…


✨ DESCRIPTION ✨

so ceph-osd is the object storage daemon for the Ceph distributed file system πŸ¦‹. it manages data on local storage with redundancy, and then it serves that data out over the network. it's giving "I hold your bytes AND I share them" energy, honestly iconic.

for Filestore-backed clusters, the argument of the --osd-data datapath option (and yeah, datapath is literally datapath in this example) should be a directory on an XFS file system where the object data lives. that's the spot. that's home 🏠

the journal? optional. periodt. but here's the thing β€” the journal only improves performance when it lives on a different disk than the disk specified by datapath. if it's on the same disk, don't bother, girl. and the storage medium the journal sits on should be a low-latency medium β€” ideally an SSD device. no cap, spinning rust is not it for a journal πŸ”₯


✨ OPTIONS ✨

okay this is the part everyone actually came for. every single one, no gatekeeping πŸ’œ

  • -f, --foreground β€” foreground mode: do not daemonize after startup (so it just runs in the foreground, right there, in front of you πŸ‘€). it also does not generate a pid file. super useful when you're running it via ceph-run(8).
  • -d β€” debug mode: it's like -f, but it also sends all log output to stderr. chaos mode, but make it informative πŸ’€
  • --setuser userorgid β€” set the uid after starting. if you hand it a username, the user record gets looked up to grab a uid and a gid, and the gid gets set too β€” unless --setgroup is also specified. so like, they talk to each other, besties 🀝
  • --setgroup grouporgid β€” set the gid after starting. if you hand it a group name, the group record gets looked up to grab a gid. simple as πŸŽ€
  • --osd-data osddata β€” use the object store at osddata.
  • --osd-journal journal β€” journal the updates to journal.
  • --check-wants-journal β€” check whether a journal is desired πŸ™ˆ
  • --check-allows-journal β€” check whether a journal is allowed βœ…
  • --check-needs-journal β€” check whether a journal is required 😀
  • --mkfs β€” create an empty object repository. this also initializes the journal (if one is defined). the big "start from nothing" button ✨
  • --mkkey β€” generate a new secret key πŸ”‘. this is normally used in combination with --mkfs, because honestly it's way more convenient than generating a key by hand with ceph-authtool(8).
  • --mkjournal β€” create a new journal file so it matches an existing object repository. majorly useful when the journal device or file got wiped out by a disk or file system failure 😭 (we've all been there)
  • --flush-journal β€” flush the journal to permanent store. this runs in the foreground, so you actually know when it's finished 🫑. useful if you want to resize the journal or otherwise need to destroy it: this guarantees you won't lose data πŸ’–
  • --get-cluster-fsid β€” print the cluster fsid (uuid) and exit.
  • --get-osd-fsid β€” print the OSD's fsid and exit. the OSD's uuid is generated at --mkfs time, so it's unique to a particular instantiation of this OSD πŸ‘‘
  • --get-journal-fsid β€” print the journal's uuid. the journal fsid gets set to match the OSD fsid at --mkfs time. they're matching, it's cute 🌸
  • -c ceph.conf, --conf=ceph.conf β€” use the ceph.conf configuration file instead of the default /etc/ceph/ceph.conf for runtime configuration options.
  • -m monaddress[:port] β€” connect to the specified monitor (instead of looking through ceph.conf).
  • --osdspec-affinity β€” set an affinity to a certain OSDSpec. this option can only be used in conjunction with --mkfs. no --mkfs, no deal πŸ’…

✨ AVAILABILITY ✨

ceph-osd is part of Ceph, a massively scalable, open-source, distributed storage system 🌈. hit up the Ceph documentation at https://docs.ceph.com for more info, iykyk.


✨ SEE ALSO ✨

ceph(8), ceph-mds(8), ceph-mon(8), ceph-authtool(8) β€” the whole friend group fr fr 🫢


2010-2014, Inktank Storage, Inc. and contributors. Licensed under Creative Commons Attribution Share Alike 3.0 (CC-BY-SA-3.0) πŸŽ€


okay and that's the whole page, bestie πŸ¦‹βœ¨ this one's from the dev version of the Ceph manual, dated Oct 06, 2026, and yeah β€” it's still filed under that CEPH-OSD(8) name πŸ’œ go run your OSD, you've got this πŸ‘‘

πŸ“¦ where this page comes from