3.10. bucket 生命周期
作为存储管理员,您可以使用存储桶生命周期配置来管理对象,以便它们在整个生命周期中有效地存储。例如,您可以将对象转换为成本较低的存储类、存档甚至根据您的用例删除它们。
radosgw-admin lc reshard 命令在 Red Hat Ceph Storage 3.3 中已弃用,Red Hat Ceph Storage 4 及更新的版本中不被支持。
3.10.1. 创建生命周期管理策略 复制链接链接已复制到粘贴板!
您可以使用标准 S3 操作来管理 bucket 生命周期策略配置,而不是使用 radosgw-admin 命令。RADOS 网关仅支持应用于 bucket 的 Amazon S3 API 策略语言的子集。生命周期配置包含为一组 bucket 对象定义的一个或多个规则。
先决条件
- 正在运行的红帽存储集群。
- 安装 Ceph 对象网关.
- Ceph 对象网关节点的根级别访问权限.
- 已创建一个 S3 存储桶。
- 创建的用户具有访问权限的 S3 用户。
-
使用安装的
AWS CLI软件包访问 Ceph 对象网关客户端。
流程
为生命周期配置创建 JSON 文件:
示例
[user@client ~]$ vi lifecycle.json在 文件中添加特定生命周期配置规则:
示例
{ "Rules": [ { "Filter": { "Prefix": "images/" }, "Status": "Enabled", "Expiration": { "Days": 1 }, "ID": "ImageExpiration" } ] }生命周期配置示例在 images 目录中过期对象,这些对象超过 1 天。
在存储桶上设置生命周期配置:
语法
aws --endpoint-url=RADOSGW_ENDPOINT_URL:PORT s3api put-bucket-lifecycle-configuration --bucket BUCKET_NAME --lifecycle-configuration file://PATH_TO_LIFECYCLE_CONFIGURATION_FILE/LIFECYCLE_CONFIGURATION_FILE.json示例
[user@client ~]$ aws --endpoint-url=http://host01:80 s3api put-bucket-lifecycle-configuration --bucket testbucket --lifecycle-configuration file://lifecycle.json在本例中,cluster
.json文件存在于当前目录中。
验证
检索存储桶的生命周期配置:
语法
aws --endpoint-url=RADOSGW_ENDPOINT_URL:PORT s3api get-bucket-lifecycle-configuration --bucket BUCKET_NAME示例
[user@client ~]$ aws --endpoint-url=http://host01:80 s3api get-bucket-lifecycle-configuration --bucket testbucket { "Rules": [ { "Expiration": { "Days": 1 }, "ID": "ImageExpiration", "Filter": { "Prefix": "images/" }, "Status": "Enabled" } ] }可选:在 Ceph 对象网关节点中登录 Cephadm shell 并检索存储桶生命周期配置:
语法
radosgw-admin lc get --bucket=BUCKET_NAME示例
[root@rgw ~]# radosgw-admin lc get --bucket=testbucket { "prefix_map": { "images/": { "status": true, "dm_expiration": false, "expiration": 1, "noncur_expiration": 0, "mp_expiration": 0, "transitions": {}, "noncur_transitions": {} } }, "rule_map": [ { "id": "ImageExpiration", "rule": { "id": "ImageExpiration", "prefix": "", "status": "Enabled", "expiration": { "days": "1", "date": "" }, "mp_expiration": { "days": "", "date": "" }, "filter": { "prefix": "images/", "obj_tags": { "tagset": {} } }, "transitions": {}, "noncur_transitions": {}, "dm_expiration": false } } ] }