ceph radosgw-admin的操作-程序员宅基地

技术标签: json  swift  

常用操作:

生成一新用户:

在两个集群当中都创建相同的管理用户

radosgw-admin user create --uid=admin --display-name=admin --access_key=admin --secret=123456

这里为了测试方便使用了简单密码

此时admin还仅仅是普通的权限,需要通过cap添加user的capabilities,例如:

radosgw-admin caps add --uid=admin --caps="users=read, write"
radosgw-admin caps add --uid=admin --caps="usage=read, write"
$ 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 unlink --bucket=foo

显示一个桶从 2012 年 4 月 1 日起的日志:

$ radosgw-admin log show --bucket=foo --date=2012-04-01

显示某用户 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 工具有很多命令,可完成各种管理任务:

user create
创建一个新用户。
user modify
修改一个用户。
user info
显示用户信息,以及可能存在的子用户和密钥。
user rm
删除一个用户。
user suspend
暂停某用户。
user enable
重新允许暂停的用户。
user check
检查用户信息。
user stats
显示配额子系统统计的用户状态。
caps add
给用户分配能力。
caps rm
删除用户能力。
subuser create
新建一个子用户(适合使用 Swift API 的客户端)。
subuser modify
修改子用户。
subuser rm
删除子用户
key create
新建访问密钥。
key rm
删除访问密钥。
bucket list
罗列所有桶。
bucket link
把桶关联到指定用户。
bucket unlink
取消指定用户和桶的关联。
bucket stats
返回桶的统计信息。
bucket rm
删除一个桶。
bucket check
检查桶的索引信息。
object rm
删除一个对象。
object unlink
从桶索引里去掉对象。
quota set
设置配额参数。
quota enable
启用配额。
quota disable
禁用配额。
region get
显示 region 信息。
regions list
列出本集群配置的所有 region 。
region set
设置 region 信息(需要输入文件)。
region default
设置默认 region 。
region-map get
显示 region-map 。
region-map set
设置 region-map (需要输入文件)。
zone get
显示区域集群参数。
zone set
设置区域集群参数(需要输入文件)。
zone list
列出本集群内配置的所有区域。
pool add
增加一个已有存储池用于数据归置。
pool rm
从数据归置集删除一个已有存储池。
pools list
罗列归置活跃集。
policy
显示桶或对象相关的策略。
log list
罗列日志对象。
log show
显示指定对象内(或指定桶、日期、桶标识符)的日志。
log rm
删除日志对象。
usage show
查看使用率信息(可选选项有用户和数据范围)。
usage trim
修剪使用率信息(可选选项有用户和数据范围)。
temp remove
删除指定日期(时间可选)之前创建的临时对象。
gc list
显示过期的垃圾回收对象(加 –include-all 选项罗列所有条目,包括未过期的)。
gc process
手动处理垃圾。
metadata get
读取元数据信息。
metadata put
设置元数据信息。
metadata rm
删除元数据信息。
metadata list
罗列元数据信息。
mdlog list
罗列元数据日志。
mdlog trim
裁截元数据日志。
bilog list
罗列桶索引日志。
bilog trim
裁截桶索引日志(需要起始标记、结束标记)。
datalog list
罗列数据日志。
datalog trim
裁截数据日志。
opstate list
罗列含状态操作(需要 client_id 、 op_id 、对象)。
opstate set
设置条目状态(需指定 client_id 、 op_id 、对象、状态)。
opstate renew
更新某一条目的状态(需指定 client_id 、 op_id 、对象)。
opstate rm
删除条目(需指定 client_id 、 op_id 、对象)。
replicalog get
读取复制元数据日志条目。
replicalog delete
删除复制元数据日志条目。

选项

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

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

-m  monaddress[:port]

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

--uid =uid

radosgw 用户的 ID 。

--subuser =<name>

子用户名字。

--email =email

用户的电子邮件地址。

--display-name =name

配置用户的显示名称(昵称)

--access-key =<key>

S3 访问密钥。

--gen-access-key

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

--secret =secret

指定密钥的密文。

--gen-secret

生成随机密钥。

--key-type =<type>

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

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

