Skip to main content
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

如何确定对象保留

贡献者

StorageGRID 为网格管理员和单个租户用户提供了指定对象存储时间的选项。通常,租户用户提供的任何保留指令优先于网格管理员提供的保留指令。

租户用户如何控制对象保留

租户用户可以通过三种主要方式控制其对象在 StorageGRID 中的存储时间:

  • 如果为网格启用了全局 S3 对象锁定设置,则 S3 租户用户可以在启用了 S3 对象锁定的情况下创建分段,然后使用 S3 REST API 为添加到该分段的每个对象版本指定保留日期和合法保留设置。

    • 任何方法都不能删除处于合法保留状态的对象版本。

    • 在达到对象版本的保留截止日期之前,无法通过任何方法删除该版本。

    • 启用了 S3 对象锁定的存储分段中的对象由 ILM "`Forever 保留。` 但是,在达到保留截止日期后,可以通过客户端请求或存储分段生命周期到期来删除对象版本。请参见 使用 S3 对象锁定管理对象

  • S3 租户用户可以将生命周期配置添加到其分段中,以指定到期操作。如果存在分段生命周期,则 StorageGRID 会存储一个对象,直到满足到期操作中指定的日期或天数为止,除非客户端先删除该对象。请参见 创建 S3 生命周期配置

  • 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 年后。