注意
本文档适用于 Ceph 的开发版本。
radosgw-admin -- rados REST 网关用户管理工具
概要
描述
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 获取更多信息。