如何确定对象保留
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 年后。