文档基于2025-10-10日社区最终版构建     
切换到英文版    进入演示系统    进入交流社区

MinIO Documentation

mc ilm tier add

在版本 RELEASE.2022-12-24T15-21-38Z 中的变更:mc ilm tier add替换mc admin tier add.

描述

Themc ilm tier add该命令为支持的存储服务创建新的远程存储层。

Object Transition完整列表。

支持的 S3 服务

mc ilm tier add支持以下S3兼容服务可作为对象分层远程目标:

  • MinIO

  • Amazon S3

  • Google Cloud Storage

  • Azure Blob Storage

权限

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"
      }
   ]
}

语法

以下示例创建了一个名为WARM-MINIO-TIERmyminiodeployment. 该命令为位于主机名的远程 MinIO deployment 创建一个层级。https://warm-minio.com.

 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/prefix in themybucketbucket.

该命令具有以下语法:

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]

^注意:Each supported storage vendor authenticates with different methods. The flags to use for authentication vary by storage vendor. See details under 每个支持的存储供应商使用不同的身份验证方法。 用于身份验证的标志因存储供应商而异。 详细信息请参见下方TIER_TYPE以下。

  • Brackets[]表示可选参数。

  • 共享同一行的参数是相互依赖的。

  • 使用竖线分隔的参数|操作符是互斥的。

将示例复制到文本编辑器中,根据需要修改,然后在终端/Shell中运行命令。

参数

该命令接受以下参数:

TIER_TYPE
必需

MinIO 将对象转换到的云服务提供商存储后端(“层级”)。 指定以下支持的值:

minio

使用远程 MinIO 部署作为新存储层(Tier)的后端存储。

还需要指定以下参数:

s3

使用 AWS S3 作为新分层的存储后端。

还需要指定以下参数:

azure

使用Azure将 Blob Storage 作为新层级的存储后端。

还需要指定以下参数:

gcs

使用GCPCloud Storage 作为新分层的存储后端。

还需要指定以下参数:

TARGET
必需

Thealias在已配置的 MinIO 部署上,该命令将创建新的远程层级。 然后您可以使用以下命令创建新规则:mc ilm rule add指定新的远程层。

TIER_NAME
必需

要与新远程层级关联的名称。 名称必须在所有配置的 MinIO 集群层级中必须是唯一的。

你好必须指定级别时请使用全大写字母,例如WARM_TIER.

--endpoint
可选

S3 或 MinIO 存储的 URL 端点。 URL 端点必须解析到指定的提供程序TIER_TYPE.

必需s3 or minio层级类型,可选用于azure此选项对其他任何值均无效TIER_TYPE.

--access-key
可选

远程用户的访问密钥S3 or miniotier types. 用户必须具有对远程存储桶或存储桶前缀执行读/写/列出/删除操作的权限。

如果必需TIER_TYPE is s3 or minio此选项对其他任何值均无效TIER_TYPE.

--secret-key
可选

远程用户的密钥s3 or minio层级类型。

如果必需TIER_TYPE is s3 or minio此选项对其他任何值均无效TIER_TYPE.

--account-name
可选

The存储账户用作远程存储资源。

如果必需TIER_TYPE is azure此选项对其他任何值均无效TIER_TYPE.

MinIO 确实支持更改与 Azure 远程层级关联的存储帐户名称。 Azure 存储后端与存储帐户绑定,更改此值将变更存储后端,导致无法访问已转移到原始帐户/后端的任何对象。

--account-key
可选

对应的共享账户密钥为--account-name与远程 Azure 层级相关联。

账户密钥必须具有分配了所需权限的 Azure 策略权限.

如果必需TIER_TYPE is azure此选项对其他任何值均无效TIER_TYPE.

--credentials-file
可选

The凭据文件对于远程 Google Cloud Storage 层级上的用户。 该用户必须拥有对远程存储桶或存储桶前缀执行读/写/列表/删除操作的权限。

如果必需TIER_TYPE is gcs此选项对其他任何值均无效TIER_TYPE.

--bucket
必需

远程层级上 MinIO 转移对象的目标存储桶。

对于azure远程层级,此值对应于容器名称

