Skip to main content

从 v1 升级至 v2

未自定义使用外部对象存储

针对未自定义使用外部对象存储的 file v1 环境,先检查 file v1 数据目录下的 .minio.sys/format.json 文件,如 format 字段中含 xlxl-single,就可以参考平滑更新的方式升级,否则就需要通过迁移更新形式进行版本升级。

平滑更新

  1. 先停止 file v1 服务

  2. 重命名 /data/file 目录为 /data/minio (实际路径注意修改)

  3. 参考 minio 部署文档,部署 minio 服务

    • 本质上就是:部署的新 minio 服务,minio 服务复用 file v1 的数据
  4. 部署 file v2 服务使用 minio 对象存储

迁移更新

  1. 参考 minio 部署文档,部署 minio 服务

  2. 进入 minio 容器(如是集群,进入任意一容器即可)

  3. 配置老 file 服务与新 minio 服务连接信息

    mc alias set minio_old  http://10.206.0.6:9001 storage RjfxxxxxxxxxihTkE
    mc alias set minio_new http://10.206.0.6:9011 mingdao T7RxxxxxxxxxxdRky
  4. 给 minio 创建四个 bucket

    mc mb minio_new/mdmedia
    mc mb minio_new/mdoc
    mc mb minio_new/mdpic
    mc mb minio_new/mdpub
  5. 同步 file 服务中的数据到 minio 中

    mc mirror minio_old/mdmedia minio_new/mdmedia
    mc mirror minio_old/mdoc minio_new/mdoc
    mc mirror minio_old/mdpic minio_new/mdpic
    mc mirror minio_old/mdpub minio_new/mdpub
    • 如遇无法迁移的相关错误,可以添加 --watch 参数忽视错误继续执行迁移,如:mc mirror --watch minio_old/mdmedia minio_new/mdmedia

    • 一般情况下不需要使用 watch 参数,除非遇到某些文件无法导出,在遇到无法导出问题时请做好记录并联系技术支持

  6. 迁移完成后部署 file v2 服务使用 minio 对象存储

自定义了使用外部对象存储

针对在 file v1 版本中已经自定义了使用外部对象存储环境,升级到 file v2 版本过程就简单许多,整体步骤如下:

  1. 下载 file v2 版本的镜像

  2. 修改源 file.yaml 文件,将 images 版本号指定为 v2 的镜像版本号

  3. 修改源 file.yaml 文件,将 MINIO_ACCESS_KEYMINIO_SECRET_KEY 变量名称,对应改为 ENV_ACCESS_KEY_FILEENV_SECRET_KEY_FILE,变量值无需改动

    • MINIO_ACCESS_KEY --> ENV_ACCESS_KEY_FILE

    • MINIO_SECRET_KEY --> ENV_SECRET_KEY_FILE

  4. 重启 file 服务