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

提纲

radosgw-admin command [ options ]

描述

radosgw-admin 是 RADOS 网关用户管理工具,可用于创建和修改用户。

命令

radosgw-admin 工具有很多命令,可完成各种管理任务:

user create

创建一个新用户。

user modify

修改一个用户。

user info

显示用户信息,以及可能存在的子用户和密钥。

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 limit check

显示桶的分片统计信息。

bucket link

把桶关联到指定用户。

bucket unlink

取消指定用户和桶的关联。

bucket stats

返回桶的统计信息。

bucket rm

删除一个桶。

bucket check

检查桶的索引信息。

bucket rewrite

重写指定桶内的所有对象。

bucket reshard

对桶进行重分片。

bucket sync disable

禁用桶同步。

bucket sync enable

允许桶同步。

bi get

检出桶索引对象条目。

bi put

存入桶索引对象条目。

bi list

罗列原始的桶索引条目。

bi purge

清除桶索引条目。

object rm

删除一个对象。

object stat

对某一对象执行 stat 操作,查看其元数据。

object unlink

从桶索引里去掉对象。

object rewrite

重写指定对象。

objects expire

启动过期对象的清理。

period rm

删除一个 period 。

period get

查看指定 period 的信息。

period get-current

查看当前 period 的信息。

period pull

拉取一个 period 。

period push

推送一个 period 。

period list

罗列所有 period 。

period update

更新暂存的 period 。

period commit

提交暂存的 period 。

quota set

设置配额参数。

quota enable

启用配额。

quota disable

禁用配额。

global quota get

查看全局配额参数。

global quota set

配置全局配额参数。

global quota enable

启用全局配额。

global quota disable

禁用全局配额。

realm create

新建一个 realm 。

realm rm

删除一个 realm 。

realm get

显示此 realm 的信息。

realm get-default

查看默认的 realm 名。

realm list

罗列所有 realm 。

realm list-periods

罗列所有 realm 的 period 。

realm rename

重命名一个 realm 。

realm set

设置 realm 信息(需要信息源 infile )。

realm default

把此 realm 设置为默认的。

realm pull

拉取一个 realm 、及其当前的 period 。

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

设置区域集群参数(需要输入文件)。

zone modify

更改现有域。

zone list

列出本集群内配置的所有区域。

metadata sync status

查看元数据同步状态。

metadata sync init

初始化元数据同步。

metadata sync run

启动元数据同步。

data sync status

查看指定源 zone 的数据同步状态。

data sync init

初始化指定源 zone 的数据同步。

data sync run

启动指定源 zone 的数据同步。

sync error list

罗列同步错误。

sync error trim

清理同步错误。

zone rename

重命名一个 zone 。

zone placement list

罗列 zone 的归置靶。

zone placement add

新增一个 zone 归置靶。

zone placement modify

更改一个 zone 的归置靶。

zone placement rm

删除一个 zone 的归置靶。

pool add

增加一个已有存储池用于数据归置。

pool rm

从数据归置集删除一个已有存储池。

pools list

罗列归置活跃集。

policy

显示桶或对象相关的策略。

log list

罗列日志对象。

log show

显示指定对象内(或指定桶、日期、桶标识符)的日志。 (注意:日期格式必须是 YYYY-MM-DD-hh )

log rm

删除日志对象。

usage show

查看使用率信息(可选选项有用户和数据范围)。

usage trim

修剪使用率信息(可选选项有用户和数据范围)。

gc list

显示过期的垃圾回收对象(加 –include-all 选项罗列所有条目,包括未过期的)。

gc process

手动处理垃圾。

lc list

罗列所有桶的生命周期进度。

lc process

手动处理生命周期。

metadata get

读取元数据信息。

metadata put

设置元数据信息。

metadata rm

删除元数据信息。

metadata list

罗列元数据信息。

mdlog list

罗列元数据日志。

mdlog trim

裁截元数据日志。

mdlog status

读取元数据日志状态。

bilog list

罗列桶索引日志。

bilog trim

裁截桶索引日志(需要起始标记、结束标记)。

datalog list

罗列数据日志。

datalog trim

裁截数据日志。

datalog status

读取数据日志状态。

opstate list

罗列含状态操作(需要 client_id 、 op_id 、对象)。

opstate set

设置条目状态(需指定 client_id 、 op_id 、对象、状态)。

opstate renew

更新某一条目的状态(需指定 client_id 、 op_id 、对象)。

opstate rm

删除条目(需指定 client_id 、 op_id 、对象)。

orphans find

初始化、并开始检索遗漏的 RADOS 对象。

orphans finish

清理遗漏 RADOS 对象的检索结果。

orphans list-jobs

罗列当前正在进行的遗漏对象检索作业号。

role create

新建一个用于 STS 的 AWS 角色。

role rm

删除一个角色。

role get

获取一个角色。

role list

罗列带有指定路径前缀的角色。

role modify

修改现有角色的 assume role 策略。

role-policy put

新增、更新角色的权限策略。

role-policy list

罗列与一个角色相关的策略。

role-policy get

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

role-policy rm

删除与一个角色相关的策略。

reshard add

安排一个桶进行重分片。

reshard list

罗列所有正在进行的桶重分片、或已安排准备重分片的作业。

reshard process

已安排重分片作业的进度。

reshard status

一个桶的重分片状态。

reshard cancel

取消一个桶的重分片。

选项

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

用指定的 ceph.conf 配置文件而非默认的 /etc/ceph/ceph.conf 来确定启动时所需的监视器地址。

-m monaddress[:port]

连接到指定监视器,而非通过 ceph.conf 查询。

