mc ilm add
在版本 RELEASE.2022-12-24T15-21-38Z 中的变更:mc ilm add替换为mc ilm rule add.
语法
Themc ilm add该命令为存储桶添加对象生命周期管理规则。
该命令支持同时添加Transition (Tiering)和有效期生命周期管理规则。
以下命令用于添加新的生命周期管理规则到mydata桶上的myminio部署:
mc ilm add --expire-days 90 --noncurrent-expire-days 30 myminio/mydata
mc ilm add --expire-delete-marker myminio/mydata
mc ilm add --transition-days 30 --transition-tier "COLDTIER" myminio/mydata
mc ilm add --noncurrent-transition-days 7 --noncurrent-transition-tier "COLDTIER"
配置的规则具有以下效果:
删除超过90天的对象
对象变为非当前状态30天后删除
删除
DeleteMarker如果该对象没有其他剩余版本,则清除墓碑标记。将超过30天的对象转移到
COLDTIER远程层。在对象变为非当前状态7天后将其转换
COLDTIER远程层。
该命令具有以下语法:
mc [GLOBALFLAGS] ilm add \
[--prefix string] \
[--tags string] \
--expire-days "integer" \
[--expire-delete-marker] \
[--transition-days "string"] \
[--transition-tier "string"] \
[--noncurrent-expire-days "integer"] \
[--noncurrent-expire-newer "integer"] \
[--noncurrent-transition-days "integer"] \
[--noncurrent-transition-tier "string"] \
ALIAS
Brackets
[]表示可选参数。共享同一行的参数是相互依赖的。
使用竖线分隔的参数
|操作符是互斥的。
将示例复制到文本编辑器中,根据需要修改,然后在终端/Shell中运行命令。
参数
- ALIAS
- 必需
The别名要添加对象生命周期管理规则的 MinIO 部署中的存储桶。
例如:
mc ilm add myminio/mydata
- --prefix
- 可选
将管理规则限制在特定的对象前缀。
例如:
mc ilm add --prefix "meetingnotes/" myminio/mydata/ --expire-days "90"
该命令创建了一个使对象过期的规则
mydatabucket of themyminioALIAS 在 90 天后适用于任何具有meetingnotes/prefix.
- --expire-days
- 必需
对象创建后保留的天数。 MinIO 会在指定天数过后将对象标记为删除。 请以整数形式指定天数,例如
3030 天。对于版本化存储桶,过期规则仅适用于当前object version. 使用
--noncurrent-expire-days对非当前对象版本应用过期行为的选项。MinIO 使用一个扫描器进程检查对象是否符合所有已配置的生命周期管理规则。 由于高IO工作负载或有限的系统资源导致的扫描缓慢可能会延迟生命周期管理规则的应用。 请参阅生命周期管理对象扫描器欲了解更多信息。
与以下选项互斥:
- --expire-delete-marker
- 可选
指定此选项以指示 MinIO 移除没有剩余对象版本的对象的删除标记。 具体来说,删除标记是仅给定对象的剩余“版本”。
此选项与以下选项互斥:
MinIO 使用一个扫描器进程检查对象是否符合所有已配置的生命周期管理规则。 由于高IO工作负载或有限的系统资源导致的扫描缓慢可能会延迟生命周期管理规则的应用。 请参阅生命周期管理对象扫描器欲了解更多信息。
- --transition-days
- 可选
从对象创建之日起的日历天数,超过该天数后 MinIO 会将对象标记为符合转换条件。 MinIO 将对象转换到指定的已配置远程层级。
--transition-tier指定天数为整数,例如3030 天。对于版本化存储桶,过渡规则仅适用于当前object version. 使用
--noncurrent-transition-days将过渡行为应用于非当前对象版本的选项。需要指定
--transition-tier.MinIO 使用一个扫描器进程检查对象是否符合所有已配置的生命周期管理规则。 由于高IO工作负载或有限的系统资源导致的扫描缓慢可能会延迟生命周期管理规则的应用。 请参阅生命周期管理对象扫描器欲了解更多信息。
有关对象过渡的更完整文档,请参阅对象转换("分层").
- --transition-tier
- 可选
MinIO 所连接的远程层级过渡对象指定一个由现有远程层创建的
mc admin tier.如果指定则必需
--transition-days.
- --noncurrent-expire-days
- 可选
对象版本成为非当前版本后保留的天数非流动(即该对象的不同版本现在是HEADMinIO 在指定天数过后会将非当前对象版本标记为删除。
此选项的行为与 S3 相同
NoncurrentVersionExpiration动作。MinIO 使用一个扫描器进程检查对象是否符合所有已配置的生命周期管理规则。 由于高IO工作负载或有限的系统资源导致的扫描缓慢可能会延迟生命周期管理规则的应用。 请参阅生命周期管理对象扫描器欲了解更多信息。
- --noncurrent-transition-days
- 可选
对象变为非当前版本(即被同一对象的新版本替换)后的天数,超过该天数后 MinIO 会将此对象版本标记为符合转移条件。 MinIO 将对象转移到为存储桶配置的远程存储层。
--transition-tier一旦系统主机日期时间超过该日历日期。此选项对非版本化存储桶没有影响。 需要指定
--noncurrent-transition-tier.此选项的行为与 S3 相同
NoncurrentVersionTransition动作。MinIO 使用一个扫描器进程检查对象是否符合所有已配置的生命周期管理规则。 由于高IO工作负载或有限的系统资源导致的扫描缓慢可能会延迟生命周期管理规则的应用。 请参阅生命周期管理对象扫描器欲了解更多信息。
- --noncurrent-transition-tier
- 可选
MinIO 所连接的远程层级转换非当前对象版本指定一个由远程层创建的
mc admin tier.
- --noncurrent-expire-newer
- 可选
要保留的非当前对象版本的最大数量,按从新到旧的顺序排列。
使用此标志以先进先出的方式保留文件的特定数量的过往版本。 在保留最大数量的非当前版本后,MinIO 会将任何剩余的较旧非当前对象版本标记为符合过期条件。
下表列出了若干对象版本及其基于的过期资格
--noncurrent-expire-newer 3:v5 (当前版本)
当前版本不受ILM规则影响。
v4
保留
v3
保留
v2
保留
v1
标记为过期
MinIO 保留当前版本 v5。 MinIO 还保留下一个
3non-current versions, starting with the newest. 这意味着 MinIO 标记v4,v3和v2保留三个非当前版本。v1这将是第四个非当前版本,超出了要保留的非当前版本限制,因此 MinIO 会标记v1到期。更新此标志的数值仅影响未标记版本的对象。 如果增加要保留的版本数量,已标记为过期的任何版本不会发生更改。
MinIO 使用一个扫描器进程检查对象是否符合所有已配置的生命周期管理规则。 由于高IO工作负载或有限的系统资源导致的扫描缓慢可能会延迟生命周期管理规则的应用。 请参阅生命周期管理对象扫描器欲了解更多信息。
全局标志
此命令支持任何全局标志.
示例
设置存储桶内容在指定天数后过期
使用mc ilm addwith--expire-days将存储桶内容标记为在对象创建后经过指定天数后过期:
mc ilm add ALIAS/PATH --expire-days "DAYS"
将前缀下的非当前对象版本转移到不同层级
使用mc ilm addwith--prefix和--transition-tier将对象的旧非当前版本过渡到不同的存储层。
mc ilm add --prefix "doc/" --transition-days "90" --trasition-tier "MINIOTIER-1" \
--noncurrent-transition-days "45" --noncurrent-transition-tier "MINIOTIER-2" \
myminio/mybucket/
This command looks at the contents with thedoc/prefix in themybucket桶上的myminio部署。
前缀中超过90天的当前对象将移动到
MINIOTIER-1存储层。前缀中超过45天的非当前对象将移动到
MINIOTIER-2存储层。Both
MINIOTIER-1和MINIOTIER-2已经创建了mc admin tier add.
使前缀中的所有对象过期,保留当前对象版本的时间长于非当前对象版本
使用mc ilm add命令与--prefix, --expire-days和--noncurrent-expire-days使对象的当前版本和非当前版本在不同时间过期。
mc ilm add --prefix "doc/" --expire-days "300" --noncurrent-expire-days "100" myminio/mybucket/
This command looks at the contents with thedoc/prefix in themybucket桶上的myminio部署。
当前对象在300天后过期。
非当前对象在100天后过期。
行为
生命周期管理对象扫描器
MinIO 使用一个扫描器进程检查对象是否符合配置的生命周期管理规则。 由于高IO工作负载或有限的系统资源导致的扫描缓慢可能会延迟生命周期管理规则的应用。 请参阅生命周期管理对象扫描器欲了解更多信息。
过期 vs 转换
MinIO 支持在同一存储桶或存储桶前缀中同时指定过期和转换规则。无论对象的转换状态如何,MinIO 都可以对其执行过期规则。使用mc ilm ls审查当前配置的对象生命周期管理规则,以评估过期规则和转换规则之间可能存在的相互影响。
S3 Compatibility
Themc命令行工具专为兼容 AWS S3 API 而构建,并已通过 MinIO 和 AWS S3 测试,确保功能与行为符合预期。
MinIO 不提供对其他 S3 兼容服务的保证,因为它们的 S3 API 实现方式未知,因此不受支持。尽管mc命令可能按文档所述工作,任何此类使用风险自负。