临时 URL 密钥。

--system

给用户设置系统标识。

--bucket =bucket

指定桶名

--object =object

指定对象名

--date =yyyy-mm-dd

某些命令所需的日期

--start-date =yyyy-mm-dd

某些命令所需的起始日期

--end-date =yyyy-mm-dd

某些命令所需的终结日期

--shard-id =<shard-id>

执行 mdlog list 时为可选项。对 mdlog trim 、 replica mdlog get/delete 、 replica datalog get/delete 来说是必须的。

--auth-uid =auid

librados 认证所需的 auid 。

--purge-data

删除用户前先删除用户数据。

--purge-keys

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

--purge-objects

删除桶前先删除其内所有对象。

--metadata-key =<key>

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

--rgw-region =<region>

radosgw 所在的 region 。

--rgw-zone =<zone>

radosgw 所在的区域。

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

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

--state =<state string>

给 opstate set 命令指定状态。

--replica-log-type

复制日志类型( metadata 、 data 、 bucket ),操作复制日志时需要。

--categories =<list>

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

--caps =<caps>

能力列表,如 “usage=read, write; user=read” 。

--yes-i-really-mean-it

某些特定操作需要。

配额选项

--bucket

为配额命令指定桶。

--max-objects

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

--max-size

指定最大尺寸(单位为字节,负数为禁用)。

--quota-scope

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

 

操作管理实例:

用户管理

新建一个用户

执行下面的命令新建一个用户 (S3 接口):

radosgw-admin user create --uid={username} --display-name="{display-name}" [--email={email}]

实例如下:

radosgw-admin user create --uid=johndoe --display-name="John Doe" [email protected]

新建一个子用户

为了给用户新建一个子用户 (Swift 接口) ,你必须为该子用户指定用户的 ID(--uid={username}),子用户的 ID 以及访问级别:

radosgw-admin subuser create --uid={uid} --subuser={uid} --access=[ read | write | readwrite | full ]

实例如下:

radosgw-admin subuser create --uid=johndoe --subuser=johndoe:swift --access=full

Note:full 并不表示 readwrite, 因为它还包括访问权限策略.

获取用户信息

要获取一个用户的信息,你必须使用 user info 子命令并且制定一个用户 ID(--uid={username}) .

radosgw-admin user info --uid=johndoe

修改用户信息

要修改一个用户的信息,你必须指定用户的 ID (--uid={username}),还有 你想要修改的属性值。典型的修改项主要是 access 和secret 密钥,邮件地址,显 示名称和访问级别。举例如下:

radosgw-admin user modify --uid=johndoe --display-name="John E. Doe"

要修改子用户的信息, 使用 subuser modify 子命令并且执行子用户的 ID. 举例如下:

radosgw-admin subuser modify --uid=johndoe:swift --access=full

用户 启用/停用

当你创建了一个用户,用户默认情况下是处于启用状态的。然而,你可以暂停用户权 限并在以后随时重新启用它们。暂停一个用户,使用 user suspend 子命令 然后哦指定用户的 ID:

radosgw-admin user suspend --uid=johndoe

要重新启用已经被停用的用户,使用 user enable 子命令并指明用户的 ID.

radosgw-admin user enable --uid=johndoe

Note:停用一个用户后,它的子用户也会一起被停用.

删除用户

删除用户时,这个用户以及他的子用户都会被删除。当然,如果你愿意,可以只删除子用户。要删除用户(及其子用户),可使用 user rm 子命令并指明用户 ID :

radosgw-admin user rm --uid=johndoe

只想删除子用户时,可使用 subuser rm 子命令并指明子用户 ID 。

radosgw-admin subuser rm --subuser=johndoe:swift

其它可选操作:

  • Purge Data: 加 --purge-data 选项可清除与此 UID 相关的所有数据。
  • Purge Keys: 加 --purge-keys 选项可清除与此 UID 相关的所有密钥。

删除子用户

在你删除子用户的同时,也失去了 Swift 接口的访问方式,但是这个用户在系统 中还存在。要删除子用户,可使用 subuser rm 子命令并指明子用户 ID :

