如何确定对象保留
StorageGRID为网格管理员和个人租户用户提供了指定存储对象时间的选项。一般来说,租户用户提供的任何保留说明都优先于网格管理员提供的保留说明。
租户用户如何控制对象保留
租户用户可以使用这些方法来控制其对象在StorageGRID中存储的时间:
-
如果为网格启用了全局 S3 对象锁定设置,则 S3 租户用户可以创建启用 S3 对象锁定的存储桶,然后为每个存储桶选择 默认保留期。
-
如果为网格启用了全局 S3 对象锁定设置,则 S3 租户用户可以创建启用了 S3 对象锁定的存储桶,然后使用 S3 REST API 为添加到该存储桶的每个对象版本指定保留截止日期和合法保留设置。
-
处于合法保留状态的对象版本无法通过任何方法删除。
-
在达到对象版本的保留截止日期之前,无法通过任何方法删除该版本。
-
启用 S3 对象锁的存储桶中的对象将被 ILM“永久”保留。但是,在达到保留期限后,对象版本可能会因客户端请求或存储桶生命周期到期而被删除。看"使用 S3 对象锁管理对象" 。
-
-
S3 租户用户可以向其存储桶添加指定到期操作的生命周期配置。如果存在存储桶生命周期, StorageGRID会存储一个对象,直到满足到期操作中指定的日期或天数,除非客户端先删除该对象。看"创建 S3 生命周期配置" 。
-
S3 客户端可以发出删除对象请求。在确定是否删除或保留对象时, StorageGRID始终优先考虑客户端删除请求,而不是 S3 存储桶生命周期或 ILM。
网格管理员如何控制对象保留
网格管理员可以使用这些方法来控制对象保留:
-
为每个租户设置 S3 对象锁最大保留期。然后,租户用户可以为每个存储桶设置一个默认保留期。该存储桶中任何新摄取的对象也必须遵守最大保留期限(对象的保留截止日期)。
-
创建 ILM 放置指令来控制对象的存储时间。当对象与 ILM 规则匹配时, StorageGRID会存储这些对象,直到 ILM 规则中的最后一个时间段过去。如果放置指令指定为“永远”,则对象将被无限期保留。
-
无论谁控制对象保留多长时间,ILM 设置都会控制存储哪些类型的对象副本(复制或擦除编码)以及副本所在的位置(存储节点或云存储池)。
S3 存储桶生命周期和 ILM 如何交互
配置 S3 存储桶生命周期后,生命周期到期操作将覆盖与生命周期过滤器匹配的对象的 ILM 策略。因此,即使放置对象的任何 ILM 指令已经失效,对象仍可能保留在网格上。
对象保留的示例
为了更好地理解 S3 对象锁、存储桶生命周期设置、客户端删除请求和 ILM 之间的交互,请考虑以下示例。
示例 1:S3 存储桶生命周期比 ILM 保留对象的时间更长
- ILM
-
保存两份,保存期为1年(365天)
- 存储桶生命周期
-
对象在 2 年(730 天)内过期
- 结果
-
StorageGRID存储该对象 730 天。 StorageGRID使用存储桶生命周期设置来确定是否删除或保留对象。
|
|
如果存储桶生命周期指定对象的保存时间应比 ILM 指定的时间长,则StorageGRID会在确定要存储的副本数量和类型时继续使用 ILM 放置指令。在此示例中,对象的两个副本将从第 366 天到第 730 天继续存储在StorageGRID中。 |
示例 2:S3 存储桶生命周期在 ILM 之前使对象过期
- ILM
-
保存两份,保存期限为 2 年(730 天)
- 存储桶生命周期
-
对象在 1 年(365 天)内过期
- 结果
-
StorageGRID在第 365 天后删除该对象的两个副本。
示例 3:客户端删除覆盖存储桶生命周期和 ILM
- ILM
-
在存储节点上永久存储两个副本
- 存储桶生命周期
-
对象在 2 年(730 天)内过期
- 客户端删除请求
-
第 400 天发布
- 结果
-
StorageGRID响应客户端删除请求,在第 400 天删除该对象的两个副本。
示例 4:S3 对象锁定覆盖客户端删除请求
- S3 对象锁
-
对象版本的保留截止日期为 2026-03-31。合法保留无效。
- 符合 ILM 规则
-
在存储节点上永久存储两个副本
- 客户端删除请求
-
发布日期:2024-03-31
- 结果
-
StorageGRID不会删除对象版本,因为保留截止日期仍为 2 年。