--tenant=<tenant>

租户的名字。

--uid=uid

radosgw 用户的 ID 。

--subuser=<name>

子用户名字。

--access-key=<key>

S3 访问密钥。

--email=email

用户的电子邮件地址。

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

私钥。

--gen-access-key

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

--gen-secret

生成随机私钥。

--key-type=<type>

密钥类型,可用的有: swift 、 s3 。

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

临时 URL 密钥。

--max-buckets

一用户的最大桶数量( 0 意为不限制,负值意为禁止创建桶)。 默认为 1000 。

--access=<access>

为子用户设置访问权限。可用的访问权限有读、写、读写和完全。

--display-name=<name>

此用户的显示名字(昵称)。

--admin

给用户设置管理标志。

--system

给用户设置系统标识。

--bucket=[tenant-id/]bucket

指定桶名。如果未指定 tenant-id ,那就用用户( –uid )的 tenant-id 。

--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 listbi listdata sync status 命令的可选项。对 mdlog trim 来说是必需的。

--max-entries=<entries>

罗列操作的可选参数,用于指定最大条数。

--purge-data

若加了此选项,删除用户时也一并删除用户的所有数据。

--purge-keys

若加了此选项,删除子用户时将一起删除其所有密钥。

--purge-objects

若加了此选项,删除此桶时也一并删除其内所有对象。

--metadata-key=<key>

metadata get 检索元数据时用的密钥。

--remote=<remote>

远程网关的域或域组 id 。

--period=<id>

Period id.

--url=<url>

用于推送、拉取 period 或 realm 的 URL 。

--epoch=<number>

Period epoch.

--commit

在执行 period update 期间提交此 period 。

--staging

查看暂存的 period 信息。

--master

设置为 master 。

--master-zone=<id>

主域的 id 。

--rgw-realm=<name>

realm 的名字。

--realm-id=<id>

realm 的 id 。

--realm-new-name=<name>

realm 的新名字。

--rgw-zonegroup=<name>

域组的名字。

--zonegroup-id=<id>

域组的 id 。

--zonegroup-new-name=<name>

域组的新名字。

--rgw-zone=<zone>

radosgw 所在的区域。

--zone-id=<id>

域的 id 。

--zone-new-name=<name>

此域的新名字。

--source-zone

数据同步的源 zone 。

--default

Set the entity (realm, zonegroup, zone) as default.

--read-only

Set the zone as read-only when adding to the zonegroup.

--placement-id

Placement id for the zonegroup placement commands.

--tags=<list>

The list of tags for zonegroup placement add and modify commands.

--tags-add=<list>

The list of tags to add for zonegroup placement modify command.

--tags-rm=<list>

The list of tags to remove for zonegroup placement modify command.

--endpoints=<list>

The zone endpoints.

--index-pool=<pool>

The placement target index pool.

--data-pool=<pool>

The placement target data pool.

--data-extra-pool=<pool>

The placement target data extra (non-ec) pool.

--placement-index-type=<type>

The placement target index type (normal, indexless, or #id).

--tier-type=<type>

The zone tier type.

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

Set zone tier config keys, values.

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

Unset zone tier config keys.

--sync-from-all[=false]

Set/reset whether zone syncs from all zonegroup peers.

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

Set the list of zones to sync from.

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

Remove the zones from list of zones to sync from.

--fix

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

--check-objects

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

--format=<format>

为某些操作指定输出格式: xml 、 json 。

--sync-stats

user stats 的选项。若加了此选项,它就会用当前来自用户桶索引的统计信息更新用户的统计信息。

--show-log-entries=<flag>

执行 log show 时,显示或不显示日志条目。

--show-log-sum=<flag>

执行 log show 时,显示或不显示日志汇总。

--skip-zero-entries

log show 只显示数字字段非零的日志。

--infile

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

--categories=<list>

逗号分隔的一系列类目,显示使用情况时需要。

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

进行桶超限检查时若加了此选项,仅罗列出那些当前分片内最大对象数接近或超过的桶。

--bypass-gc

删除桶时若加了此选项,则跳过 GC 直接触发对象删除。

--inconsistent-index

删除桶时若加了此选项、且加了 --bypass-gc 选项,则无视桶索引的一致性。

--max-concurrent-ios

进行桶操作时的最大并行 IO 数。影响的操作诸如扫描桶索引,如罗列、删除;还有所有的扫描、搜索操作,比如捡漏或检查桶索引。默认值为 32 。

配额选项

--max-objects

指定最大对象数(负数为禁用)。

--max-size

指定最大尺寸(单位为 B/K/M/G/T ,负数为禁用)。

--quota-scope

配额有效范围(桶、用户)。

捡漏( Orphans )选项

--num-shards

用多少个分片临时保存扫描信息。

--orphan-stale-secs

对象被遗漏多久才被当作孤儿,单位是秒。 默认是 86400 ( 24 小时)。

--job-id

设置作业标识符(适用于 orphans find )。

orphans list-jobs 选项

--extra-info

在作业列表中展示额外信息。

角色选项

--role-name

要创建角色的名字。

--path

角色的路径。

--assume-role-policy-doc

信任关系策略文档,用于授予一个实体权限,以担任此角色。

--policy-name

策略文档的名字。

--policy-doc

权限策略文档。

--path-prefix

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

实例

生成一新用户:

$ 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 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

显示一个桶从 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 年 4 月 1 日之前的使用信息:

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

使用范围

radosgw-admin 是 Ceph 的一部分,这是个伸缩力强、开源、分布式的存储系统,更多信息参见 http://ceph.com/docs

参考

ceph(8) radosgw(8)