文档基于2025-10-10日社区最终版构建     
切换到英文版    进入演示系统    进入交流社区

MinIO Documentation

从网关或文件系统模式迁移

背景

MinIO Gateway 和相关的文件系统模式于 2020 年 7 月进入功能冻结状态。 2022 年 2 月,MinIO 宣布MinIO Gateway 的弃用在宣布弃用的同时,MinIO还宣布该功能将在六个月内被移除。

截至RELEASE.2022-10-29T06-21-33ZMinIO Gateway 及相关文件系统模式代码已被移除。 仍在使用的部署独立 or 文件系统升级到 MinIO Server 的 MinIO 模式RELEASE.2022-10-29T06-21-33Z或者在尝试启动 MinIO 时收到错误。

概述

升级到RELEASE.2022-10-29T06-21-33Z或更高版本,那些正在使用独立 or 文件系统部署模式必须创建一个新的单节点单驱动器部署并将设置和内容迁移到新部署。

本文档概述了成功启动并迁移至新部署所需的步骤。

重要

Standalone/file system mode continues to work on any release up to and including MinIO ServerRELEASE.2022-10-24T18-35-07Z要继续使用独立部署,请使用 MinIO Client 安装该 MinIO Server 版本。RELEASE.2022-10-29T10-09-23Z或任何早期版本及其对应的 MinIO Client。请注意,MinIO Client 的版本应较新,并尽可能接近 MinIO 服务器的版本。

Filesystem mode deployments must be on at leastRELEASE.2022-06-25T15-50-16Z要使用 MinIO Client 的导入和导出命令。 文件系统模式部署(包括及以下版本)RELEASE.2022-06-20T23-13-45Z可以通过在新部署中手动重新创建用户、策略、存储桶和其他资源来完成迁移。

过程

Note

您可以通过环境变量和以下方式设置 MinIO 配置设置:mc admin config set根据您当前的部署设置,您可能需要同时获取这两个值。

