注意

本文档适用于 Ceph 的开发版本。

radosgw-admin -- rados REST 网关用户管理工具

概要

radosgw-admin command [ options ]

描述

radosgw-admin 是 Ceph Object Gateway 用户管理工具。它用于创建和修改用户。

命令

radosgw-admin 工具提供以下管理命令:

user create

创建一个新用户。

user modify

修改用户。

user info

显示用户信息,包括任何子用户和密钥。

user rename

重命名用户。

user rm

删除用户。

user suspend

暂停用户。

user enable

暂停后重新启用用户。

user check

检查用户信息。

user stats

显示配额子系统统计的用户统计信息。

user list

列出所有用户。

caps add

添加用户功能。

caps rm

删除用户功能。

subuser create

创建一个新子用户(主要适用于使用 Swift API 的客户端)。

subuser modify

修改子用户。

subuser rm

删除子用户。

key create

创建访问密钥。

key rm

删除访问密钥。

bucket list

列出存储桶,或者如果使用 --bucket=<bucket> 指定了存储桶,则列出其对象。添加 --allow-unordered 会移除排序要求,可能使具有大量对象的存储桶更快地生成结果。

bucket limit check

显示存储桶分片统计信息。

bucket link

将存储桶链接到指定用户。

bucket unlink

将存储桶从指定用户取消链接。

bucket chown

将存储桶所有权更改为指定用户并更新对象 ACL。如果命令中断,请使用 --marker 恢复。

bucket stats

列出存储桶统计信息以及有关存储桶的其他内部信息。

bucket rm

删除存储桶。

bucket check

检查存储桶索引。

bucket rewrite

重写指定存储桶中的所有对象。

bucket radoslist

如果指定了 --bucket=<bucket>,则列出包含指定存储桶中所有对象数据的 RADOS 对象。否则,列出包含所有存储桶数据的 RADOS 对象。

bucket reshard

重新分片存储桶的索引。

bucket sync disable

禁用存储桶同步。

bucket sync enable

启用存储桶同步。

bi get

检索存储桶索引对象条目。

bi put

存储存储桶索引对象条目。

bi list

列出原始存储桶索引条目。

bi purge

清除存储桶索引条目。

object rm

删除 S3/Swift 对象。包含“--yes-i-really-mean-it”以从存储桶索引中删除对象条目,例如如果它已损坏。

object stat

对 S3/Swift 对象进行统计以获取其元数据。

object manifest

显示 S3/Swift 对象的清单,生成包含数据的 RADOS 对象列表。

object unlink

将 S3/Swift 对象从存储桶索引中取消链接。

object rewrite

重写指定的 S3/Swift 对象。

object reindex

将 S3/Swift 对象添加到其存储桶的索引中。很少用于紧急修复。

objects expire

运行过期对象清理。

period rm

删除一个周期。

period get

获取周期信息。

period get-current

获取当前周期信息。

period pull

拉取一个周期。

period push

推送一个周期。

period list

列出所有周期。

period update

更新暂存周期。

period commit

提交暂存周期。

quota set

设置配额参数。

quota enable

启用配额。

quota disable

禁用配额。

global quota get

查看全局配额参数。

global quota set

设置全局配额参数。

global quota enable

启用全局配额。

global quota disable

禁用全局配额。

realm create

创建一个新域。

realm rm

删除域。

realm get

显示域信息。

realm get-default

获取默认域名称。

realm list

列出所有域。

realm list-periods

列出所有域周期。

realm rename

重命名域。

realm set

设置域信息(需要 infile)。

realm default

将域设置为默认值。

realm pull

拉取域及其当前周期。

zonegroup add

将区域添加到区域组。

zonegroup create

创建一个新区域组信息。

zonegroup default

设置默认区域组。

zonegroup rm

删除区域组信息。

zonegroup get

显示区域组信息。

zonegroup modify

修改现有区域组。

zonegroup set

设置区域组信息(需要 infile)。

