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
创建新规则,并指定新远程分层。
- --endpoint
- 可选
S3 或 MinIO 存储的 URL 端点。URL 端点**必须**解析为指定给
TIER_TYPE
的提供商。对于
s3
或minio
分层类型是必需的,对于azure
是可选的。此选项对TIER_TYPE
的任何其他值无效。
- --access-key
- 可选
远程
S3
或minio
分层类型上用户的访问密钥。该用户必须具有在远程存储桶或存储桶前缀上执行读/写/列表/删除操作的权限。如果
TIER_TYPE
是s3
或minio
,则为必需。此选项对TIER_TYPE
的任何其他值无效。
- --secret-key
- 可选
远程
s3
或minio
分层类型上用户的密钥。如果
TIER_TYPE
是s3
或minio
,则为必需。此选项对TIER_TYPE
的任何其他值无效。
- --account-name
- 可选
用作远程存储资源的 存储帐户。
如果
TIER_TYPE
是azure
,则为必需。此选项对TIER_TYPE
的任何其他值无效。MinIO**不支持**更改与 Azure 远程分层关联的存储帐户名称。Azure 存储后端与存储帐户绑定,因此更改此值会更改存储后端,并阻止访问过渡到原始帐户/后端的任何对象。
- --account-key
- 可选
与
--account-name
关联的远程 Azure 分层对应的共享帐户密钥。帐户密钥必须具有分配的 Azure 策略,该策略具有必需的 权限。
如果
TIER_TYPE
是azure
,则为必需。此选项对TIER_TYPE
的任何其他值无效。
- --credentials-file
- 可选
远程 Google Cloud Storage 分层上用户的 凭据文件。该用户必须具有在远程存储桶或存储桶前缀上执行读/写/列表/删除操作的权限。
如果
TIER_TYPE
是gcs
,则为必需。此选项对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_TYPE
为s3
或minio
时适用。此选项对TIER_TYPE
的任何其他值无效。
- --aws-role-arn
- 可选
在转换对象时使用的 AWS S3 角色名称。
此选项仅适用于
TIER_TYPE
为s3
且 源为 Amazon EKS 上的 MinIO Pod 的情况。
- --aws-web-identity-file
- 可选
指定在转换对象时使用的 Web 身份令牌文件。
此选项仅适用于
TIER_TYPE
为s3
且 源为 Amazon EKS 上的 MinIO Pod 的情况。
- --azure-sp-tenant-id
- 可选
用于登录 Azure 存储的 服务主体帐户 的租户 ID。
此选项仅适用于
TIER_TYPE
为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-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 区域的 S3STANDARD
存储类。
S3 兼容性
mc 命令行工具是为与 AWS S3 API 兼容而构建的,并与 MinIO 和 AWS S3 一起测试,以确保预期功能和行为。
MinIO 不对其他与 S3 兼容的服务提供任何保证,因为它们的 S3 API 实现未知,因此不受支持。虽然 mc 命令可能按文档工作,但任何此类使用都是您自己的风险。
所需权限
有关添加层所需的权限,请参阅父命令的 所需权限。