radosgw-admin subuser rm --subuser=johndoe:swift

其它可选操作:

  • Purge Keys: 加 --purge-keys 选项可清除与此 UID 相关的所有密钥。

新建一个密钥

要为用户新建一个密钥,你需要使用 key create 子命令。对于用户来说,需要指明用户的 ID 以及新建的密钥类型为 s3 。要为子用户新建一个密钥,则需要指明子用户的 ID以及密钥类型为 swift 。实例如下:

radosgw-admin key create --subuser=johndoe:swift --key-type=swift --gen-secret

新建/删除 ACCESS 密钥

用户和子用户要能使用 S3 和Swift 接口,必须有 access 密钥。在你新 建用户或者子用户的时候,如果没有指明 access 和 secret 密钥,这两 个密钥会自动生成。你可能需要新建 access 和/或 secret 密钥,不管是 手动指定还是自动生成的方式。你也可能需要删除一个 access 和 secret 。可用的选项有:

  • --secret=<key> 指明一个 secret 密钥 (e.即手动生成).
  • --gen-access-key 生成一个随机的 access 密钥 (新建 S3 用户的默认选项).
  • --gen-secret 生成一个随机的 secret 密钥.
  • --key-type=<type> 指定密钥类型. 这个选项的值可以是: swift, s3

要新建密钥,需要指明用户 ID.

radosgw-admin key create --uid=johndoe --key-type=s3 --gen-access-key --gen-secret

你也可以使用指定 access 和 secret 密钥的方式.

要删除一个 access 密钥, 也需要指定用户 ID.

radosgw-admin key rm --uid=johndoe

添加/删除 管理权限

Ceph 存储集群提供了一个管理API,它允许用户通过 REST API 执行管理功能。默认情况下,用户没有访问 这个 API 的权限。要启用用户的管理功能,需要为用 户提供管理权限。

执行下面的命令为一个用户添加管理权限:

radosgw-admin caps add --uid={uid} --caps={
    caps}

你可以给一个用户添加对用户、bucket、元数据和用量(存储使用信息)等数据的 读、写或者所有权限。举例如下:

--caps="[users|buckets|metadata|usage|zone]=[*|read|write|read, write]"

实例如下:

radosgw-admin caps add --uid=johndoe --caps="users=*"

要删除某用户的管理权限,可用下面的命令:

radosgw-admin caps rm --uid=johndoe --caps={
    caps}

配额管理

设置用户配额

在你启用用户的配额前 ,你需要先设置配额参数。 例如:

radosgw-admin quota set --quota-scope=user --uid=<uid> [--max-objects=<num objects>] [--max-size=<max size>]

实例如下:

radosgw-admin quota set --quota-scope=user --uid=johndoe --max-objects=1024 --max-size=1024

最大对象数和最大存储用量的值是负数则表示不启用指定的 配额参数。

启用/禁用用户配额

在你设置了用户配额之后,你可以启用这个配额。实例如下:

radosgw-admin quota enable --quota-scope=user --uid=<uid>

你也可以禁用已经启用了配额的用户的配额。 举例如下:

radosgw-admin quota-disable --quota-scope=user --uid=<uid>

设置 BUCKET 配额

Bucket 配额作用于用户的某一个 bucket,通过 uid 指定用户。这些配额设置是独立于用户之外的。:

radosgw-admin quota set --uid=<uid> --quota-scope=bucket [--max-objects=<num objects>] [--max-size=<max size>]

最大对象数和最大存储用量的值是负数则表示不启用指定的 配额参数。

启用/禁用 BUCKET 配额

在你设置了 bucket 配额之后,你可以启用这个配额。实例如下:

radosgw-admin quota enable --quota-scope=bucket --uid=<uid>

你也可以禁用已经启用了配额的 bucket 的配额。 举例如下:

radosgw-admin quota-disable --quota-scope=bucket --uid=<uid>

获取配额信息

你可以通过用户信息 API 来获取每一个用户的配额 设置。通过 CLI 接口读取用户的配额设置信息,请执行下面的命令:

radosgw-admin user info --uid=<uid>

更新配额统计信息

