中文文档

mc ilm tier add

在 RELEASE.2022-12-24T15-21-38Z 版本发生变更: mc ilm tier add 取代了 mc admin tier add .

描述

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

语法

以下示例在 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^]            \
                [--account-name value^]      \
                [--account-key value^]       \
                [--credentials-file value^]  \
                [--prefix value]             \
                [--storage-class value]

注意: 每个支持的存储供应商使用不同的身份验证方法。 身份验证所需的标志因存储供应商而异。 请参阅以下 TIER_TYPE 下的详细信息。

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

  • 参数在同一行表示它们是相互依赖的。

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

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

参数

该命令接受以下参数:

TIER_TYPE
Required

MinIO 对象过渡到的云服务提供商存储后端(层级)。 指定以下支持值中的 一个

minio

使用远程 MinIO 部署作为新层的数据存储后端。

这也需要指定以下参数:

s3

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

这也需要指定以下参数:

azure

使用 Azure Blob Storage 作为新层的数据存储后端。

这也需要指定以下参数:

gcs

使用 GCP 作为新层的数据存储后端。

还需要指定以下参数:

TARGET
Required

配置好的 MinIO 部署上的 alias 命令,用于创建新的远程 tier。 然后,您可以使用 mc ilm rule add 命令创建新规则,指定新的远程 tier。

TIER_NAME
Required

为新远程 tier 指定的名称。 这个名称 必须 在 MinIO 集群中所有配置的 tier 中是唯一的。

必须 使用大写字母指定层,例如 WARM_TIER

--endpoint
Optional

S3 或 MinIO 存储的 URL 端点。 URL 端点 必须 解析到通过 TIER_TYPE 指定的提供商。

对于 s3minio 层类型是必需的,对于 azure 是可选的。 对于 TIER_TYPE 的任何其他值,此选项均无效。

--access-key
Optional

对于远程 S3minio 层类型,这是用户的访问密钥。 用户必须有权限对远程桶或桶前缀执行读取/写入/列表/删除操作。

如果 TIER_TYPEs3minio ,则这是必需的。 对于 TIER_TYPE 的任何其他值,此选项均无效。

--secret-key
Optional

对于远程 s3minio 层类型的用户,这是秘密密钥。

如果 TIER_TYPEs3minio ,则这是必需的。 对于 TIER_TYPE 的任何其他值,此选项均无效。

--account-name
Optional

要作为远程存储资源使用的 Azure 文档中的 存储账户 <storage/common/storage-account-overview>

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

MinIO 不支持 更改与 Azure 远程层关联的存储账户名称。 Azure 存储后端与存储账户绑定,因此更改此值将更改存储后端,并阻止访问任何已转移到原始账户/后端的对象。

--account-key
Optional

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

账户密钥必须有一个分配了所需 权限 权限的 Azure 策略。

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

--credentials-file
Optional

远程 Google Cloud Storage 层上用户的 credential file。 用户必须有权限对远程桶或桶前缀执行读取/写入/列表/删除操作。

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

--bucket
Required

MinIO 过渡对象的远程层上的存储桶。

对于 azure 远程层,这个值对应于 Container name

--prefix
Optional

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

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

--storage-class
Optional

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

MinIO 用于过渡到远程存储桶对象的存储类别。 MinIO 的分层行为取决于远程存储在请求后立即(毫秒到秒)返回对象。 因此,MinIO 不能 支持需要重新加湿、等待期或手动干预的远程存储。

选择与 TIER_TYPE 对应的标签,以查看每个层支持的价值列表:

  • STANDARD Recommended

  • REDUCED

更多信息,请参阅 Erasure Coding(纠删码) storage class.

  • STANDARD

  • STANDARD-IA

  • ONEZONE-IA

更多信息,请参阅 Using Amazon S3 storage classes.

  • STANDARD

  • NEARLINE

  • COLDLINE

更多信息,请参阅 GCS storage class.

  • Hot

  • Cool

更多信息,请参阅 Azure 文档中的 Blob 数据的热、冷和归档访问层

如果省略,对象将使用为远程存储桶定义的默认存储类别。

--region
Optional

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

此选项仅当 TIER_TYPEs3minio 时适用。 对于 TIER_TYPE 的任何其他值,此选项均无效。

--use-aws-role
Optional

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

此选项仅当 TIER_TYPEs3minio 时适用。 对于 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 Storage。

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

此命令在 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 命令 可能 如文档中所 述工作,但任何此类使用都是您自己的风险。

所需权限

要添加层所需的权限,请参阅父命令上的 required permissions

Join Slack 商业支持购买咨询