您可以使用以下命令检查任何运行时设置:env | grep MINIO_或者,对于使用 MinIO 的 systemd 服务的部署,请检查/etc/default/minio.

  1. 对于文件系统模式部署:

    如果需要,升级现有部署。

    可接受的最旧版本为:

    可接受的最新版本为:

  2. 创建一个新的单节点单驱动器MinIO部署。

    关注我们安装说明为您的操作系统选择并配置安装为单节点单驱动器(SNSD)拓扑。

    部署位置可以是您选择的存储介质上的任意空文件夹。 只要现有部署不在驱动器根目录下,同一驱动器上的新文件夹就可以用于新部署。 如果现有独立系统指向驱动器根目录,则必须为新的部署使用单独的驱动器。

    如果新旧部署在同一主机上:

    • 将新部署安装到与现有部署不同的路径。

    • 将新部署的控制台和API端口设置为与现有部署不同的端口。

      以下命令行选项在启动时设置端口:

    • 对于由管理的部署systemd:

      • 复制现有的/etc/default/minio具有唯一名称的环境文件。

      • 在新部署的服务文件中,更新EnvironmentFile引用新的环境文件。

    以下步骤使用mc来自两个部署的命令行工具。现有 MinIO 客户端 is mc从旧部署中。新的 MinIO 客户端 is mc来自新部署。

  3. 为前一步创建的部署添加别名mc alias set以及新的 MinIO Client。

    mc alias set NEWALIAS PATH ACCESSKEY SECRETKEY
    
    • 使用新的 MinIO 客户端。

    • 替换NEWALIAS要为部署创建的别名。

    • 替换PATH使用新部署的 IP 地址或主机名和端口。

    • 替换ACCESSKEYSECRETKEY使用您创建新部署时所用的凭据。

  4. 根据部署类型迁移设置:

    • MinIO Gateway 是一种无状态代理服务,可为多种后端存储系统提供 S3 API 兼容性。

    • 文件系统模式部署为单个 MinIO 服务器进程和单个存储卷提供 S3 访问层。

    迁移配置设置:

    如果您的部署使用环境变量对于配置设置,请从现有部署中复制环境变量/etc/default/minio将文件复制到新部署中的同一文件。 您可以省略任何MINIO_CACHE_*MINIO_GATEWAY_SSE环境变量,因为这些不再使用。

    如果你使用mc admin config set对于配置设置,请使用新的 MinIO 客户端为新部署复制现有设置。

    Note

    以下文件系统模式步骤假设现有的 MinIO 客户端支持所需的导出命令。 如果不支持,请使用新的 MinIO 客户端在新部署上手动重新创建用户、策略、生命周期规则和存储桶。

    1. 导出现有部署的配置.

      使用mc admin config export使用现有的 MinIO Client 命令来检索为现有独立 MinIO 部署定义的配置。

      mc admin config export ALIAS > config.txt
      
      • 使用现有的 MinIO Client。

      • 替换ALIAS使用您从中检索值的现有独立部署的别名。

    2. 导入配置从现有的独立部署迁移到使用新 MinIO 客户端的新部署。

      mc admin config import ALIAS < config.txt
      
      • 使用新的 MinIO 客户端。

      • 替换ALIAS使用新部署的别名。

      If import报告配置键错误时,使用注释将其禁用#在相关行的开头重试。 完成部署迁移后,请验证目标MinIO服务器版本的当前语法,并使用手动设置所有必需的密钥mc admin config set.

    3. 使用新的 MinIO 客户端重新启动服务器以完成新部署。

      mc admin service restart ALIAS
      
      • 使用新的 MinIO 客户端。

      • 替换ALIAS使用新部署的别名。

    4. 导出bucket metadata从现有的独立部署和现有的 MinIO Client 开始。

      以下命令将存储桶元数据从现有部署导出到.zipfile.

      数据包括:

      • 存储桶目标

      • 生命周期规则

      • 通知

      • 配额

      • 版本控制

      导出仅包含存储桶元数据。 此命令不会从现有部署中导出对象。

      mc admin cluster bucket export ALIAS
      
      • 使用现有的 MinIO Client。

      • 替换ALIAS使用您现有部署的别名。

      这个命令会创建一个cluster-metadata.zip每个存储桶的元数据文件。

    5. 导入bucket metadata到使用新的 MinIO Client 进行新部署。

      以下命令读取导出存储桶的内容.zip文件并在新部署上创建具有相同配置的存储桶。

      mc admin cluster bucket import ALIAS cluster-metadata.zip
      
      • 使用新的 MinIO 客户端。

      • 替换ALIAS使用新部署的别名。

      该命令会在新部署上创建存储桶,其配置与现有部署的 .zip 文件中的元数据所提供的配置相同。

    6. 导出IAM设置从现有的独立部署迁移到使用现有 MinIO 客户端的新部署。

      如果您正在使用外部身份和访问管理提供商,请在新部署中重新创建这些设置以及所有关联策略。

      使用以下命令从现有部署中导出IAM设置。 该命令将导出:

      • 组和组映射

      • STS用户和STS用户映射

      • 政策

      • 用户和用户映射

      mc admin cluster iam export ALIAS
      
      • 使用现有的 MinIO Client。

      • 替换ALIAS使用您现有部署的别名。

      这个命令会创建一个ALIAS-iam-info.zip包含IAM数据的文件。

    7. 导入IAM设置到使用新的 MinIO Client 进行新部署。

      使用导出的文件在新部署中创建IAM设置。

      mc admin cluster iam import ALIAS alias-iam-info.zip
      
      • 使用新的 MinIO 客户端。

      • 替换ALIAS使用新部署的别名。

      • 将 zip 文件的名称替换为现有部署文件的名称。

  5. 迁移存储桶内容与mc mirror.

    使用mc mirror随着--preserve--watch独立部署上的标志,用于将对象移动到新的位置SNSD使用现有的 MinIO Client 进行部署

    mc mirror --preserve --watch SOURCE/BUCKET TARGET/BUCKET
    
    • 使用现有的 MinIO Client。

    • 替换SOURCE/BUCKET使用别名和现有独立部署的存储桶。

    • 替换TARGET/BUCKET使用新部署的别名和对应的存储桶。

  6. 停止从任何 S3 或 POSIX 客户端向独立部署执行写入操作。

  7. 等待mc mirror完成所有存储桶的任何剩余操作。

  8. 停止两个部署的服务器。

  9. 使用先前独立部署所用的端口重新启动新的 MinIO 部署。

    确保应用所有环境变量和运行时配置设置,并验证新部署的行为。