From e3c3aafe093a9733bd8f95e90a219359da5f4cfc Mon Sep 17 00:00:00 2001 From: Artem Torubarov Date: Thu, 12 Dec 2024 11:21:49 +0100 Subject: [PATCH] rgw: bulk data pool by default update CephObjecStore examples to set bulk=true for data pools by default Signed-off-by: Artem Torubarov --- .../Object-Storage-RGW/object-storage.md | 2 ++ deploy/charts/rook-ceph-cluster/values.yaml | 2 ++ deploy/examples/object-ec.yaml | 4 ++++ deploy/examples/object-multisite-pull-realm.yaml | 2 ++ deploy/examples/object-multisite.yaml | 1 + deploy/examples/object-openshift.yaml | 4 ++++ deploy/examples/object.yaml | 4 ++++ 7 files changed, 19 insertions(+) diff --git a/Documentation/Storage-Configuration/Object-Storage-RGW/object-storage.md b/Documentation/Storage-Configuration/Object-Storage-RGW/object-storage.md index 484e2424c..2aedd6187 100644 --- a/Documentation/Storage-Configuration/Object-Storage-RGW/object-storage.md +++ b/Documentation/Storage-Configuration/Object-Storage-RGW/object-storage.md @@ -140,6 +140,8 @@ spec: # For production it is recommended to use more chunks, such as 4+2 or 8+4 dataChunks: 2 codingChunks: 1 + parameters: + bulk: "true" application: rgw ``` diff --git a/deploy/charts/rook-ceph-cluster/values.yaml b/deploy/charts/rook-ceph-cluster/values.yaml index 7576f05bd..82a5a27db 100644 --- a/deploy/charts/rook-ceph-cluster/values.yaml +++ b/deploy/charts/rook-ceph-cluster/values.yaml @@ -592,6 +592,8 @@ cephObjectStores: erasureCoded: dataChunks: 2 codingChunks: 1 + parameters: + bulk: "true" preservePoolsOnDelete: true gateway: port: 80 diff --git a/deploy/examples/object-ec.yaml b/deploy/examples/object-ec.yaml index f3bcb80aa..b44ad391b 100644 --- a/deploy/examples/object-ec.yaml +++ b/deploy/examples/object-ec.yaml @@ -32,6 +32,10 @@ spec: dataChunks: 2 codingChunks: 1 parameters: + # RGW data pools are expected to be large, so mark them as "bulk" so that the PG autoscaler will treat them accordingly + # (see https://docs.ceph.com/en/reef/rados/operations/placement-groups/) + # In short, it will precreate a full number of PGs, so that the cluster works with optimal performance from day 1. + bulk: "true" # Inline compression mode for the data pool # Further reference: https://docs.ceph.com/docs/master/rados/configuration/bluestore-config-ref/#inline-compression compression_mode: none diff --git a/deploy/examples/object-multisite-pull-realm.yaml b/deploy/examples/object-multisite-pull-realm.yaml index 4bd8d0689..d2c5d8b3c 100644 --- a/deploy/examples/object-multisite-pull-realm.yaml +++ b/deploy/examples/object-multisite-pull-realm.yaml @@ -53,6 +53,8 @@ spec: replicated: size: 3 requireSafeReplicaSize: true + parameters: + bulk: "true" --- apiVersion: ceph.rook.io/v1 kind: CephObjectStore diff --git a/deploy/examples/object-multisite.yaml b/deploy/examples/object-multisite.yaml index a835983f6..7d9597f72 100644 --- a/deploy/examples/object-multisite.yaml +++ b/deploy/examples/object-multisite.yaml @@ -36,6 +36,7 @@ spec: requireSafeReplicaSize: true parameters: compression_mode: none + bulk: "true" # recommended to set this value if ingress used for exposing rgw endpoints # customEndpoints: # - "http://rgw-a.fqdn" diff --git a/deploy/examples/object-openshift.yaml b/deploy/examples/object-openshift.yaml index 85fc4f5ec..b37024985 100644 --- a/deploy/examples/object-openshift.yaml +++ b/deploy/examples/object-openshift.yaml @@ -34,6 +34,10 @@ spec: # Make sure you're *ABSOLUTELY CERTAIN* that is what you want requireSafeReplicaSize: true parameters: + # RGW data pools are expected to be large, so mark them as "bulk" so that the PG autoscaler will treat them accordingly + # (see https://docs.ceph.com/en/reef/rados/operations/placement-groups/) + # In short, it will precreate a full number of PGs, so that the cluster works with optimal performance from day 1. + bulk: "true" # Inline compression mode for the data pool # Further reference: https://docs.ceph.com/docs/master/rados/configuration/bluestore-config-ref/#inline-compression compression_mode: none diff --git a/deploy/examples/object.yaml b/deploy/examples/object.yaml index 414d7ff8c..efc6114ab 100644 --- a/deploy/examples/object.yaml +++ b/deploy/examples/object.yaml @@ -34,6 +34,10 @@ spec: # Make sure you're *ABSOLUTELY CERTAIN* that is what you want requireSafeReplicaSize: true parameters: + # RGW data pools are expected to be large, so mark them as "bulk" so that the PG autoscaler will treat them accordingly + # (see https://docs.ceph.com/en/reef/rados/operations/placement-groups/) + # In short, it will precreate a full number of PGs, so that the cluster works with optimal performance from day 1. + bulk: "true" # Inline compression mode for the data pool # Further reference: https://docs.ceph.com/docs/master/rados/configuration/bluestore-config-ref/#inline-compression compression_mode: none