zonegroup remove

从区域组中移除区域。

zonegroup rename

重命名区域组。

zonegroup list

列出此集群上设置的所有区域组。

zonegroup placement list

列出区域组的放置目标。

zonegroup placement add

将放置目标 ID 添加到区域组。

zonegroup placement modify

修改特定区域组的放置目标。

zonegroup placement rm

从区域组中移除放置目标。

zonegroup placement default

设置区域组的默认放置目标。

zone create

创建一个新区域。

zone rm

删除区域。

zone get

显示区域集群参数。

zone set

设置区域集群参数(需要 infile)。

zone modify

修改现有区域。

zone list

列出此集群上设置的所有区域。

metadata sync status

获取元数据同步状态。

metadata sync init

初始化元数据同步。

metadata sync run

运行元数据同步。

data sync status

获取指定源区域的数据同步状态。

data sync init

为指定源区域初始化数据同步。

data sync run

为指定源区域运行数据同步。

sync error list

列出同步错误。

sync error trim

修剪同步错误。

zone rename

重命名区域。

zone placement list

列出区域的放置目标。

zone placement add

添加区域放置目标。

zone placement modify

修改区域放置目标。

zone placement rm

移除区域放置目标。

pool add

为数据放置添加现有池。

pool rm

从数据放置集中移除现有池。

pools list

列出放置活动集。

policy

显示存储桶/对象策略(例如权限/ACL 等)。

log list

列出日志对象。

log show

从特定对象或(存储桶 + 日期 + 存储桶 ID)转储日志。(注意:需要将日期格式指定为“YYYY-MM-DD-hh”)

log rm

删除日志对象。

usage show

显示使用情况信息(带可选用户和日期范围)。

usage trim

修剪使用情况信息(带可选用户和日期范围)。

gc list

转储过期的垃圾收集对象(指定 --include-all 列出所有条目,包括未过期的)。

gc process

手动处理垃圾。

lc get

获取存储桶的生命周期配置。

lc list

列出所有存储桶生命周期进度。

lc process

手动处理生命周期转换。如果指定了存储桶(例如,通过 --bucket_id 或通过 --bucket 和可选的 --tenant),则仅处理该存储桶。

metadata get

获取元数据信息。

metadata put

放置元数据信息。

metadata rm

删除元数据信息。

metadata list

列出元数据信息。

mdlog list

列出多站点部署所需的元数据日志。

mdlog trim

手动修剪元数据日志,而不是依赖网关的集成日志同步。修剪之前,比较列表并确保上次同步已完成,否则它可能会重新启动同步。

mdlog status

读取元数据日志状态。

bilog list

列出多站点部署所需的存储桶索引日志。

bilog trim

手动修剪存储桶索引日志(使用 start-marker、end-marker),而不是依赖网关的集成日志同步。修剪之前,比较列表并确保上次同步已完成,否则它可能会重新启动同步。

datalog list

列出多站点部署所需的数据日志。

datalog trim

手动修剪数据日志,而不是依赖网关的集成日志同步。修剪之前,比较列表并确保上次同步已完成,否则它可能会重新启动同步。

datalog status

读取数据日志状态。

orphans find

初始化并运行搜索泄漏的 RADOS 对象。已弃用。请参阅“rgw-orphan-list”工具。

orphans finish

清理搜索泄漏的 RADOS 对象。已弃用。请参阅“rgw-orphan-list”工具。

orphans list-jobs

列出当前的孤立对象搜索作业 ID。已弃用。请参阅“rgw-orphan-list”工具。

role create

创建一个新角色以用于 STS(安全令牌服务)。

role rm

删除角色。

role get

获取角色。

role list

列出具有指定路径前缀的角色。

role modify

修改现有角色的假设角色策略。

role-policy put

添加/更新角色的权限策略。

role-policy list

列出附加到角色的策略。

role-policy get

获取给定角色中嵌入的指定内联策略文档。

