欢迎来到即将发布的 MinIO 文档版本! 此页面上的内容正在积极开发中 可能随时更改。 如果找不到您要找的内容,请查看我们的 历史文档。 感谢您的耐心等待。 我们期待您贡献自己强大的力量,帮助更多的中国技术开发者![翻译]

将对象从 MinIO 过渡到 GCS

此页面上的过程创建了一个新的对象生命周期管理规则 将对象从 MinIO 存储转换到 Google 上的远程存储层 云存储后端。 此过程支持移动旧数据等用例 一定时间后到低成本的公共云存储解决方案或日历日期。

要求 —

安装和配置 mc

此过程使用 mc 用于在 MinIO 集群上执行操作。 安装 mc 在具有对源和目标的网络访问权限的机器上 集群。 见 “mc” Installation Quickstart 为了 有关下载和安装 “mc” 的说明。

使用 mc alias 命令为源 MinIO 集群创建别名。 创建别名需要为源上的用户指定访问密钥,并且 目标集群。 指定的用户必须具有 permissions 用于配置和 应用过渡操作。

所需的 MinIO 权限

MinIO 需要以下权限范围为一个或多个存储 您正在为其创建生命周期管理规则。

MinIO 还需要对集群具有以下管理权限 您正在为对象转换生命周期创建远程层 管理规则:

例如,以下策略提供了配置对象的权限 在集群中的任何存储上转换生命周期管理规则:.

{
   "Version": "2012-10-17",
   "Statement": [
      {
            "Action": [
               "admin:SetTier",
               "admin:ListTier"
            ],
            "Effect": "Allow",
            "Sid": "EnableRemoteTierManagement"
      },
      {
            "Action": [
               "s3:PutBucketLifecycle",
               "s3:GetBucketLifecycle"
            ],
            "Resource": [
                        "arn:aws:s3:::*"
            ],
            "Effect": "Allow",
            "Sid": "EnableLifecycleManagementRules"
      }
   ]
}

所需的 GCS 权限

对象转换生命周期管理规则需要额外的权限 远程存储层。 具体来说,MinIO 需要 GCS 凭据提供读取、写入、列表和 删除远程存储的权限。

参考 GCS IAM permissions 有关配置所需的更完整指南的文档权限。

注意事项

生命周期管理对象扫描器

MinIO 使用扫描器进程根据所有已配置的对象检查对象 生命周期管理规则。 由于高 IO 工作负载或 有限的系统资源可能会延迟生命周期管理的应用 规则。 看 生命周期管理对象扫描器 想要查询更多的信息。

独家存储访问

MinIO 保留了所需的最少对象元数据 支持检索转移到远程层的对象。 MinIO 因此 requires 独占访问远程存储层上的数据。 目的 检索假设存储的数据没有外部突变、迁移或删除对象。

MinIO 还会忽略远程存储桶或存储前缀中的任何对象 由 MinIO 明确管理。

程序

1) 为生命周期管理配置用户帐户和策略

此步骤在 MinIO 部署上创建用户和策略以支持 生命周期管理操作。 如果部署,您可以跳过此步骤 已经拥有必要的用户 permissions.

以下示例使用“Alpha”作为占位符 alias 为了 MinIO 部署。 将此值替换为适当的别名 您在其上配置生命周期管理规则的 MinIO 部署。 将密码 “LongRandomSecretKey” 替换为一个长的、随机的、安全的 根据您组织的密码生成最佳实践的密钥。

wget -O - http://docs.minio.org.cn/minio/baremetal/examples/LifecycleManagementAdmin.json | \
mc admin policy add Alpha LifecycleAdminPolicy /dev/stdin
mc admin user add Alpha alphaLifecycleAdmin LongRandomSecretKey
mc admin policy set Alpha LifecycleAdminPolicy user=alphaLifecycleAdmin

此示例假定指定的 别名具有创建策略和用户的必要权限 在部署上。 看 User Management and MinIO Policy Based Access Control 更多 分别关于 MinIO 用户和策略的完整文档。

2) 配置远程存储层

使用 mc admin tier add 命令添加一个新的谷歌云存储 服务作为远程存储层:

mc admin tier add gcs TARGET TIER_NAME \
   --endpoint https://HOSTNAME \
   --bucket BUCKET \
   --prefix PREFIX
   --credentials-file CREDENTIALS \
   --region REGION

上面的示例使用以下参数:

Argument

Description

TARGET

The alias 要在其上配置的 MinIO 部署 这 GCS 远程层。

TIER_NAME

与新关联的名称 GCS 远程存储层。 下一步需要此值。

HOSTNAME

的 URL 端点 GCS 贮存后端。

BUCKET

存储的名称 GCS 贮存 MinIO 将对象转换到的后端。

PREFIX

MinIO 在其中转换对象的可选前缀。 省略此参数以将对象转换为根。

CREDENTIALS

The credential file 为一个

远程 GCS 层上的用户。 指定的用户凭据 must 对应于具有所需的 GCS 用户

permissions.

REGION

The GCS 指定区域 BUCKET。 你可以放心地省略这个 如果 HOSTNAME 包含区域,则为选项。

3) 创建并应用转换规则

使用 mc ilm add 命令创建一个新的转换规则 为桶。 以下选项卡包含转换示例 在日历日期 * or * 数个日历日之后的对象。

mc ilm add ALIAS/BUCKET \
--storage-class TIERNAME \
--transition-date DATE \
--noncurrentversion-transition-date NONCURRENT_DAYS
mc ilm add ALIAS/BUCKET \
--storage-class TIERNAME \
--transition-days DAYS \
--noncurrentversion-transition-days NONCURRENT_DAYS

上面的示例指定了以下参数:

Argument

Description

ALIAS

指定 alias 的 MinIO 部署 您正在创建生命周期管理规则。

BUCKET

指定您所在存储桶的完整路径 创建生命周期管理规则。

TIERNAME

MinIO 将对象转换到的远程存储层。 指定在上一步中创建的远程存储层名称。

DAYS

MinIO 将对象标记为的日历天数 符合过渡条件。

DATE

ISO-8601 格式的日历日期,MinIO 在此日期之后标记对象 作为过渡的资格。

NONCURRENT_DAYS

MinIO 标记为非当前的日历天数 对象版本符合转换条件。 省略这个值 忽略非当前对象版本。

此选项对非版本化存储没有影响。

3) 验证转换规则

使用 mc ilm list 命令查看配置的转换 规则:

mc ilm list ALIAS/PATH --transition
  • 代替 ALIASalias MinIO 部署。

  • 代替 PATH 带有存储的名称 检索配置的生命周期管理规则。