You can configure a placement target where created buckets do not use the bucket index to
store objects index; that is, indexless buckets. Placement targets that do not use data replication
or listing might implement indexless buckets. Indexless buckets provide a mechanism in which the
placement target does not track objects in specific buckets. Indexless buckets removes a resource
contention that happens whenever an object write happens and reduces the number of round-trips that
Ceph Object Gateway needs to make to the Ceph storage cluster. This can have a positive effect on
concurrent operations and small object write performance.
Before you begin
Before you begin, make sure that you have the
following prerequisites in place:
- A running IBM
Storage Ceph cluster.
- Installation of the Ceph Object Gateway software.
- Root-level access to a Ceph Object Gateway node.
About this task
Important: The bucket index does not reflect the correct state of the bucket, and
listing these buckets does not correctly return their list of objects, which affects multiple
features. Specifically, these buckets are not synced in a multi-zone environment because the bucket
index is not used to store change information. Do not to use S3 object versioning on indexless
buckets because the bucket index is necessary for this feature.
Note: Using indexless buckets removes the limit of the max number of objects in a single
bucket.
Procedure
- Add a new placement target to the zonegroup by using the radosgw-admin zonegroup
placement add command.
For
example,
[ceph: root@host03 /]# radosgw-admin zonegroup placement add --rgw-zonegroup="default"
--placement-id="indexless-placement"
- Add a new placement target to the zone by using the radosgw-admin zone placement
add command.
For
example,
[ceph: root@host03 /]# radosgw-admin zone placement add --rgw-zone="default"
--placement-id="indexless-placement"
--data-pool="default.rgw.buckets.data"
--index-pool="default.rgw.buckets.index"
--data_extra_pool="default.rgw.buckets.non-ec"
--placement-index-type="indexless"
- Set the default placement of the zonegroup to
indexless-placement.
All buckets that are created in the
indexless-placement target will be indexless
buckets.
radosgw-admin zonegroup placement default --placement-id "indexless-placement"
For
example,
[ceph: root@host03 /]# radosgw-admin zonegroup placement default --placement-id "indexless-placement"
- When the cluster is in a multi-site configuration, update and commit the period.
radosgw-admin period update --commit
For
example,
[ceph: root@host03 /]# radosgw-admin period update --commit
- Restart the Ceph Object Gateways on all nodes in the storage cluster for the change to
take effect.
ceph orch restart SERVICE_TYPE
For
example,
[ceph: root@host03 /]# ceph orch restart rgw