role-policy rm

删除附加到角色的策略。

reshard add

安排存储桶重分片。

reshard list

列出所有存储桶重分片或计划重分片。

reshard process

处理计划的重分片作业。

reshard status

存储桶的重分片状态。

reshard cancel

取消存储桶重分片。

topic list

列出存储桶通知主题。

topic get

获取存储桶通知主题。

topic rm

移除存储桶通知主题。

topic stats

获取存储桶通知持久主题统计信息(即保留、条目和大小)。

topic dump

转储(JSON 格式)持久主题的所有待处理存储桶通知。

restore list

列出存储桶中每个对象的恢复状态。

restore status

显示存储桶中对象的恢复状态。

选项

-c ceph.conf, --conf=ceph.conf

使用 ceph.conf 配置文件而不是默认的 /etc/ceph/ceph.conf 来确定启动期间的监视器地址。

-m monaddress[:port]

连接到指定的 monitor(而不是从 ceph.conf 中选择)。

--tenant=<tenant>

租户名称。

--uid=uid

要操作的用户。

--new-uid=uid

用户的新 ID。与“user rename”命令一起使用。

--subuser=<name>

子用户名称。

--access-key=<key>

S3 访问密钥。

--email=email

用户的电子邮件地址。

--secret/--secret-key=<key>

密钥。

--gen-access-key

生成随机访问密钥(用于 S3)。

--gen-secret

生成随机密钥。

--generate-key

创建带或不带凭据的用户。如果此选项设置为 false,则用户无法设置 --gen-access-key/--gen-secret/--secret-key/--access-key。如果此选项设置为 true,则用户无法设置 --secret-key/--access-key,并且绕过 --gen-secret/--gen-access-key 选项。默认值为 true。

--key-type=<type>

密钥类型,选项为:swift, s3。

--temp-url-key[-2]=<key>

临时 URL 密钥。

--max-buckets

用户的最大存储桶数(0 表示无限制,负值表示禁用存储桶创建)。默认值为 1000。

--access=<access>

设置子用户的访问权限。可用的访问权限为 read、write、readwrite 和 full。

--display-name=<name>

用户的显示名称。

--admin

设置用户的 admin 标志。

--system

设置用户的 system 标志。

--bucket=[tenant-id/]bucket

指定存储桶名称。如果未指定 tenant-id,则使用用户的 tenant-id (--uid)。

--pool=<pool>

指定池名称。也用于 orphans find 作为数据池来扫描泄漏的 rados 对象。

--object=object

指定对象名称。

--date=yyyy-mm-dd

日期格式为 yyyy-mm-dd。

--start-date=yyyy-mm-dd

开始日期格式为 yyyy-mm-dd。

--end-date=yyyy-mm-dd

结束日期格式为 yyyy-mm-dd。

--bucket-id=<bucket-id>

指定存储桶 id。

--bucket-new-name=[tenant-id/]<bucket>

bucket link 的可选选项;用于重命名存储桶。虽然可以指定 tenant-id,但在正常操作中这不是必需的。

--shard-id=<shard-id>

mdlog list、bi list、data sync status 的可选选项。mdlog trim 的必需选项。

--max-entries=<entries>

列表操作的可选选项,用于指定最大条目数。

--purge-data

指定时,删除用户时也会清除用户的数据。

--purge-keys

指定时,删除子用户时也会清除子用户的密钥。

--purge-objects

指定时,删除存储桶时也会清除其中的所有对象。

--metadata-key=<key>

用于检索元数据的密钥,与 metadata get 一起使用。

--remote=<remote>

远程网关的区域或区域组 id。

--period=<id>

周期 ID。

--url=<url>

用于推送/拉取周期或域的 URL。

--epoch=<number>

周期 epoch。

--commit

在“period update”期间提交周期。

--staging

获取暂存周期信息。

--master

设置为主节点。

--master-zone=<id>

主区域 ID。

