9.6. 配额管理


Ceph 对象网关允许您设置用户拥有的用户和 bucket 的配额。配额包括 bucket 中对象的最大数量,以及最大存储大小(以 MB 为单位)。

  • Bucket: --bucket 选项允许您为用户拥有的存储桶指定配额。
  • 最大对象: --max-objects 设置允许您指定对象的最大数量。负值将禁用此设置。
  • 最大大小: --max-size 选项允许您为最大字节数指定配额。负值将禁用此设置。
  • 配额范围: --quota-scope 选项设置配额的范围。选项为 bucketuser。bucket 配额应用到用户拥有的 bucket。用户配额应用到用户。
重要

具有大量对象的 bucket 可能会导致严重的性能问题。一个 bucket 中建议的最多对象数量为 100,000。要增加这个数量,请配置存储桶索引分片。详情请参阅 Configure bucket index resharding

9.6.1. 设置用户配额

在启用配额前,您必须首先设置配额参数。

语法

radosgw-admin quota set --quota-scope=user --uid=USER_ID [--max-objects=NUMBER_OF_OBJECTS] [--max-size=MAXIMUM_SIZE_IN_BYTES]

示例

[root@host01 ~]# radosgw-admin quota set --quota-scope=user --uid=johndoe --max-objects=1024 --max-size=1024

num 对象和 / 或 max size 的负值表示禁用特定的配额属性检查。

9.6.2. 启用和禁用用户配额

设置用户配额后,您可以启用它。

语法

radosgw-admin quota enable --quota-scope=user --uid=USER_ID

您可以禁用启用的用户配额。

语法

radosgw-admin quota disable --quota-scope=user --uid=USER_ID

9.6.3. 设置存储桶配额

bucket 配额应用到指定 uid 拥有的 bucket。它们独立于用户。

语法

radosgw-admin quota set --uid=USER_ID --quota-scope=bucket --bucket=BUCKET_NAME [--max-objects=NUMBER_OF_OBJECTS] [--max-size=MAXIMUM_SIZE_IN_BYTES]

NUMBER_OF_OBJECTS,MAXIMUM_SIZE_IN_BYTES 的负值表示禁用特定的配额属性检查。

9.6.4. 启用和禁用存储桶配额

设置存储桶配额后,您可以启用它。

语法

radosgw-admin quota enable --quota-scope=bucket --uid=USER_ID

您可以禁用启用的存储桶配额。

语法

radosgw-admin quota disable --quota-scope=bucket --uid=USER_ID

9.6.5. 获取配额设置

您可以通过用户信息 API 访问每个用户的配额设置。要使用 CLI 接口读取用户配额设置信息,请运行以下命令:

语法

radosgw-admin user info --uid=USER_ID

要获得租户用户的配额设置,请指定用户 ID 和租户名称:

语法

radosgw-admin user info --uid=USER_ID --tenant=TENANT

9.6.6. 更新配额统计

配额统计异步更新。您可以手动更新所有用户和所有存储桶的配额统计,以检索最新的配额统计。

语法

radosgw-admin user stats --uid=USER_ID --sync-stats

9.6.7. 获取用户配额使用量统计

要查看用户消耗的配额量,请运行以下命令:

语法

radosgw-admin user stats --uid=USER_ID

注意

您应当使用 --sync-stats 选项执行 radosgw-admin user stats,以接收最新的数据。

9.6.8. 配额缓存

为每个 Ceph 网关实例缓存配额统计数据。如果有多个实例,缓存可以防止完全强制执行配额,因为每个实例对配额有不同的视图。控制此功能的选项是 rgw bucket 配额 ttlrgw 用户配额 bucket 同步间隔,以及 rgw 用户配额同步间隔。这些值越大,配额操作效率越高,但多个实例不同步就会越高。这些值越低,将更接近于完美地实施多个实例。如果所有三个都是 0,则有效禁用配额缓存,多个实例也具有完美的配额实施。

9.6.9. 读取和写入全局配额

您可以在 zonegroup map 中读取和写入配额设置。获取 zonegroup map:

[root@host01 ~]# radosgw-admin global quota get

全局配额设置可以使用 global quota 的与 quota set, quota enable, 和 quota disable 命令相关的部分,例如:

[root@host01 ~]# radosgw-admin global quota set --quota-scope bucket --max-objects 1024
[root@host01 ~]# radosgw-admin global quota enable --quota-scope bucket
注意

在存在 realm 和 period 的多站点配置中,必须使用 period update --commit 提交对全局配额的更改。如果没有 period,则必须重启 Ceph 对象网关,才能使更改生效。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.