文件

mc ilm tier add

在版本 RELEASE.2022-12-24T15-21-38Z 中變更:mc ilm tier add 取代 mc admin tier add

說明

mc ilm tier add 命令會建立新的遠端儲存層級至支援的儲存服務。

請參閱 物件轉換 以取得完整清單。

支援的 S3 服務

mc ilm tier add 支援下列與 S3 相容的服務,作為物件分層的遠端目標

  • MinIO

  • Amazon S3

  • Google Cloud Storage

  • Azure Blob 儲存體

權限

MinIO 需要叢集上的下列管理權限,您可以在其中建立遠端層級以進行物件轉換生命週期管理規則

例如,下列原則提供在叢集中任何儲存貯體上設定物件轉換生命週期管理規則的權限

{
   "Version": "2012-10-17",
   "Statement": [
      {
            "Action": [
               "admin:SetTier",
               "admin:ListTier"
            ],
            "Effect": "Allow",
            "Sid": "EnableRemoteTierManagement"
      },
      {
            "Action": [
               "s3:PutLifecycleConfiguration",
               "s3:GetLifecycleConfiguration"
            ],
            "Resource": [
                        "arn:aws:s3:::*"
            ],
            "Effect": "Allow",
            "Sid": "EnableLifecycleManagementRules"
      }
   ]
}

語法

以下範例在 myminio 部署上建立名為 WARM-MINIO-TIER 的新遠端層級。此命令會為位於主機名稱 https://warm-minio.com 的遠端 MinIO 部署建立層級。

 mc ilm tier add minio myminio WARM-MINIO-TIER                     \
                               --endpoint https://warm-minio.com   \
                               --access-key ACCESSKEY              \
                               --secret-key SECRETKEY              \
                               --bucket mybucket                   \
                               --prefix myprefix/

myminio 部署上的生命週期管理規則可以使用新的層級,將物件轉換到遠端位置的 myprefix/ 首碼下的 mybucket 儲存貯體中。

此命令具有下列語法

mc ilm tier add TIER_TYPE                    \
                TARGET                       \
                TIER_NAME                    \
                --bucket value               \
                [--endpoint string]          \
                [--region string]            \
                [--access-key value^]        \
                [--secret-key value^]        \
                [--use-aws-role^]            \
                [--aws-role-arn^]            \
                [--aws-web-identity-file^]   \
                [--azure-sp-tenant-id^]      \
                [--azure-sp-client-id^]      \
                [--azure-sp-client-secret^]  \
                [--account-name value^]      \
                [--account-key value^]       \
                [--credentials-file value^]  \
                [--prefix value]             \
                [--storage-class value]

^注意:每個支援的儲存廠商都使用不同的方法進行驗證。用於驗證的旗標會因儲存廠商而異。請參閱下方 TIER_TYPE 中的詳細資訊。

  • 括號 [] 表示選用參數。

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

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

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

參數

此命令接受下列引數

TIER_TYPE
必要

MinIO 將物件轉換到的雲端服務提供者儲存後端(「層級」)。指定下列支援值之一

minio

使用遠端 MinIO 部署作為新層級的儲存後端。

還需要指定以下參數

s3

使用 AWS S3 作為新層級的儲存後端。

還需要指定以下參數

azure

使用 Azure Blob 儲存體作為新層級的儲存後端。

還需要指定以下參數

gcs

使用 GCP Cloud Storage 作為新層級的儲存後端。

還需要指定以下參數

TARGET
必要

已設定 MinIO 部署的 alias,此命令會在該部署上建立新的遠端層級。然後,您可以使用 mc ilm rule add 指定新的遠端層級來建立新規則。

TIER_NAME
必要

要與新的遠端層級關聯的名稱。名稱在 MinIO 叢集上所有已設定的層級中必須是唯一的。

必須以全部大寫字母指定層級,例如 WARM_TIER

--endpoint
選用

S3 或 MinIO 儲存體的 URL 端點。URL 端點必須解析為 TIER_TYPE 指定的提供者。

對於 s3minio 層級類型是必要的,對於 azure 是選用的。此選項對於任何其他 TIER_TYPE 值沒有任何作用。

--access-key
選用

