Ceph rgw bucket lifecycle

一. lifecycle


lifecycle 是aws s3最早提供的一个bucket功能,lifecycle对 bucket内的object 起作用,需要设置在bucket中,aws s3的lifecycle主要有两个功能

但是ceph的rgw目前只支持 过期对象删除这个功能见官网

二. lifecycle 的设置和获取


这里通过python中比较常用的 boto3 sdk 进行lifecycle的操作

三. rgw lifecycle的基本工作原理


1. lifecycle 配置的存储

在lifecycle的配置信息保存在meta池中对象的 user.rgw.lc 属性中,这边以上面测试的 ‘data_bucket’ bucket为例

2. lc的工作流程

所有设置了lifecycle的bucket都会以 omap 的形式写入rgw log 池的命名空间为 lc 的对象中

四. 生产环境中遇到的问题


在生产环境中,有1500个bucket设置了lifecycle,每个bucket对象数在100万至1000万不等,遇到如下问题

参考文档