9.2. 创建无索引存储桶


您可以配置放置目标,其中创建的存储桶不使用存储桶索引来存储对象索引,即无索引存储桶。不使用数据复制或列表的放置目标可能会实现无索引存储桶。Indexless bucket 提供了一种机制,其中的放置目标不会跟踪特定存储桶中的对象。这消除了每当发生对象写入时发生的资源争用,并减少 Ceph 对象网关对 Ceph 存储集群进行的往返次数。这可能会对并发操作和小对象写入性能产生积极的影响。

重要

bucket 索引不会反映存储桶的正确状态,列出这些存储桶将无法正确返回其对象列表。这会影响多个功能。具体来说,这些存储桶不会在多区环境中同步,因为存储桶索引不用于存储更改信息。红帽建议不要在无索引存储桶上使用 S3 对象版本控制,因为这个功能需要存储桶索引。

注意

使用无索引存储桶可移除单个 bucket 中最大对象数量的限值。

注意

无法从 NFS 列出无索引存储桶中的对象。

先决条件

  • 正在运行的、健康的 Red Hat Ceph Storage 集群。
  • 安装 Ceph 对象网关软件.
  • Ceph 对象网关节点的根级别访问权限.

流程

  1. 在 zonegroup 中添加新放置目标:

    示例

    [ceph: root@host03 /]# radosgw-admin zonegroup placement add --rgw-zonegroup="default" \
      --placement-id="indexless-placement"

  2. 在区中添加一个新的放置目标:

    示例

    [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"

  3. 将 zonegroup 的默认放置设置为 无索引放置

    示例

    [ceph: root@host03 /]# radosgw-admin zonegroup placement default --placement-id "indexless-placement"

    在本例中,在 indexless-placement 目标中创建的存储桶将是无索引存储桶。

  4. 如果集群处于多站点配置中,请更新并提交周期:

    示例

    [ceph: root@host03 /]# radosgw-admin period update --commit

  5. 在存储集群的所有节点上重启 Ceph 对象网关,以使更改生效:

    语法

    ceph orch restart SERVICE_TYPE

    示例

    [ceph: root@host03 /]# ceph orch restart rgw

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.