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
指定的提供商。对于
s3
或minio
层类型是必需的,对于azure
是可选的。 对于TIER_TYPE
的任何其他值,此选项均无效。
- --access-key
- Optional
对于远程
S3
或minio
层类型,这是用户的访问密钥。 用户必须有权限对远程桶或桶前缀执行读取/写入/列表/删除操作。如果
TIER_TYPE
是s3
或minio
,则这是必需的。 对于TIER_TYPE
的任何其他值,此选项均无效。
- --secret-key
- Optional
对于远程
s3
或minio
层类型的用户,这是秘密密钥。如果
TIER_TYPE
是s3
或minio
,则这是必需的。 对于TIER_TYPE
的任何其他值,此选项均无效。
- --account-name
- Optional
要作为远程存储资源使用的 Azure 文档中的 存储账户 <storage/common/storage-account-overview>。
如果
TIER_TYPE
是azure
,则这是必需的。 对于TIER_TYPE
的任何其他值,此选项均无效。MinIO 不支持 更改与 Azure 远程层关联的存储账户名称。 Azure 存储后端与存储账户绑定,因此更改此值将更改存储后端,并阻止访问任何已转移到原始账户/后端的对象。
- --account-key
- Optional
对于与远程 Azure 层关联的
--account-name
,相应的共享账户密钥。账户密钥必须有一个分配了所需 权限 权限的 Azure 策略。
如果
TIER_TYPE
是azure
,则这是必需的。 对于TIER_TYPE
的任何其他值,此选项均无效。
- --credentials-file
- Optional
远程 Google Cloud Storage 层上用户的 credential file。 用户必须有权限对远程桶或桶前缀执行读取/写入/列表/删除操作。
如果
TIER_TYPE
是gcs
,则需要。 对于TIER_TYPE
的任何其他值,此选项均无效。
- --bucket
- Required
MinIO 过渡对象的远程层上的存储桶。
对于
azure
远程层,这个值对应于 Container name。
- --prefix
- Optional
指定
--bucket
的前缀路径,MinIO 将对象过渡到该路径。省略此字段,将对象过渡到存储桶的根目录。
- --storage-class
- Optional
MinIO 应用于过渡到远程存储桶的对象的存储类别(对于 Microsoft Azure 来说是“访问层”)。
MinIO 用于过渡到远程存储桶对象的存储类别。 MinIO 的分层行为取决于远程存储在请求后立即(毫秒到秒)返回对象。 因此,MinIO 不能 支持需要重新加湿、等待期或手动干预的远程存储。
选择与
TIER_TYPE
对应的标签,以查看每个层支持的价值列表:STANDARD
RecommendedREDUCED
更多信息,请参阅 Erasure Coding(纠删码) storage class.
STANDARD
STANDARD-IA
ONEZONE-IA
更多信息,请参阅 Using Amazon S3 storage classes.
STANDARD
NEARLINE
COLDLINE
更多信息,请参阅 GCS storage class.
Hot
Cool
更多信息,请参阅 Azure 文档中的 Blob 数据的热、冷和归档访问层。
如果省略,对象将使用为远程存储桶定义的默认存储类别。
全局标记
此命令支持任何 全局标志。
示例
配置层以将对象过渡到 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。