新钛云服已为您服务1403天
概述
本文详细介绍了对象存储的生命周期管理是什么、如何使用它以及使用 RGW 创建自定义存储类。
前提条件
本文假设您部署了一个 Ceph 集群,其中包含 2 个 RGW,并创建了所需的 RGW 池,例如 buckets.data、buckets.index、buckets.non-ec、rgw.log rgw.meta。
如果没有ceph存储或者 RGW 未启用,请参考Ceph官网文档进行安装以及启用您的 RGW 。
步骤
本文将详细介绍我们如何将对象迁移到不同类别的存储中,以便根据时间将它们分开。例如,我们可以规定将超过 N 天的对象移动到称为“cold”的存储类。可以将对象设置为在一段时间后过期,而不是移动到单独的存储类,然后将其发送到 Ceph 垃圾回收器进行删除。
除了删除之外,辅助存储类可以绑定到一个具有更激进的纠删码池的池,该池可以提供更好的存储效率,但可能不会那么冗余。对于不再被认为生产所需但仍希望保留副本而不是彻底删除的文件,这可能是一个很好的折衷方案。
创建新的存储类和池
注意:如果您只希望创建过期和删除对象的规则,而不是将它们移动到新的存储层,则可以跳过此部分,您可以直接转到“创建 S3 生命周期管理策略”
本文假定默认 RGW 配置。如果您设置了自定义区域组或区域和放置目标,则必须将默认名称替换为您配置的名称。
要确定您是否使用默认配置,请运行以下命令:
root@labosd1:~# radosgw-admin zonegroup list
root@labosd1:~# radosgw-admin zone list
root@labosd1:~# radosgw-admin zonegroup placement list
对于默认配置,它将如下所示:
如果输出不同,请务必在以下指南中将“default”和“default-placement”替换为正确的命名方案。
添加新的存储类
首先,在 Ceph RGW 结构中创建一个新的存储类,以便可以创建一个新池,然后将该池分配给新类。本文将为其存储类使用名称“COLD”。您可能希望改用 AWS 使用的存储类。它们有预定义的存储类别,例如 1A-Standard。你可以在https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html链接处获取AWS常用的存储类。
root@labosd1:~# radosgw-admin zonegroup placement add \
--rgw-zonegroup default \
--placement-id default-placement \
--storage-class COLD