遠端 S3minio 層級類型上使用者的存取金鑰。使用者必須具有在遠端儲存貯體或儲存貯體首碼上執行讀取/寫入/列出/刪除作業的權限。

如果 TIER_TYPEs3minio 則為必要。此選項對於任何其他 TIER_TYPE 值沒有任何作用。

--secret-key
選用

遠端 s3minio 層級類型上使用者的秘密金鑰。

如果 TIER_TYPEs3minio 則為必要。此選項對於任何其他 TIER_TYPE 值沒有任何作用。

--account-name
選用

要用作遠端儲存資源的儲存帳戶

如果 TIER_TYPEazure 則為必要。此選項對於任何其他 TIER_TYPE 值沒有任何作用。

MinIO 支援變更與 Azure 遠端層級關聯的儲存帳戶名稱。Azure 儲存後端會繫結至儲存帳戶,因此變更此值會變更儲存後端,並防止存取轉換至原始帳戶/後端的任何物件。

--account-key
選用

與遠端 Azure 層級關聯的 --account-name 對應的共用帳戶金鑰。

帳戶金鑰必須具有已指派的 Azure 原則,其中包含所需的 權限

如果 TIER_TYPEazure 則為必要。此選項對於任何其他 TIER_TYPE 值沒有任何作用。

--credentials-file
選用

遠端 Google Cloud Storage 層級上使用者的 憑證檔案。使用者必須具有在遠端儲存貯體或儲存貯體首碼上執行讀取/寫入/列出/刪除作業的權限。

如果 TIER_TYPEgcs 則為必要。此選項對於任何其他 TIER_TYPE 值沒有任何作用。

--bucket
必要

MinIO 將物件轉換到的遠端層級上的儲存貯體。

對於 azure 遠端層級,此值對應於容器名稱

--prefix
選用

MinIO 將物件轉換到指定 --bucket 的首碼路徑。

省略此欄位可將物件轉換到儲存貯體根目錄。

--storage-class
選用

MinIO 套用至轉換到遠端儲存貯體的物件的儲存類別(Microsoft Azure 的「存取層」)。

套用至 MinIO 轉換到遠端儲存貯體的物件的儲存類別。MinIO 分層行為取決於遠端儲存在要求時立即(毫秒到秒)傳回物件。因此,MinIO 無法 支援需要重新水合、等待時間或手動介入的遠端儲存體。

選取對應於 TIER_TYPE 的索引標籤,以取得每個層級的支援值清單

  • STANDARD 建議

  • REDUCED

更多資訊,請參閱Erasure Coding 儲存類別

  • 標準 (STANDARD)

  • 標準 - 不常存取 (STANDARD-IA)

  • 單區域 - 不常存取 (ONEZONE-IA)

更多資訊,請參閱使用 Amazon S3 儲存類別

  • 標準 (STANDARD)

  • 近線 (NEARLINE)

  • 冷儲存 (COLDLINE)

更多資訊,請參閱GCS 儲存類別

  • 熱 (Hot)

  • 冷 (Cool)

更多資訊,請參閱Blob 數據的熱、冷和封存存取層

若省略,物件將使用為遠端儲存貯體定義的預設儲存類別。

--region
選用

指定 TIER_TYPE 的 S3 後端區域,例如 us-west-1

此選項僅在 TIER_TYPEs3minio 時適用。此選項對於 TIER_TYPE 的任何其他值無效。

--use-aws-role
選用

使用本機設定的 AWS 角色的存取權限。

此選項僅在 TIER_TYPEs3minio 時適用。此選項對於 TIER_TYPE 的任何其他值無效。

--aws-role-arn
選用

轉換物件時要使用的 AWS S3 角色名稱。

此選項僅在 TIER_TYPEs3 **且** 來源是 Amazon EKS 上的 MinIO Pod 時才適用。

--aws-web-identity-file
選用

指定轉換物件時要使用的 Web 身分令牌檔案。

此選項僅在 TIER_TYPEs3 **且** 來源是 Amazon EKS 上的 MinIO Pod 時才適用。

--azure-sp-tenant-id
選用

用於登入 Azure 儲存體的服務主體帳戶的租用戶 ID。

此選項僅在 TIER_TYPEazure 且您使用服務主體身分登入時才適用。此選項對於 TIER_TYPE 的任何其他值無效。

