]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
doc/rados: explain what a device class breaks in stretch mode 70580/head
authorKefu Chai <k.chai@proxmox.com>
Mon, 27 Jul 2026 14:36:21 +0000 (22:36 +0800)
committerKefu Chai <k.chai@proxmox.com>
Mon, 27 Jul 2026 15:09:33 +0000 (23:09 +0800)
commitb542c2feb348926bc7a9219251a1bb384fedd41d
tree495e1604da928deffc266a4b9faef4e5f53a0076
parent0295ffaed7cf22e2168749bb7d44f4c39ad3154d
doc/rados: explain what a device class breaks in stretch mode

The warning said device classes are "not supported" and that such a rule
"will not work", without saying what actually happens. Ceph accepts the
rule, honors the class, and places the data correctly. Peering is what
fails. The rule takes from a shadow tree, so an OSD's datacenter resolves
to "zone1~ssd", while the Monitors record the surviving zone as "zone1".
The two never match. Nothing looks wrong while both data centers are up,
but once one is lost, the PGs left behind cannot peer. Bringing the data
center back does not help either, because the cluster leaves degraded
stretch mode only once no PG is inactive.

Describe that, and point at the class-free rule under "Entering Stretch
Mode". Also fix the example, which wrote "type replicated class ssd". The
CRUSH grammar takes a device class on the take step.

Related-to: https://tracker.ceph.com/issues/67414
Signed-off-by: Kefu Chai <k.chai@proxmox.com>
doc/rados/operations/stretch-mode.rst