配额的统计数据的同步是异步的。你也可以通过手动获 取最新的配额统计数据为所有用户和所有 bucket 更新配额统计数据:

radosgw-admin user stats --uid=<uid> --sync-stats

获取用户用量统计信息

执行下面的命令获取当前用户已经消耗了配额的多少:

radosgw-admin user stats --uid=<uid>

Note:你应该在执行 radosgw-admin user stats 的时候带上 --sync-stats 参数来获取最新的数据.

读取/设置全局配额

你可以在 region map中读取和设置配额。执行下面的命 令来获取 region map:

radosgw-admin regionmap get > regionmap.json

要为整个 region 设置配额,只需要简单的修改 region map 中的配额设置。然后使用 region set 来更新 region map即可:

radosgw-admin region set < regionmap.json

Note:在更新 region map 后,你必须重启网关.

用量管理

Ceph 对象网关会为每一个用户记录用量数据。你也可以通过指定日期范围来跟踪用户的用量数据。

可用选项如下:

  • Start Date: 选项 --start-date 允许你指定一个起始日期来过滤用量数据 (format: yyyy-mm-dd[HH:MM:SS]).
  • End Date: 选项 --end-date 允许你指定一个截止日期来过滤用量数据 (format: yyyy-mm-dd[HH:MM:SS]).
  • Log Entries: 选项 --show-log-entries 允许你 指明显示用量数据的时候是否要包含日志条目。 (选项值: true | false).

Note:你可以指定时间为分钟和秒,但是数据存储是以一个小时的间隔存储的.

展示用量信息

显示用量统计数据,使用 usage show 子命令。显示某一个特定 用户的用量数据,你必须指定该用户的 ID。你也可以指定开始日期、结 束日期以及是否显示日志条目。:

radosgw-admin usage show --uid=johndoe --start-date=2012-03-01 --end-date=2012-04-01

通过去掉用户的 ID,你也可以获取所有用户的汇总的用量信息

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

删除用量信息

对于大量使用的集群而言,用量日志可能会占用大量存储空间。你可以为所有用户或者一个特定的用户删除部分用量日志。你也可以为删除操作指定日期范围。:

radosgw-admin usage trim --start-date=2010-01-01 --end-date=2010-12-31
radosgw-admin usage trim --uid=johndoe
radosgw-admin usage trim --uid=johndoe --end-date=2013-12-31

 

转载于:https://www.cnblogs.com/kuku0223/p/8257813.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/dlm520947/article/details/102113045

智能推荐

oracle 12c 集群安装后的检查_12c查看crs状态-程序员宅基地

文章浏览阅读1.6k次。安装配置gi、安装数据库软件、dbca建库见下:http://blog.csdn.net/kadwf123/article/details/784299611、检查集群节点及状态:[root@rac2 ~]# olsnodes -srac1 Activerac2 Activerac3 Activerac4 Active[root@rac2 ~]_12c查看crs状态

解决jupyter notebook无法找到虚拟环境的问题_jupyter没有pytorch环境-程序员宅基地

文章浏览阅读1.3w次,点赞45次,收藏99次。我个人用的是anaconda3的一个python集成环境,自带jupyter notebook,但在我打开jupyter notebook界面后,却找不到对应的虚拟环境,原来是jupyter notebook只是通用于下载anaconda时自带的环境,其他环境要想使用必须手动下载一些库:1.首先进入到自己创建的虚拟环境(pytorch是虚拟环境的名字)activate pytorch2.在该环境下下载这个库conda install ipykernelconda install nb__jupyter没有pytorch环境

国内安装scoop的保姆教程_scoop-cn-程序员宅基地

文章浏览阅读5.2k次,点赞19次,收藏28次。选择scoop纯属意外,也是无奈,因为电脑用户被锁了管理员权限,所有exe安装程序都无法安装,只可以用绿色软件,最后被我发现scoop,省去了到处下载XXX绿色版的烦恼,当然scoop里需要管理员权限的软件也跟我无缘了(譬如everything)。推荐添加dorado这个bucket镜像,里面很多中文软件,但是部分国外的软件下载地址在github,可能无法下载。以上两个是官方bucket的国内镜像,所有软件建议优先从这里下载。上面可以看到很多bucket以及软件数。如果官网登陆不了可以试一下以下方式。_scoop-cn

