欢迎来到即将发布的 MinIO 文档版本! 此页面上的内容正在积极开发中 可能随时更改。 如果找不到您要找的内容,请查看我们的 历史文档。 感谢您的耐心等待。 我们期待您贡献自己强大的力量,帮助更多的中国技术开发者![翻译]

对象生命周期管理

MinIO 对象生命周期管理允许为时间或日期创建规则 基于对象的自动转换或到期。 对于对象过渡, MinIO 自动将对象移动到配置好的远程存储 层。 对于对象到期,MinIO 会自动删除该对象。

MinIO 生命周期管理是为行为和语法兼容而构建的 AWS S3 Lifecycle Management. 为了 例如,您可以导出 S3 生命周期管理规则并将其导入 MinIO,反之亦然。 MinIO 使用 JSON 来描述生命周期管理规则, 并且可能需要转换为 XML 或从 XML 转换。

对象转换 (“Tiering”)

MinIO 支持创建对象转换生命周期管理规则,其中 MinIO 可以自动将对象移动到远程存储 “ tier”。 迷你IO 支持任何 S3 兼容服务作为远程层 in addition to 关注公共云存储服务:

MinIO 对象转换支持用例,例如从 私有或公共云基础设施中的 MinIO 集群以低成本 公共云存储解决方案。

MinIO 管理动态检索分层对象,无需任何额外 应用端逻辑。 MinIO 保留了所需的最少对象元数据 支持检索转移到远程层的对象。 MinIO 因此 requires 独占访问远程存储层上的数据。 目的 检索假设存储的数据没有外部突变、迁移或删除 对象。 对象转换 not 替代备份/恢复 诸如此类的策略 Bucket Replication.

使用 mc admin tier 创建用于分层的远程目标的命令 数据到支持的云服务提供商对象存储然后您可以使用 mc ilm add 命令与以下命令行选项之一 在存储上创建新的转换规则:

版本化存储

MinIO 采用 S3 behavior 对于过渡规则 在 versioned buckets. 具体来说,MinIO 由 默认将转换操作应用于 current 对象版本。

要转换非当前对象版本,请指定 --noncurrentversion-transition-days 选项 创建过渡规则时。

对象过期

MinIO 生命周期管理支持使存储桶上的对象过期。 目的 “expiration” 涉及对对象执行 “DELETE” 操作。 为了 例如,您可以创建生命周期管理规则来使任何对象过期 超过 365 天。

使用 mc ilm add 使用以下命令行之一进行命令 在存储上创建新过期规则的选项:

对于带有 replication 已配置,MinIO 不复制生命周期管理过期规则删除的对象。 看 Replication of Delete Operations 想要查询更多的信息。

版本化存储

MinIO 采用 S3 behavior 到期规则 在 versioned buckets. MinIO有两个 版本化存储的特定默认行为:

  • MinIO 将过期选项仅应用于 current 对象版本 创建 DeleteMarker 与版本化删除一样正常。

    要使非当前对象版本过期,请指定 --noncurrentversion-expiration-days 选项 创建过期规则时。

  • MinIO 不会过期 DeleteMarkers even if 没有其他版本的该对象存在。

    在没有剩余版本时使删除标记过期 对象,指定 --expired-object-delete-marker 创建到期规则时的选项。

生命周期管理对象扫描器

MinIO 使用内置扫描器主动检查所有对象 配置的生命周期管理规则。 扫描程序是一个低优先级的进程 产生高 IO 工作负载以防止触发性能峰值 按规则时间。 因此,扫描仪可能无法检测到符合条件的对象 对于配置的转换或到期生命周期规则,直到 after 生命周期规则期已过。

生命周期管理规则的延迟应用通常与 有限的节点资源和集群大小。 扫描仪速度趋于缓慢,因为 集群随着访问所有存储桶和对象所需的时间增加而增长。 如果集群硬件尺寸过小而无法正常使用,这种情况可能会加剧 工作负载,因为扫描器将屈服于高集群负载以避免性能 损失。 考虑定期检查集群指标、容量和资源 用于确保集群硬件与集群和工作负载一起扩展生长。