👻創作者:丶重明
👻創作時間: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/ │ - │ 30 │ false │
└──────────────────────┴─────────┴────────┴──────┴────────────────┴─────────────────────┘
如果你是想用文檔的方式顯示出來的話可以這樣:
$ 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