Skip to main content

Increasing Shard Count

Problem

Veeam creates many small objects, which makes it necessary to increase shard count for most buckets. (Error: large_omap_object is thrown.)

Is it advisable to increase the shard count so that the amount of time and resources necessary to manually reshard is reduced?

Solution

Start with a higher shard count if you regularly see sharding events. Each time buckets reshard, they block IO during the reshard process. This can be very expensive when the buckets are very large.

The most important downside to having a high initial bucket shard count is that bucket-listing performance degrades as the shard count grows. This means that buckets that don't require many shards have worse listing performance than if you used a lower shard count.

Override a zonegroup's default setting by running the following command:

radosgw-admin zonegroup modify --bucket-index-max-shards=<shards>

Alternatively, you can set rgw_override_bucket_index_max_shards in the Ceph global configuration to change the setting universally.

Discussion

See https://github.com/ceph/ceph/pull/30875 for more discussion of this matter.