文档

mc ilm tier add

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

描述

The 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 部署上的生命周期管理规则可以使用新分层将对象过渡到远程位置的 mybucket 存储桶中的 myprefix/ 前缀。

该命令具有以下语法

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

  • 方括号 [] 表示可选参数。

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

  • 使用管道 | 运算符分隔的参数是相互排斥的。

将示例复制到文本编辑器,并在终端/shell 中运行命令之前根据需要进行修改。

参数

该命令接受以下参数

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

--account-name 关联的远程 Azure 分层对应的共享帐户密钥。

帐户密钥必须具有分配的 Azure 策略,该策略具有必需的 权限

如果 TIER_TYPEazure,则为必需。此选项对 TIER_TYPE 的任何其他值无效。

--credentials-file
可选

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

如果 TIER_TYPEgcs,则为必需。此选项对 TIER_TYPE 的任何其他值无效。

--bucket
必需

远程分层上的存储桶,MinIO 将对象过渡到该存储桶。

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

--prefix
可选

指定 --bucket 的前缀路径,MinIO 将对象过渡到该路径。

省略此字段以将对象过渡到存储桶根目录。

--storage-class
可选

MinIO 应用于过渡到远程存储桶的对象的存储类别(对于 Microsoft Azure 为“访问层”)。

应用于 MinIO 过渡到远程存储桶的对象的存储类别。MinIO 分层行为取决于远程存储在请求时立即返回对象(毫秒到秒)。因此,MinIO**不支持**需要重新水化、等待时间或人工干预的远程存储。

选择与 TIER_TYPE 对应的选项卡,以获取每个分层的支持值的列表

  • STANDARD *推荐*

  • REDUCED

有关更多信息,请参阅 擦除编码存储类别

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

此命令创建一个名为 WARM-MINIO-TIER 的新层,用于在 myminio 部署上的 minio 类型的远程存储。

  • 远程 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/

此命令创建一个名为 AZTIER 的新层,用于在 myminio 部署上的 azure 类型的远程存储。

  • 远程 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/

此命令创建一个名为 GCSTIER 的新层,用于在 myminio 部署上的 gcs 类型的远程存储。

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

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

配置一个将对象转换到 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

此命令创建一个名为 S3TIER 的新层,用于在 myminio 部署上的 s3 类型的远程存储。

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

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

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

  • 该层使用位于 us-west-2 S3 区域的 S3 STANDARD 存储类。

S3 兼容性

mc 命令行工具是为与 AWS S3 API 兼容而构建的,并与 MinIO 和 AWS S3 一起测试,以确保预期功能和行为。

MinIO 不对其他与 S3 兼容的服务提供任何保证,因为它们的 S3 API 实现未知,因此不受支持。虽然 mc 命令可能按文档工作,但任何此类使用都是您自己的风险。

所需权限

有关添加层所需的权限,请参阅父命令的 所需权限