文件

mc ilm add

在版本 RELEASE.2022-12-24T15-21-38Z 中變更:mc ilm add 已由 mc ilm rule add 取代。

語法

mc ilm add 命令會將物件生命週期管理規則新增至儲存貯體。

此命令支援新增轉換(分層)到期生命週期管理規則。

以下命令會將新的生命週期管理規則新增至 myminio 部署上的 mydata 儲存貯體

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
  • 方括號 [] 表示選用參數。

  • 共用一行的參數是相互依存的。

  • 使用管道符號 | 運算子分隔的參數是互斥的。

將範例複製到文字編輯器並根據需要修改,然後在終端機/shell 中執行命令。

參數

別名
必要

要新增物件生命週期管理規則的 MinIO 部署中的別名和儲存桶。

例如:

mc ilm add myminio/mydata
--prefix
選填

將管理規則限制在特定的物件前綴。

例如:

mc ilm add --prefix "meetingnotes/" myminio/mydata/ --expire-days "90"

此指令會建立一個規則,在 myminio 別名的 mydata 儲存桶中,針對任何具有 meetingnotes/ 前綴的物件,於 90 天後過期。

--tags
選填

一個或多個以 & 符號 & 分隔的鍵值對,用於描述物件標籤,以篩選適用生命週期設定規則的物件。

此選項與下列選項互斥

--expire-days
必要

物件建立後保留的天數。MinIO 會在指定天數過後,將物件標記為刪除。請將天數指定為整數,例如 30 代表 30 天。

對於版本控制的儲存桶,過期規則僅適用於目前的物件版本。使用 --noncurrent-expire-days 選項將過期行為套用至非目前的物件版本。

MinIO 使用掃描器程序來檢查物件是否符合所有已設定的生命週期管理規則。由於高 IO 工作負載或有限的系統資源導致掃描速度緩慢,可能會延遲生命週期管理規則的應用。如需更多資訊,請參閱生命週期管理物件掃描器

與下列選項互斥

如需物件過期的更完整文件,請參閱物件過期物件刪除

--expire-delete-marker
選填

指定此選項以指示 MinIO 移除沒有剩餘物件版本的物件的刪除標記。具體來說,刪除標記是指定物件的唯一剩餘「版本」。

此選項與下列選項互斥

MinIO 使用掃描器程序來檢查物件是否符合所有已設定的生命週期管理規則。由於高 IO 工作負載或有限的系統資源導致掃描速度緩慢,可能會延遲生命週期管理規則的應用。如需更多資訊,請參閱生命週期管理物件掃描器

如需物件過期的更完整文件,請參閱物件過期物件刪除

--transition-days
選填

從物件建立開始經過的天數,之後 MinIO 會將物件標記為符合轉換條件。MinIO 會將物件轉換到 --transition-tier 指定的已設定遠端層級。請將天數指定為整數,例如 30 代表 30 天。

對於版本控制的儲存桶,轉換規則僅適用於目前的物件版本。使用 --noncurrent-transition-days 選項將轉換行為套用至非目前的物件版本。

需要指定 --transition-tier

MinIO 使用掃描器程序來檢查物件是否符合所有已設定的生命週期管理規則。由於高 IO 工作負載或有限的系統資源導致掃描速度緩慢,可能會延遲生命週期管理規則的應用。如需更多資訊,請參閱生命週期管理物件掃描器

如需物件轉換的更完整文件,請參閱物件轉換(「分層」)

--transition-tier
選填

MinIO 將轉換物件的遠端層級。指定由 mc admin tier 建立的現有遠端層級。

如果指定 --transition-days,則為必要。

--noncurrent-expire-days
選填

物件版本在變成非目前(即,該物件的不同版本現在是 HEAD)之後要保留的天數。MinIO 會在指定天數過後,將非目前的物件版本標記為刪除。

此選項的行為與 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 還會保留接下來的 3 個非目前版本,從最新的版本開始。這表示 MinIO 會標記 v4v3v2 作為要保留的三個非目前版本。

v1 會是第四個非目前版本,超出要保留的非目前版本數量限制,因此 MinIO 會標記 v1 為過期。

更新此旗標的數量只會影響未標記的物件版本。如果您增加要保留的數量,任何已標記為過期的版本都不會變更。

MinIO 使用掃描器程序來檢查物件是否符合所有已設定的生命週期管理規則。由於高 IO 工作負載或有限的系統資源導致掃描速度緩慢,可能會延遲生命週期管理規則的應用。如需更多資訊,請參閱生命週期管理物件掃描器

全域旗標

此指令支援任何全域旗標

範例

在指定天數後過期所有儲存桶內容

使用 mc ilm add--expire-days,以在物件建立後經過指定天數後,將儲存桶內容標記為過期。

mc ilm add ALIAS/PATH --expire-days "DAYS"
  • 使用 S3 相容主機的別名取代 ALIAS

  • 使用 S3 相容主機上儲存桶的路徑取代 PATH

  • 使用物件過期所需的天數取代 DATE。例如,指定 30 表示在建立後 30 天過期該物件。

將前綴的非目前物件版本轉換到不同的層級

使用 mc ilm add--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/

此命令會檢視在 myminio 部署的 mybucket 儲存桶中,以 doc/ 為前綴的內容。

  • 目前在該前綴中,超過 90 天的物件會移動到 MINIOTIER-1 儲存層。

  • 非目前在該前綴中,超過 45 天的物件會移動到 MINIOTIER-2 儲存層。

  • MINIOTIER-1MINIOTIER-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/

此命令會檢視在 myminio 部署的 mybucket 儲存桶中,以 doc/ 為前綴的內容。

  • 目前物件會在 300 天後過期。

  • 非目前物件會在 100 天後過期。

行為

生命週期管理物件掃描器

MinIO 使用掃描器程序來檢查物件是否符合已設定的生命週期管理規則。由於高 IO 工作負載或有限的系統資源而導致掃描速度緩慢,可能會延遲生命週期管理規則的應用。如需更多資訊,請參閱生命週期管理物件掃描器

過期 vs 轉移

MinIO 支援在同一個儲存桶或儲存桶前綴中指定過期和轉移規則。無論物件的轉移狀態為何,MinIO 都可以對物件執行過期規則。使用 mc ilm ls 來檢閱目前已設定的物件生命週期管理規則,以了解過期規則和轉移規則之間任何可能的互動。

S3 相容性

mc 命令列工具是為了與 AWS S3 API 相容而建置,並已使用 MinIO 和 AWS S3 測試其預期的功能和行為。

MinIO 不保證其他 S3 相容服務的功能,因為它們的 S3 API 實作未知,因此不支援。雖然 mc 命令可能會按照文件所述運作,但任何此類使用行為都須自行承擔風險。