--azure-sp-client-id
選用

用於登入 Azure 儲存體的服務主體帳戶的用戶端 ID。

此選項僅在 TIER_TYPEazure 且您使用服務主體身分登入時才適用。此選項對於 TIER_TYPE 的任何其他值無效。

--azure-sp-client-secret
選用

用於登入 Azure 儲存體的服務主體帳戶的用戶端密碼。

此選項僅在 TIER_TYPEazure 且您使用服務主體身分登入時才適用。此選項對於 TIER_TYPE 的任何其他值無效。

全域標誌

此命令支援任何全域標誌

範例

設定階層以將物件轉換到 MinIO 部署

以下範例在本機部署上建立一個新的階層,已設定的規則可以使用此階層將物件轉換到單獨的遠端 MinIO 部署。

mc ilm tier add minio myminio WARM-MINIO-TIER --endpoint https://warm-minio.com \
     --access-key ACCESSKEY --secret-key SECRETKEY --bucket mybucket --prefix myprefix/

此命令為 myminio 部署上的 minio 類型的遠端儲存體建立一個名為 WARM-MINIO-TIER 的新階層。

  • 遠端 MinIO 儲存體位於 https://warm-minio.com

  • 此命令包含具有對儲存貯體和前綴的讀取、寫入、列表和刪除權限的使用者認證。

  • 此階層將物件轉換到遠端 MinIO 儲存體上的 mybucket 儲存貯體和 myprefix 前綴。

設定階層以將物件轉換到 Azure Blob 儲存位置

以下範例在本機部署上建立一個新的階層,已設定的規則可以使用此階層將物件轉換到 Azure Blob 儲存體。

mc ilm tier add azure myminio AZTIER --account-name ACCOUNT-NAME --account-key ACCOUNT-KEY \
     --bucket myazurebucket --prefix myazureprefix/

此命令為 myminio 部署上的 azure 類型的遠端儲存體建立一個名為 AZTIER 的新階層。

  • 遠端 Azure 儲存體可透過提供的帳戶名稱和金鑰存取。

  • 此階層將物件轉換到 Azure 儲存體上的 myazurebucket 儲存貯體和 myazureprefix 前綴。

設定階層以將物件轉換到 Google Cloud Storage

以下範例在本機部署上建立一個新的階層,已設定的規則可以使用此階層將物件轉換到 Google Cloud Storage。

 mc ilm tier add gcs myminio GCSTIER --credentials-file /path/to/credentials.json \
     --bucket mygcsbucket  --prefix mygcsprefix/

此命令為 myminio 部署上的 gcs 類型的遠端儲存體建立一個名為 GCSTIER 的新階層。

  • 遠端 GCS 儲存體可透過提供的認證檔案存取。

  • 此階層將物件轉換到 GCS 儲存體上的 mygcsbucket 儲存貯體和 mygcsprefix 前綴。

設定階層以將物件轉換到 Amazon Simple Storage Service (S3)

以下範例在本機部署上建立一個新的階層,已設定的規則可以使用此階層將物件轉換到 S3 上的標準儲存體。

 mc ilm tier add s3 myminio S3TIER --endpoint https://s3.amazonaws.com \
     --access-key ACCESSKEY --secret-key SECRETKEY --bucket mys3bucket --prefix mys3prefix/ \
     --storage-class "STANDARD" --region us-west-2

此命令為 myminio 部署上的 s3 類型的遠端儲存體建立一個名為 S3TIER 的新階層。

  • S3 儲存體位於提供的端點。

  • 遠端 S3 儲存體可透過提供的存取金鑰和密碼金鑰存取。

  • 此階層將物件轉換到 GCS 儲存體上的 mys3bucket 儲存貯體和 mys3prefix 前綴。

  • 此階層利用位於 us-west-2 S3 區域的 S3 STANDARD 儲存類別。

S3 相容性

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

MinIO 不保證其他與 S3 相容的服務,因為它們的 S3 API 實作未知,因此不受支援。雖然 mc 命令 _可能_ 會如文件所述運作,但任何此類使用風險自負。

必要權限

如需新增階層所需的權限,請參閱父命令上的必要權限