生成一新用戶:python
在兩個集羣當中都建立相同的管理用戶json
radosgw-admin user create --uid=admin --display-name=admin --access_key=admin --secret=123456 |
這裏爲了測試方便使用了簡單密碼swift
此時admin還僅僅是普通的權限,須要經過cap添加user的capabilities,例如:異步
radosgw-admin caps add --uid=admin --caps="users=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
刪除一個桶:ui
$ radosgw-admin bucket unlink --bucket=foo
顯示一個桶從 2012 年 4 月 1 日起的日誌:this
$ radosgw-admin log show --bucket=foo --date=2012-04-01
顯示某用戶 2012 年 3 月 1 日(不含)到 4 月 1 日期間的使用狀況:url
$ radosgw-admin usage show --uid=johnny \
--start-date=2012-03-01 --end-date=2012-04-01
只顯示全部用戶的使用狀況彙總:spa
$ 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.conf 配置文件而非默認的 /etc/ceph/ceph.conf 來肯定啓動時所需的監視器地址。
鏈接到指定監視器,而非經過 ceph.conf 查詢。
radosgw 用戶的 ID 。
子用戶名字。
用戶的電子郵件地址。
配置用戶的顯示名稱(暱稱)
S3 訪問密鑰。
生成隨機訪問密鑰(給 S3 )。
指定密鑰的密文。
生成隨機密鑰。
密鑰類型,可用的有: swift 、 S3 。
臨時 URL 密鑰。
給用戶設置系統標識。
指定桶名
指定對象名
某些命令所需的日期
某些命令所需的起始日期
某些命令所需的終結日期
執行 mdlog list 時爲可選項。對 mdlog trim 、 replica mdlog get/delete 、 replica datalog get/delete 來講是必須的。
librados 認證所需的 auid 。
刪除用戶前先刪除用戶數據。
若加了此選項,刪除子用戶時將一塊兒刪除其全部密鑰。
刪除桶前先刪除其內全部對象。
用 metadata get 檢索元數據時用的密鑰。
radosgw 所在的 region 。
radosgw 所在的區域。
除了檢查桶索引,還修復它。
檢查桶:根據對象的實際狀態重建桶索引。
爲某些操做指定輸出格式: xml 、 json 。
user stats 的選項,收集用戶的桶索引狀態、並同步到用戶狀態。
執行 log show 時,顯示或不顯示日誌條目。
執行 log show 時,顯示或不顯示日誌彙總。
讓 log show 只顯示數字字段非零的日誌。
設置時指定要讀取的文件。
給 opstate set 命令指定狀態。
複製日誌類型( metadata 、 data 、 bucket ),操做複製日誌時須要。
逗號分隔的一系列類目,顯示使用狀況時須要。
能力列表,如 「usage=read, write; user=read」 。
某些特定操做須要。
爲配額命令指定桶。
指定最大對象數(負數爲禁用)。
指定最大尺寸(單位爲字節,負數爲禁用)。
配額有效範圍(桶、用戶)。
執行下面的命令新建一個用戶 (S3 接口):
實例以下:
radosgw-admin user create --uid=johndoe --display-name="John Doe" --email=john@example.com
爲了給用戶新建一個子用戶 (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
其它可選操做:
在你刪除子用戶的同時,也失去了 Swift 接口的訪問方式,可是這個用戶在系統 中還存在。要刪除子用戶,可以使用 subuser rm 子命令並指明子用戶 ID :
radosgw-admin subuser rm --subuser=johndoe:swift
其它可選操做:
要爲用戶新建一個密鑰,你須要使用 key create 子命令。對於用戶來講,須要指明用戶的 ID 以及新建的密鑰類型爲 s3 。要爲子用戶新建一個密鑰,則須要指明子用戶的 ID以及密鑰類型爲 swift 。實例以下:
radosgw-admin key create --subuser=johndoe:swift --key-type=swift --gen-secret
用戶和子用戶要能使用 S3 和Swift 接口,必須有 access 密鑰。在你新 建用戶或者子用戶的時候,若是沒有指明 access 和 secret 密鑰,這兩 個密鑰會自動生成。你可能須要新建 access 和/或 secret 密鑰,不論是 手動指定仍是自動生成的方式。你也可能須要刪除一個 access 和 secret 。可用的選項有:
要新建密鑰,須要指明用戶 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,經過 uid 指定用戶。這些配額設置是獨立於用戶以外的。:
radosgw-admin quota set --uid=<uid> --quota-scope=bucket [--max-objects=<num objects>] [--max-size=<max size>]
最大對象數和最大存儲用量的值是負數則表示不啓用指定的 配額參數。
在你設置了 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 對象網關會爲每個用戶記錄用量數據。你也能夠經過指定日期範圍來跟蹤用戶的用量數據。
可用選項以下:
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