如何确定对象保留
StorageGRID 为网格管理员和单个租户用户提供了指定对象存储时间的选项。通常,租户用户提供的任何保留指令优先于网格管理员提供的保留指令。
租户用户如何控制对象保留
租户用户可以通过三种主要方式控制其对象在 StorageGRID 中的存储时间:
-
如果为网格启用了全局 S3 对象锁定设置,则 S3 租户用户可以在启用了 S3 对象锁定的情况下创建分段,然后使用 S3 REST API 为添加到该分段的每个对象版本指定保留日期和合法保留设置。
-
任何方法都不能删除处于合法保留状态的对象版本。
-
在达到对象版本的保留截止日期之前,无法通过任何方法删除该版本。
-
启用了 S3 对象锁定的存储分段中的对象由 ILM "`Forever 保留。` 但是,在达到保留截止日期后,可以通过客户端请求或存储分段生命周期到期来删除对象版本。
-
-
S3 租户用户可以将生命周期配置添加到其分段中,以指定到期操作。如果存在分段生命周期,则 StorageGRID 会存储一个对象,直到满足到期操作中指定的日期或天数为止,除非客户端先删除该对象。
-
S3 或 Swift 客户端可以对删除对象请求进行问题描述 处理。在确定是删除还是保留对象时, StorageGRID 始终会优先处理客户端删除请求,而不是 S3 存储分段生命周期或 ILM 。
网格管理员如何控制对象保留
网格管理员可以使用 ILM 放置说明来控制对象的存储时间。如果对象与 ILM 规则匹配,则 StorageGRID 会存储这些对象,直到 ILM 规则中的最后一个时间段结束为止。如果为放置说明指定了 "`forever` " ,则对象将无限期保留。
无论谁控制对象的保留时间, 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
-
在存储节点 "`Forever` " 上存储两个副本
- 分段生命周期
-
对象在 2 年( 730 天)后过期
- 客户端删除请求
-
发布日期:第 400 天
- 结果
-
StorageGRID 会在第 400 天删除此对象的两个副本,以响应客户端删除请求。
示例 4 : S3 对象锁定会覆盖客户端删除请求
- S3 对象锁定
-
对象版本的保留截止日期为 2026-03-31 。合法保留无效。
- 符合 ILM 规则
-
在存储节点 "`Forever 上存储两个副本。`
- 客户端删除请求
-
发布日期: 2024-03-31 。
- 结果
-
StorageGRID 不会删除此对象版本,因为保留截止日期仍在 2 年后。