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

智能推荐

【无标题】jetbrains idea shift f6不生效_idea shift +f6快捷键不生效-程序员宅基地

文章浏览阅读347次。idea shift f6 快捷键无效_idea shift +f6快捷键不生效

node.js学习笔记之Node中的核心模块_node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是-程序员宅基地

文章浏览阅读135次。Ecmacript 中没有DOM 和 BOM核心模块Node为JavaScript提供了很多服务器级别,这些API绝大多数都被包装到了一个具名和核心模块中了,例如文件操作的 fs 核心模块 ,http服务构建的http 模块 path 路径操作模块 os 操作系统信息模块// 用来获取机器信息的var os = require('os')// 用来操作路径的var path = require('path')// 获取当前机器的 CPU 信息console.log(os.cpus._node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是

数学建模【SPSS 下载-安装、方差分析与回归分析的SPSS实现(软件概述、方差分析、回归分析)】_化工数学模型数据回归软件-程序员宅基地

文章浏览阅读10w+次,点赞435次,收藏3.4k次。SPSS 22 下载安装过程7.6 方差分析与回归分析的SPSS实现7.6.1 SPSS软件概述1 SPSS版本与安装2 SPSS界面3 SPSS特点4 SPSS数据7.6.2 SPSS与方差分析1 单因素方差分析2 双因素方差分析7.6.3 SPSS与回归分析SPSS回归分析过程牙膏价格问题的回归分析_化工数学模型数据回归软件

利用hutool实现邮件发送功能_hutool发送邮件-程序员宅基地

文章浏览阅读7.5k次。如何利用hutool工具包实现邮件发送功能呢?1、首先引入hutool依赖<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.19</version></dependency>2、编写邮件发送工具类package com.pc.c..._hutool发送邮件

docker安装elasticsearch,elasticsearch-head,kibana,ik分词器_docker安装kibana连接elasticsearch并且elasticsearch有密码-程序员宅基地

文章浏览阅读867次,点赞2次,收藏2次。docker安装elasticsearch,elasticsearch-head,kibana,ik分词器安装方式基本有两种,一种是pull的方式,一种是Dockerfile的方式,由于pull的方式pull下来后还需配置许多东西且不便于复用,个人比较喜欢使用Dockerfile的方式所有docker支持的镜像基本都在https://hub.docker.com/docker的官网上能找到合..._docker安装kibana连接elasticsearch并且elasticsearch有密码

数据结构与算法(Python版)三:变位词判断问题_所谓“变位词”是指两个词之间存在组成字母的重新排列关系。如:heart和earth,pyth-程序员宅基地

文章浏览阅读370次。算法分析的概念程序和算法的区别算法是对问题解决的分步描述。程序是采用某种编程语言实现的算法算法分析主要就是从计算资源消耗的角度来评判和比较算法更高效利用计算资源,或者更少占用计算资源的算法就是好算法。计算资源指标一种是算法解决问题过程中需要的存储空间或内存存储空间收到问题自身数据规模的变化影响要区分哪些存储空间是问题本身描述所需,哪些是算法占用不容易另一种是算法的执行时间可以对程序进行实际运行测试,获得真实的运行时间运行时间检测Python中有一个time模块,可以获取计算机系统当前_所谓“变位词”是指两个词之间存在组成字母的重新排列关系。如:heart和earth,pyth

随便推点

Swift4.0_Timer 的基本使用_swift timer 暂停-程序员宅基地

文章浏览阅读7.9k次。//// ViewController.swift// Day_10_Timer//// Created by dongqiangfei on 2018/10/15.// Copyright 2018年 飞飞. All rights reserved.//import UIKitclass ViewController: UIViewController { ..._swift timer 暂停

元素三大等待-程序员宅基地

文章浏览阅读986次,点赞2次,收藏2次。1.硬性等待让当前线程暂停执行,应用场景:代码执行速度太快了,但是UI元素没有立马加载出来,造成两者不同步,这时候就可以让代码等待一下,再去执行找元素的动作线程休眠,强制等待 Thread.sleep(long mills)package com.example.demo;import org.junit.jupiter.api.Test;import org.openqa.selenium.By;import org.openqa.selenium.firefox.Firefox.._元素三大等待

Java软件工程师职位分析_java岗位分析-程序员宅基地

文章浏览阅读3k次,点赞4次,收藏14次。Java软件工程师职位分析_java岗位分析

Java:Unreachable code的解决方法_java unreachable code-程序员宅基地

文章浏览阅读2k次。Java:Unreachable code的解决方法_java unreachable code

标签data-*自定义属性值和根据data属性值查找对应标签_如何根据data-*属性获取对应的标签对象-程序员宅基地

文章浏览阅读1w次。1、html中设置标签data-*的值 标题 11111 222222、点击获取当前标签的data-url的值$('dd').on('click', function() { var urlVal = $(this).data('ur_如何根据data-*属性获取对应的标签对象

二叉树的各种创建方法_二叉树的建立-程序员宅基地

文章浏览阅读6.9w次,点赞73次,收藏463次。1.前序创建#include&lt;stdio.h&gt;#include&lt;string.h&gt;#include&lt;stdlib.h&gt;#include&lt;malloc.h&gt;#include&lt;iostream&gt;#include&lt;stack&gt;#include&lt;queue&gt;using namespace std;typed_二叉树的建立

推荐文章

热门文章

相关标签