Red Hat Training

A Red Hat training course is available for Red Hat Ceph Storage

3.4.4. 动态 Bucket Index Resharding

动态 bucket 重新划分的过程定期检查所有 Ceph 对象网关存储桶,并检测需要重新划分的存储桶。如果 bucket 增长大于 rgw_max_objs_per_shard 参数中指定的值,Ceph 对象网关会在后台动态重新定义存储桶。rgw_max_objs_per_shard 的默认值是每个分片 100k 对象。

重要

目前,红帽不支持在多站点配置中重新划分动态存储桶。要在此类配置中重新定义存储桶索引,请参阅使用多站点手动 Resharding Buckets

先决条件

流程

  • 启用动态存储桶索引重新划分

    1. 将 Ceph 配置文件中的 rgw_dynamic_resharding 设置设为 true,这是默认值。
    2. 可选。如果需要,更改 Ceph 配置文件中的以下参数:

      • rgw_reshard_num_logs :重新划分日志的分片数量。默认值为 16
      • rgw_reshard_bucket_lock_duration :在重新划分期间存储桶上锁定的持续时间。默认值为 120 秒。
      • rgw_dynamic_resharding :启用或禁用动态重新划分。默认值为 true
      • rgw_max_objs_per_shard :每个分片的最大对象数量。默认值为每个分片 100000 对象。
      • rgw_reshard_thread_interval :重新线程处理循环之间的最长时间。默认值为 600 秒。
  • 将存储桶添加到重新划分队列中:

    radosgw-admin reshard add --bucket BUCKET_NAME --num-shards NUMBER

    替换:

    • BUCKET_NAME,带有要重新shard 的存储桶的名称。
    • NUMBER,使用新分片数。

    例如:

    $ radosgw-admin reshard add --bucket data --num-shards 10

  • 列出重新划分队列:

    $ radosgw-admin reshard list
  • 检查存储桶重新划分状态:

    radosgw-admin reshard status --bucket BUCKET_NAME

    替换:

    • BUCKET_NAME,带有要重新shard的存储桶的名称

    例如:

    $ radosgw-admin reshard status --bucket data

    注意

    The radosgw-admin reshard status 命令将显示以下状态标识符之一:

    • not-resharding
    • in-progress
    • done
  • 立即处理重新划分队列中的条目:

    $ radosgw-admin reshard process
  • 取消待处理的存储桶重新划分:

    radosgw-admin reshard cancel --bucket BUCKET_NAME

    替换:

    • BUCKET_NAME,待处理 bucket 的名称。

    例如:

    $ radosgw-admin reshard cancel --bucket data

    重要

    您只能取消 待处理的 重新划分操作。不要取消 持续 重新划分的操作。

  • 如果您使用 Red Hat Ceph Storage 3.1 及更早的版本,请删除过时的存储桶条目,如 重新划分后清除过时的实例 中所述。