使用s3cmd工具实现RGW对象存储生命周期管理
参考:
https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html
https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html
https://s3browser.com/bucket-lifecycle-configuration.aspx
https://www.51cto.com/article/701720.html
1. 生命周期配置示例
- 规则说明:在1个月后将对象移到新的存储类COLD,然后在2个月后将它们过期以删除。
Transition then Expire Rule
Enabled
30
COLD
60
- 规则说明:简单地指示删除早于设定日期的对象。
Expire after 1 year
Enabled
365
- 规则说明:仅将对象移动到新存储类而不将它们标记为过期(删除)。
Transition objects to COLD storage class
Enabled
30
COLD
- 规则说明:在 120 天后过期所有前缀为 dir1 的对象,并在 60 天后过期所有前缀为 dir2 的对象。
prefix expiration
dir1
Enabled
120
dir2
Enabled
60
2. 使用s3cmd工具管理规则
- 将上面的配置内容保存为一个xml文件,例如:lifecycle-expire.xml,内容如下:
Expire after 1 days
Enabled
1
- 创建一个测试的S3存储桶,例如:
s3cmd mb s3://lifecycletest
- 在存储桶上设置生命周期策略
s3cmd setlifecycle lifecycle-expire.xml s3://lifecycletest
- 查看是否已设置生命周期
s3cmd info s3://lifecycletest
说明:当使用 transition 规则而不是 expire 规则时,s3cmd info 将无法正确显示出它。您将需要使用 S3 Browser这样的工具来查看生命周期规则。S3 Browser也可用于创建这些规则。使用 S3 Browser 的唯一缺点是它不允许使用自定义存储类,例如使用“COLD”。它仅使用标准 Amazon S3 命名,因此在使用 transition 而不是 expire 规则时,最好使用 s3cmd 和 XML 文件。
3. Debug 配置
rgw lc debug interval = 60
4. 故障排除
- 检查 RGW 生命周期规则状态:
radosgw-admin lc list
- 如果未设置为“COMPLETE”,您可以通过运行以下命令强制 Ceph 启动规则:
radosgw-admin lc process