Skip to main content

从v1.1或更早版本升级服务器

important

如果您的服务器是v0.15或更早版本,您必须首先完成v0.16升级程序,并在成功完成后继续此处。

在v1.2版本中,ClearML Server的MongoDB子系统已从3.6版本升级到4.4版本。这一变化需要对数据库内容进行迁移,以确保与新版本兼容。

Kubernetes installations

ClearML的helm chart已经在运行 mongodb版本4.4。如果您的ClearML服务器已使用此chart部署(使用默认的mongodb bitnami chart)- 您可以停止阅读,因为不需要迁移。

迁移过程包括以下内容:

  • 备份您的数据
  • 创建数据的副本,该副本将用于迁移到新版本
  • 顺序运行MongoDB的数据迁移:3.6->4.0, 4.0->4.2, 4.0->4.4

在过程结束时,您的数据将可在新位置使用,准备与ClearML Server v1.2一起使用。

一旦ClearML Server v1.2启动并运行,并且您确认数据完好无损,您可以安全地删除旧的数据副本。

先决条件

  • 默认ClearML Server数据目录/opt/clearml/data及其子目录的读写权限,或者如果使用了不同的位置,则为该目录及其子目录的权限。
  • 最小可用磁盘空间至少为数据大小的三倍。
  • Python 版本 >=2.7 或 >=3.6,并且可以从命令行访问 Python 作为 python

开始之前

为了避免数据损坏,在应用迁移程序之前请关闭您的ClearML服务器:

  • Linux 和 macOS

    docker-compose -f /opt/clearml/docker-compose.yml down
  • Windows

    docker-compose -f c:\opt\clearml\docker-compose-win10.yml down

迁移数据

通过脚本迁移

提供了一个迁移脚本,可以自动为所有支持的操作系统运行此过程。
下载脚本并在您的ClearML服务器上运行它。 运行clearml-server-1.2.0-migration.py -–help以查看执行选项。
请注意,脚本将在原始目录中创建数据的备份存档。

一旦脚本成功完成,继续您的升级

手动迁移

以下是关于如何将您的ClearML数据从mongodb 3.6迁移到mongodb 4.4的说明。

这些命令是为Linux环境提供的,并假设ClearML已安装在其默认路径中。

如果您使用的是不同的操作系统,请将shell和docker命令替换为适合您操作系统的命令。如果您已将ClearML安装在不同的路径下,请相应地替换文件位置。

  1. 备份源数据文件夹:

    sudo tar -zcf mongodb_upgrade.gz -C /opt/clearml/data/mongo .
  2. 将数据复制到新文件夹并设置权限(在Linux上需要权限):

    sudo mkdir /opt/clearml/data/mongo_4
    sudo tar -xzf mongodb_upgrade.gz -C /opt/clearml/data/mongo_4
    sudo chown -R 1000:1000 /opt/clearml/data/mongo_4
  3. 运行 mongo 4.0 容器:

    sudo docker run -id -v /opt/clearml/data/mongo_4/db:/data/db -v /opt/clearml/data/mongo_4/configdb:/data/configdb --name mongodb_upgrade mongo:4.0.27
  4. 将数据升级到mongo 4.0:

    sudo docker exec mongodb_upgrade bash -c 'mongo --eval "db.adminCommand({setFeatureCompatibilityVersion:\"4.0\"})"'

    此命令应返回一个{ "ok" : 1 }响应。

  5. 停止 mongo 4.0 容器:

    sudo docker stop mongodb_upgrade && sudo docker rm mongodb_upgrade
  6. 运行 mongo 4.2 容器:

    sudo docker run -id -v /opt/clearml/data/mongo_4/db:/data/db -v /opt/clearml/data/mongo_4/configdb:/data/configdb --name mongodb_upgrade mongo:4.2.16
  7. 将数据升级到mongo 4.2:

    sudo docker exec mongodb_upgrade bash -c 'mongo --eval "db.adminCommand({setFeatureCompatibilityVersion:\"4.2\"})"'  

    此命令应返回一个{ "ok" : 1 }响应。

  8. 停止 mongo 4.2 容器:

    sudo docker stop mongodb_upgrade && sudo docker rm mongodb_upgrade
  9. 运行 mongo 4.4 容器:

    sudo docker run -id -v /opt/clearml/data/mongo_4/db:/data/db -v /opt/clearml/data/mongo_4/configdb:/data/configdb --name mongodb_upgrade mongo:4.4.9
  10. 将数据升级到MongoDB 4.4:

    sudo docker exec mongodb_upgrade bash -c 'mongo --eval "db.adminCommand({setFeatureCompatibilityVersion:\"4.4\"})"'   

    此命令应返回一个{ "ok" : 1 }响应。

  11. 停止 mongo 4.4:

    sudo docker stop mongodb_upgrade && sudo docker rm mongodb_upgrade

完成安装

继续升级您的ClearML服务器: