From c05768feb3dfeb6194e197d62e6703511e8878c6 Mon Sep 17 00:00:00 2001 From: Travis Nielsen Date: Wed, 3 Dec 2025 10:42:58 -0700 Subject: [PATCH] docs: add pool parameter for erasure code optimizations Ceph Tentacle v20 comes with erasure coding optimizations that must be enabled explicitly with a setting on the pool. Add this setting to the docs and examples. Signed-off-by: Travis Nielsen --- .../CRDs/Block-Storage/ceph-block-pool-crd.md | 10 ++++++++++ .../CRDs/Object-Storage/ceph-object-store-crd.md | 3 +++ .../Object-Storage-RGW/object-storage.md | 3 +++ deploy/examples/object-ec.yaml | 3 +++ deploy/examples/object-shared-pools.yaml | 3 +++ deploy/examples/pool-ec.yaml | 2 ++ 6 files changed, 24 insertions(+) diff --git a/Documentation/CRDs/Block-Storage/ceph-block-pool-crd.md b/Documentation/CRDs/Block-Storage/ceph-block-pool-crd.md index 7e359b89a..dc2cd23c6 100644 --- a/Documentation/CRDs/Block-Storage/ceph-block-pool-crd.md +++ b/Documentation/CRDs/Block-Storage/ceph-block-pool-crd.md @@ -70,6 +70,10 @@ spec: dataChunks: 4 codingChunks: 2 deviceClass: hdd + parameters: + # Ceph Tentacle v20 has optimizations that need to be explicitly enabled. + # Remove this setting for pre-Tentacle pools. + allow_ec_optimizations: "true" ``` Various combinations of `dataChunks` and `codingChunks` values are possible, with @@ -318,3 +322,9 @@ The `failureDomain` must be also be taken into account when determining the numb If you do not have a sufficient number of hosts or OSDs for unique placement the pool can be created, writing to the pool will hang and Ceph will report `undersized` or `incomplete` placement groups. Rook currently only configures two levels in the CRUSH map. It is also possible to configure other levels such as `rack` with by adding [topology labels](../Cluster/ceph-cluster-crd.md#osd-topology) to the nodes. + +!!! tip + Ceph Tentacle v20 has optimizations that need to be explicitly enabled. + Set the following parameter in the pool spec of erasure coded pools: + parameters: + allow_ec_optimizations: "true" diff --git a/Documentation/CRDs/Object-Storage/ceph-object-store-crd.md b/Documentation/CRDs/Object-Storage/ceph-object-store-crd.md index 119142814..9dbcc32dc 100644 --- a/Documentation/CRDs/Object-Storage/ceph-object-store-crd.md +++ b/Documentation/CRDs/Object-Storage/ceph-object-store-crd.md @@ -31,6 +31,9 @@ spec: erasureCoded: dataChunks: 2 codingChunks: 1 + parameters: + # Ceph Tentacle v20 has optimizations that need to be explicitly enabled + # allow_ec_optimizations: "true" preservePoolsOnDelete: true gateway: # sslCertificateRef: diff --git a/Documentation/Storage-Configuration/Object-Storage-RGW/object-storage.md b/Documentation/Storage-Configuration/Object-Storage-RGW/object-storage.md index f2cf4bd09..dd9340c93 100644 --- a/Documentation/Storage-Configuration/Object-Storage-RGW/object-storage.md +++ b/Documentation/Storage-Configuration/Object-Storage-RGW/object-storage.md @@ -54,6 +54,9 @@ spec: erasureCoded: dataChunks: 2 codingChunks: 1 + parameters: + # Ceph Tentacle v20 has optimizations that need to be explicitly enabled + # allow_ec_optimizations: "true" preservePoolsOnDelete: true gateway: # sslCertificateRef: diff --git a/deploy/examples/object-ec.yaml b/deploy/examples/object-ec.yaml index b44ad391b..a897f009e 100644 --- a/deploy/examples/object-ec.yaml +++ b/deploy/examples/object-ec.yaml @@ -42,6 +42,9 @@ spec: # gives a hint (%) to Ceph in terms of expected consumption of the total cluster capacity of a given pool # for more info: https://docs.ceph.com/docs/master/rados/operations/placement-groups/#specifying-expected-pool-size #target_size_ratio: ".5" + # Ceph Tentacle v20 has optimizations that need to be explicitly enabled + # allow_ec_optimizations: "true" + # Whether to preserve metadata and data pools on object store deletion preservePoolsOnDelete: true # The gateway service configuration diff --git a/deploy/examples/object-shared-pools.yaml b/deploy/examples/object-shared-pools.yaml index 0ca505035..e26e7b556 100644 --- a/deploy/examples/object-shared-pools.yaml +++ b/deploy/examples/object-shared-pools.yaml @@ -47,3 +47,6 @@ spec: dataChunks: 2 codingChunks: 1 application: rgw + parameters: + # Ceph Tentacle v20 has optimizations that need to be explicitly enabled + # allow_ec_optimizations: "true" diff --git a/deploy/examples/pool-ec.yaml b/deploy/examples/pool-ec.yaml index ff66e5810..47287c985 100644 --- a/deploy/examples/pool-ec.yaml +++ b/deploy/examples/pool-ec.yaml @@ -21,3 +21,5 @@ spec: parameters: # Inline compression mode for the data pool compression_mode: none + # Ceph Tentacle v20 or newer has EC optimizations that need to be explicitly enabled + # allow_ec_optimizations: "true"