Element ui colorpicker在Vue中的使用_vue el-color-picker-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏3次。首先要有一个color-picker组件 <el-color-picker v-model="headcolor"></el-color-picker>在data里面data() { return {headcolor: ’ #278add ’ //这里可以选择一个默认的颜色} }然后在你想要改变颜色的地方用v-bind绑定就好了,例如:这里的:sty..._vue el-color-picker

迅为iTOP-4412精英版之烧写内核移植后的镜像_exynos 4412 刷机-程序员宅基地

文章浏览阅读640次。基于芯片日益增长的问题,所以内核开发者们引入了新的方法,就是在内核中只保留函数,而数据则不包含,由用户(应用程序员)自己把数据按照规定的格式编写,并放在约定的地方,为了不占用过多的内存,还要求数据以根精简的方式编写。boot启动时,传参给内核,告诉内核设备树文件和kernel的位置,内核启动时根据地址去找到设备树文件,再利用专用的编译器去反编译dtb文件,将dtb还原成数据结构,以供驱动的函数去调用。firmware是三星的一个固件的设备信息,因为找不到固件,所以内核启动不成功。_exynos 4412 刷机

Linux系统配置jdk_linux配置jdk-程序员宅基地

文章浏览阅读2w次,点赞24次,收藏42次。Linux系统配置jdkLinux学习教程,Linux入门教程(超详细)_linux配置jdk

随便推点

matlab(4):特殊符号的输入_matlab微米怎么输入-程序员宅基地

文章浏览阅读3.3k次,点赞5次,收藏19次。xlabel('\delta');ylabel('AUC');具体符号的对照表参照下图:_matlab微米怎么输入

C语言程序设计-文件(打开与关闭、顺序、二进制读写)-程序员宅基地

文章浏览阅读119次。顺序读写指的是按照文件中数据的顺序进行读取或写入。对于文本文件,可以使用fgets、fputs、fscanf、fprintf等函数进行顺序读写。在C语言中,对文件的操作通常涉及文件的打开、读写以及关闭。文件的打开使用fopen函数,而关闭则使用fclose函数。在C语言中,可以使用fread和fwrite函数进行二进制读写。‍ Biaoge 于2024-03-09 23:51发布 阅读量:7 ️文章类型:【 C语言程序设计 】在C语言中,用于打开文件的函数是____,用于关闭文件的函数是____。

Touchdesigner自学笔记之三_touchdesigner怎么让一个模型跟着鼠标移动-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏13次。跟随鼠标移动的粒子以grid(SOP)为partical(SOP)的资源模板,调整后连接【Geo组合+point spirit(MAT)】,在连接【feedback组合】适当调整。影响粒子动态的节点【metaball(SOP)+force(SOP)】添加mouse in(CHOP)鼠标位置到metaball的坐标,实现鼠标影响。..._touchdesigner怎么让一个模型跟着鼠标移动

【附源码】基于java的校园停车场管理系统的设计与实现61m0e9计算机毕设SSM_基于java技术的停车场管理系统实现与设计-程序员宅基地

文章浏览阅读178次。项目运行环境配置:Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:Springboot + mybatis + Maven +mysql5.7或8.0+html+css+js等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。_基于java技术的停车场管理系统实现与设计

Android系统播放器MediaPlayer源码分析_android多媒体播放源码分析 时序图-程序员宅基地

文章浏览阅读3.5k次。前言对于MediaPlayer播放器的源码分析内容相对来说比较多,会从Java-&amp;amp;gt;Jni-&amp;amp;gt;C/C++慢慢分析,后面会慢慢更新。另外,博客只作为自己学习记录的一种方式,对于其他的不过多的评论。MediaPlayerDemopublic class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal..._android多媒体播放源码分析 时序图

java 数据结构与算法 ——快速排序法-程序员宅基地

文章浏览阅读2.4k次,点赞41次,收藏13次。java 数据结构与算法 ——快速排序法_快速排序法