--rgw-realm=<name>

域名称。

--realm-id=<id>

域 ID。

--realm-new-name=<name>

域的新名称。

--rgw-zonegroup=<name>

区域组名称。

--zonegroup-id=<id>

区域组 ID。

--zonegroup-new-name=<name>

区域组的新名称。

--rgw-zone=<zone>

网关正在运行的区域。

--zone-id=<id>

区域 ID。

--zone-new-name=<name>

区域的新名称。

--source-zone

数据同步的源区域。

--default

将实体(域、区域组、区域)设置为默认值。

--read-only

将区域添加到区域组时将其设置为只读。

--placement-id

区域组放置命令的放置 ID。

--tags=<list>

用于区域组放置添加和修改命令的标签列表。

--tags-add=<list>

用于区域组放置修改命令的要添加的标签列表。

--tags-rm=<list>

用于区域组放置修改命令的要移除的标签列表。

--endpoints=<list>

区域端点。

--index-pool=<pool>

放置目标索引池。

--data-pool=<pool>

放置目标数据池。

--data-extra-pool=<pool>

放置目标额外数据(非 EC)池。

--placement-index-type=<type>

放置目标索引类型(normal、indexless 或 #id)。

--placement-inline-data=<true>

放置目标是否配置为在头部对象中内联存储数据块。

--tier-type=<type>

区域层级类型。

--tier-config=<k>=<v>[,...]

设置区域层级配置键、值。

--tier-config-rm=<k>[,...]

取消设置区域层级配置键。

--sync-from-all[=false]

设置/重置区域是否从所有区域组对等节点同步。

--sync-from=[zone-name][,...]

设置要从中同步的区域列表。

--sync-from-rm=[zone-name][,...]

从要从中同步的区域列表中移除区域。

--bucket-index-max-shards

覆盖区域或区域组的默认存储桶索引分片数。此选项被 'zone create'、'zone modify'、'zonegroup add' 和 'zonegroup modify' 命令接受,适用于区域/区域组更改生效后创建的存储桶。

--fix

除了检查存储桶索引外,还修复它。

--check-objects

存储桶检查:根据实际对象状态重建存储桶索引。

--format=<format>

指定某些操作的输出格式。支持的格式:xml, json。

--sync-stats

“user stats”命令的选项。指定时,它将使用用户存储桶索引报告的当前统计信息更新用户统计信息。

--show-config

显示配置。

--show-log-entries=<flag>

启用/禁用在 log show 上转储日志条目。

--show-log-sum=<flag>

启用/禁用在 log show 上转储日志总和。

--skip-zero-entries

Log show 仅转储在其中一个数字字段中不具有零值的条目。

--infile

指定设置数据时要读取的文件。

--categories=<list>

逗号分隔的类别列表,用于 usage show。

--caps=<caps>

功能列表(例如,“usage=read, write; user=read”)。

--compression=<compression-algorithm>

放置目标压缩算法(lz4|snappy|zlib|zstd)。

--yes-i-really-mean-it

作为某些破坏性操作的保护措施是必需的。

--min-rewrite-size

指定存储桶重写的最小对象大小(默认 4M)。

--max-rewrite-size

指定存储桶重写的最大对象大小(默认 ULLONG_MAX)。

--min-rewrite-stripe-size

指定对象重写的最小条带大小(默认 0)。如果值设置为 0,则在重条带化时将始终重写指定的对象。

--warnings-only

与 bucket limit check 一起指定时,仅列出接近或超过当前每个分片最大对象值的存储桶。

--bypass-gc

与存储桶删除一起指定时,触发对象删除而不涉及 GC。

--inconsistent-index

与存储桶删除一起指定且 bypass-gc 设置为 true 时,忽略存储桶索引一致性。

--max-concurrent-ios

最大并发存储桶操作数。影响扫描存储桶索引的操作,例如列出、删除以及所有扫描/搜索操作(例如查找孤立对象或检查存储桶索引)。默认值为 32。

--restore-status

按状态过滤“restore list”命令返回的对象。

--show-restore-stats

在存储桶 stat 命令中显示恢复统计信息。这里需要提供存储桶名称。

配额选项

--max-objects

指定最大对象数(负值表示禁用)。

--max-size

指定最大对象大小(以 B/K/M/G/T 为单位,负值表示禁用)。

--quota-scope

配额范围(bucket, user)。

孤立对象搜索选项

--num-shards

用于临时扫描信息的 分片数。

--orphan-stale-secs

在将对象声明为孤立对象之前等待的秒数。默认值为 86400(24 小时)。

--job-id

设置作业 id(用于 orphans find)。

孤立对象列表作业选项

--extra-info

在作业列表中提供额外信息。

角色选项

--role-name

要创建的角色名称。

--path

角色的路径。

--assume-role-policy-doc

授予实体承担角色权限的信任关系策略文档。

--policy-name

策略文档的名称。

--policy-doc

权限策略文档。

--path-prefix

用于过滤角色的路径前缀。

存储桶通知/PubSub 选项

--topic

存储桶通知/pubsub 主题名称。

--subscription

pubsub 订阅名称。

--event-id

pubsub 订阅中的事件 id。

示例

生成一个新用户

$ radosgw-admin user create --display-name="johnny rotten" --uid=johnny
{ "user_id": "johnny",
  "rados_uid": 0,
  "display_name": "johnny rotten",
  "email": "",
  "suspended": 0,
  "subusers": [],
  "keys": [
        { "user": "johnny",
          "access_key": "TCICW53D9BQ2VGC46I44",
          "secret_key": "tfm9aHMI8X76L3UdgE+ZQaJag1vJQmE6HDb5Lbrz"}],
  "swift_keys": []}

删除一个用户

$ radosgw-admin user rm --uid=johnny

重命名一个用户

$ radosgw-admin user rename --uid=johnny --new-uid=joe

删除一个用户及其所有相关存储桶及其内容

$ radosgw-admin user rm --uid=johnny --purge-data

删除一个存储桶

$ radosgw-admin bucket rm --bucket=foo

将存储桶链接到指定用户

$ radosgw-admin bucket link --bucket=foo --bucket_id=<bucket id> --uid=johnny

将存储桶从指定用户取消链接

$ radosgw-admin bucket unlink --bucket=foo --uid=johnny

重命名一个存储桶

$ radosgw-admin bucket link --bucket=foo --bucket-new-name=bar --uid=johnny

将存储桶从旧的全局租户空间移动到指定的租户

$ radosgw-admin bucket link --bucket=foo --uid='12345678$12345678'

将存储桶链接到指定用户并更改对象 ACL

$ radosgw-admin bucket chown --bucket=foo --uid='12345678$12345678'

显示 2012 年 4 月 1 日的存储桶日志

$ radosgw-admin log show --bucket=foo --date=2012-04-01-01 --bucket-id=default.14193.1

显示用户从 2012 年 3 月 1 日到(但不包括)4 月 1 日的使用情况信息

$ radosgw-admin usage show --uid=johnny \
                --start-date=2012-03-01 --end-date=2012-04-01

仅显示所有用户使用情况信息的摘要

$ radosgw-admin usage show --show-log-entries=false

修剪用户直到 2012 年 3 月 1 日的使用情况信息

$ radosgw-admin usage trim --uid=johnny --end-date=2012-04-01

可用性

radosgw-admin 是 Ceph 的一部分,Ceph 是一个大规模可扩展、开源的分布式存储系统。请参阅 Ceph 文档 https://docs.ceph.net.cn 获取更多信息。

另请参阅

ceph(8) radosgw(8)

由 Ceph 基金会为您呈现

Ceph 文档是由非营利性 Ceph 基金会 资助和托管的社区资源。如果您希望支持这项工作和我们的其他努力,请考虑 立即加入