From d49ae976c84dc1bb886b4a3d8b4a6f606d134e97 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Niklas=20Hamb=C3=BCchen?= Date: Sun, 3 Aug 2025 13:36:35 +0000 Subject: [PATCH] doc: Erasure Code: Document set CRUSH rule precedence vs EC profile MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Niklas Hambüchen --- doc/rados/operations/erasure-code.rst | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/doc/rados/operations/erasure-code.rst b/doc/rados/operations/erasure-code.rst index 69ed39e7bc6..2c381112bb6 100644 --- a/doc/rados/operations/erasure-code.rst +++ b/doc/rados/operations/erasure-code.rst @@ -86,6 +86,18 @@ new pool is created, all objects from the wrongly configured pool must be moved to the newly created pool. There is no way to alter the profile of a pool after the pool has been created. +However, you can change the *crush-failure-domain* without creating a new pool, +by changing the CRUSH rule of the pool using +``ceph osd pool set crush_rule `` +as shown in :ref:`device_classes` +(you should ensure that the new CRUSH rule is identical to the old rule +in every way except the failure domain!). +Once you do that, ``ceph osd pool ls detail`` will still show as ``erasure`` +profile the profile that you used for initial creation (which refers to the +old *crush-failure-domain*), but the CRUSH rule in effect will be the new +one, as the *crush-failure-domain* in the profile is only used during +initial creation of the pool. + The most important parameters of the profile are *K*, *M*, and *crush-failure-domain* because they define the storage overhead and the data durability. For example, if the desired architecture must -- 2.39.5