当前位置: 首页 > news >正文

【MinIO】Bucket的生命周期管理

👻创作者:丶重明
👻创作时间:2025年3月7日
👻擅长领域:运维

目录

  • 1.ILM使用介绍
  • 2.生命周期配置实例

1.ILM使用介绍

对象生命周期管理(ILM)是现代对象存储系统的核心功能之一,MinIO通过mc ilm命令提供了一套灵活的生命周期策略管理工具。
通过配置ILM规则,用户可以自动化管理存储桶中对象的生命周期,例如:

  • 自动删除达到保留期限的旧数据
  • 将热数据转换为冷存储类别
  • 实现合规性数据保留策略
  • 优化存储成本和管理效率
  • 清理未完成的分段上传

语法:

mc ilm <子命令> [参数] ALIAS/BUCKET

子命令:

  • add:添加规则mc ilm add
  • ls:列出规则mc ilm ls
  • re:删除规则mc ilm rm
  • edit:编辑现有规则mc ilm edit

关键参数:

参数说明
--id指定规则的唯一标识符(自动生成可省略)
--tags基于对象标签过滤
--prefix应用于指定前缀的对象
--expiry-days过期删除天数
--transition-days转换存储类别前的天数
--storage-class目标存储类别
--disable临时禁用规则而不删除

2.生命周期配置实例

  • 基础过期策略
# 删除30天前的日志文件
mc ilm add myminio/test-bucket \
    --prefix "logs/" \
    --expiry-days 30
  • 分层存储
# 将文档7天后转为冷存储,90天后删除
mc ilm add myminio/documents \
    --prefix "archives/" \
    --transition-days 7 \
    --storage-class "GLACIER" \
    --expiry-days 90
  • 基于标签的管理
# 删除标记为temp=true且超过15天的对象
mc ilm add myminio/uploads \
    --tags "temp=true" \
    --expiry-days 15
  • 多层存储方案
# 热数据层:保持标准存储
# 温数据层:30天后转为低频访问
mc ilm add myminio/project-data \
    --transition-days 30 \
    --storage-class "INFREQUENT_ACCESS"

# 冷数据层:90天后归档
mc ilm add myminio/project-data \
    --transition-days 90 \
    --storage-class "GLACIER"

# 最终删除:365天后过期
mc ilm add myminio/project-data \
    --expiry-days 365

查看生效的规则列表:

有多少规则就会显示多少规则。

$ mc ilm ls myminio/test-bucket
┌────────────────────────────────────────────────────────────────────────────────────────────┐
│ Expiration for latest version (Expiration)                                                 │
├──────────────────────┬─────────┬────────┬──────┬────────────────┬─────────────────────┤
│ ID                   │ STATUS  │ PREFIX │ TAGS │ DAYS TO EXPIRE │ EXPIRE DELETEMARKER │
├──────────────────────┼─────────┼────────┼──────┼────────────────┼─────────────────────┤
│ cvj31kal96is9ae2vj2g │ Enabled │ logs/  │ -    │             30false               │
└──────────────────────┴─────────┴────────┴──────┴────────────────┴─────────────────────┘

如果你是想用文档的方式显示出来的话可以这样:

$ mc ilm export myminio/test-bucket
{
 "Rules": [
  {
   "Expiration": {
    "Days": 30
   },
   "ID": "cvj31kal96is9ae2vj2g",
   "Filter": {
    "Prefix": "logs/"
   },
   "Status": "Enabled"
  }
 ]
}

最后

我们对于单个桶的规则设置不要超过100条。

对高频访问桶设置凌晨执行窗口。

mc admin config set myminio ilm schedule_daily=00:00-04:00

对大桶启用分片处理

mc ilm bulk start myminio/large-bucket

相关文章:

  • python多态、静态方法和类方法
  • Open webui的使用
  • Docker Compose 启动jar包项目
  • dubbo http流量接入dubbo后端服务
  • GRS认证是什么?GRS认证有什么意义?对企业发展的好处
  • 剑指Offer49 -- DP_贪心
  • 高中数学联赛模拟试题第9套几何题
  • 使用YOLOv5训练自定义数据集
  • 阿里云云效 Maven
  • 前端技术有哪些
  • Canvas渲染管线解析:从API调用到像素落地的全过程
  • 蓝桥杯省模拟赛 阶乘求值
  • QEMU源码全解析 —— 块设备虚拟化(12)
  • 线性回归 + 基础优化算法
  • docker - compose up - d`命令解释,重复运行会覆盖原有容器吗
  • 滚珠花键的预压调整怎么做?
  • 附录C SLAC匹配过程命令定义与实际抓包
  • Go 语言标准库中math模块详细功能介绍与示例
  • GRS认证的主要步骤是什么?
  • Go 语言标准库中strings和strconv详细功能介绍与示例
  • 网站支付开发/购买友情链接
  • 自己如何建设网站首页/湖南疫情最新消息
  • 青岛找网站建设公司/营销客户管理系统
  • 东营可以做网站的公司在哪/线上拓客渠道有哪些
  • 网站 内容建设需要进一步加强/阿里云建站费用
  • 网站wordpress入侵/seo推广服务