--prefix
可选

指定路径的前缀--bucketMinIO 将对象转换到的目标存储层。

省略此字段可将对象转移到存储桶根目录。

--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
可选

指定存储桶的 S3 后端区域TIER_TYPE,例如us-west-1.

此选项仅在以下情况下适用:TIER_TYPE is s3 or minio此选项对其他任何值均无效TIER_TYPE.

--use-aws-role
可选

使用本地配置的访问权限AWS Role.

此选项仅在以下情况下适用:TIER_TYPE is s3 or minio此选项对其他任何值均无效TIER_TYPE.

--aws-role-arn
可选

用于转换对象时使用的 AWS S3 角色名称。

此选项仅在以下情况下适用:TIER_TYPE is s3 源是一个在Amazon EKS上的MinIO Pod。

--aws-web-identity-file
可选

指定在转换对象时要使用的 web identity token 文件。

此选项仅在以下情况下适用:TIER_TYPE is s3 源是一个在Amazon EKS上的MinIO Pod。

--azure-sp-tenant-id
可选

租户 ID服务主体帐户用于登录 Azure 存储。

此选项仅在以下情况下适用:TIER_TYPE is azure并且您使用服务主体身份登录。 此选项对其他任何值均无效。TIER_TYPE.

--azure-sp-client-id
可选

客户端 ID服务主体帐户用于登录 Azure 存储。

此选项仅在以下情况下适用:TIER_TYPE is azure并且您使用服务主体身份登录。 此选项对其他任何值均无效。TIER_TYPE.

--azure-sp-client-secret
可选

客户端的密钥服务主体帐户用于登录 Azure 存储。

此选项仅在以下情况下适用:TIER_TYPE is azure并且您使用服务主体身份登录。 此选项对其他任何值均无效。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/

此命令创建一个名为WARM-MINIO-TIERfor aminio远程存储的类型myminio部署。

  • 远程 MinIO 存储位于https://warm-minio.com.

  • 该命令包含具有对存储桶和前缀的读取、写入、列出和删除权限的用户凭据。

  • 该层级将对象转换到mybucket桶和myprefix远程 MinIO 存储上的前缀。

配置一个层级以将对象过渡到 Azure Blob 存储位置

以下示例在本地部署上创建一个新层级,配置的规则可以使用该层级将对象过渡到 Azure Blob Storage。

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

此命令创建一个名为AZTIER对于azure远程存储的类型myminio部署。

  • 远程 Azure 存储通过提供的账户名称和密钥进行访问。

  • 该层级将对象转换到myazurebucket桶和myazureprefixAzure 存储上的前缀。

配置一个层级将对象过渡到 Google Cloud Storage

以下示例在本地部署上创建一个新的层级,配置的规则可以使用该层级将对象过渡到 Google Cloud Storage。

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

此命令创建一个名为GCSTIERfor agcs远程存储的类型myminio部署。

  • 远程 GCS 存储通过提供的凭据文件进行访问。

  • 该层级将对象转换到mygcsbucket桶和mygcsprefixGCS存储上的前缀。

配置一个层级以将对象转换到 Amazon Simple Storage Service (S3)

以下示例在本地部署上创建一个新的存储层,配置的规则可以使用该存储层将对象转换到 S3 上的 STANDARD 存储类型。

 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

此命令创建一个名为S3TIERfor as3远程存储的类型myminio部署。

  • S3存储位于提供的端点处。

  • 远程 S3 存储通过提供的访问密钥和密钥进行访问。

  • 该层级将对象转换到mys3bucket桶和mys3prefixGCS存储上的前缀。

  • 该层级利用了 S3STANDARDstorage class 位于us-west-2S3 区域。

S3 Compatibility

Themc命令行工具专为兼容 AWS S3 API 而构建,并已通过 MinIO 和 AWS S3 测试,确保功能与行为符合预期。

MinIO 不提供对其他 S3 兼容服务的保证,因为它们的 S3 API 实现方式未知,因此不受支持。尽管mc命令可能按文档所述工作,任何此类使用风险自负。

所需权限

要添加层级所需的权限,请参阅所需权限在父命令上。