Red Hat Training
A Red Hat training course is available for Red Hat Ceph Storage
3.9. bucket 管理
作为存储管理员,在使用 Ceph 对象网关时,您可以通过在用户之间移动 bucket 并将它们重命名来管理存储桶。
3.9.1. 移动存储桶
The radosgw-admin bucket
实用程序提供在用户之间移动 bucket 的功能。为此,请将存储桶链接到新用户,并将 bucket 的所有权更改为新用户。
您可以移动存储桶:
3.9.1.1. 先决条件
- 正在运行的 Red Hat Ceph Storage 集群
- 已安装 Ceph 对象网关
- bucket
- 各种租户和非租户用户
3.9.1.2. 在非租户用户之间移动存储桶
The radosgw-admin bucket chown
命令提供将 bucket 的所有权及其包含的所有对象从一个用户更改为另一个用户的功能。为此,请从当前用户取消链接存储桶,将它链接到新用户,然后将 bucket 的所有权更改为新用户。
流程
将存储桶链接到一个新用户:
radosgw-admin bucket link --uid=user --bucket=bucket
替换:
- 使用用户名 将存储桶链接到的用户
- 带有 存储桶 名称的存储桶
例如,要将
数据存储
桶链接到名为user2
的用户:# radosgw-admin bucket link --uid=user2 --bucket=data
验证存储桶已成功链接到
user2
:# radosgw-admin bucket list --uid=user2 [ "data" ]
将存储桶的所有权更改为新用户:
radosgw-admin bucket chown --uid=user --bucket=bucket
替换:
- 用户名 为 user 的用户,将存储桶所有权更改为
- 带有 存储桶 名称的存储桶
例如,要将数据存储的所有权更改为
user
2
:# radosgw-admin bucket chown --uid=user2 --bucket=data
通过检查以下命令输出中的
所有者
行来验证数据存储
桶的所有权是否已成功更改:# radosgw-admin bucket list --bucket=data
3.9.1.3. 在租户用户之间移动存储桶
您可以将存储桶从一个租户用户移动到另一个租户用户。
流程
将存储桶链接到一个新用户:
radosgw-admin bucket link --bucket=current-tenant/bucket --uid=new-tenant$user
替换 :
- bucket 是租户名称 的当前 租户
- 带有 存储桶 名称的存储桶以链接
- 新租户,名称为新用户的租户
- 用户名 为新用户的用户
例如,将
数据存储
桶从test
租户链接到test
的用户:2 租户中名为 user
2# radosgw-admin bucket link --bucket=test/data --uid=test2$user2
验证存储桶已成功链接到
user2
:# radosgw-admin bucket list --uid=test$user2 [ "data" ]
将存储桶的所有权更改为新用户:
radosgw-admin bucket chown --bucket=new-tenant/bucket --uid=new-tenant$user
替换:
- 带有 存储桶 名称的存储桶以链接
- 新租户,名称为新用户的租户
- 用户名 为新用户的用户
例如,将
数据存储
桶的所有权更改为test
:2 租户中的 user
2# radosgw-admin bucket chown --bucket='test2/data' --uid='test$tuser2'
通过检查以下命令输出中的
所有者
行来验证数据存储
桶的所有权是否已成功更改:# radosgw-admin bucket list --bucket=test2/data
3.9.1.4. 将存储桶从非租户用户移到租户的用户
您可以将存储桶从非租户用户移到租户用户。
流程
可选。如果您还没有多个租户,您可以通过启用
rgw_keystone_implicit_tenants
并从外部租户访问 Ceph 对象网关来创建它们:打开并编辑 Ceph 配置文件,默认为
/etc/ceph/ceph.conf
。启用rgw_keystone_implicit_tenants
选项:rgw_keystone_implicit_tenants = true
使用
s3cmd
或swift
命令从外部租户访问 Ceph 对象网关:# swift list
或使用
s3cmd
:# s3cmd ls
从外部租户进行第一次访问可创建等效的 Ceph 对象网关用户。
将存储桶移到租户的用户:
radosgw-admin bucket link --bucket=/bucket --uid='tenant$user'
替换 :
- 带有 存储桶 名称的存储桶
- 带有 新用户的租户名称的租户
- 用户名 为新用户的用户
例如,将
数据存储
桶移到测试
租户中的tenanted-user
中:# radosgw-admin bucket link --bucket=/data --uid='test$tenanted-user'
验证
数据存储
桶是否已成功链接到tenanted-user
:# radosgw-admin bucket list --uid='test$tenanted-user' [ "data" ]
将存储桶的所有权更改为新用户:
radosgw-admin bucket chown --bucket='tenant/bucket name' --uid='tenant$user'
替换 :
- 带有 存储桶 名称的存储桶
- 带有 新用户的租户名称的租户
- 用户名 为新用户的用户
例如,将
数据存储
桶的所有权更改为test
租户内的tenanted-user
:# radosgw-admin bucket chown --bucket='test/data' --uid='test$tenanted-user'
通过检查以下命令输出中的
所有者
行来验证数据存储
桶的所有权是否已成功更改:# radosgw-admin bucket list --bucket=test/data