跳到主要内容

通过 Stage 从 Milvus 迁移至 Zilliz Cloud
内测版

Zilliz Cloud 提供了一个内置的 Stage 功能,用于在从 Milvus 迁移数据时临时存储备份数据。借助内置 Stage,用户可以更轻松地完成数据迁移,无需过多关注底层细节,从而显著提升迁移效率与易用性。

该功能简化了多种迁移场景下的操作复杂度,例如:

  • 本地文件迁移时需考虑的备份文件大小限制;

  • 使用云存储桶迁移时对不同云服务商配置的了解需求;

  • 通过 Milvus 实例 Endpoint 迁移时 Zilliz Cloud 对该 Endpoint 的访问权限问题。

📘说明

通过 Stage 迁移当前为内测版功能。如果您对该功能有兴趣、在使用过程中遇到任何问题,或者想要了解与之相关的费用情况,可以联系我们

开始前

  • 您需要拥有组织管理员或项目管理员的角色。如果您没有相应的权限,请联系您的 Zilliz Cloud 管理员。

  • 确保目标集群的 CU 容量足以容纳源数据。要估算所需的 CU 规格,请使用计算器

操作步骤

在如下步骤中,你将使用 Milvus Backup 准备备份文件、上传备份文件至 Zilliz Cloud 内置 Stage、并将内置 Stage 中的数据迁移到指定的 Zilliz Cloud 集群中。

  1. 下载 milvus-backup。推荐下载最新版本。

  2. 在下载的二进制文件所在的同级目录下,创建 configs 文件夹,然后将 backup.yaml 保存到 configs

    此步骤完成后,文件夹的结构应如下所示:

    workspace
    ├── milvus-backup
    └── configs
    └── backup.yaml
  3. 自定义 backup.yaml 配置。

    1. 设置如下配置项:

      • cloud.address

        Zilliz Cloud 控制面访问地址,通常为 https://api.cloud.zilliz.com.cn.

      • cloud.apikey

        一个拥有操作目标 Zilliz Cloud 集群的 API 密钥。更多详情,可参考API 密钥

    2. 检查以下配置项是否正确:

      • milvus.address

      • mivlus.port

      • minio.address

      • minio.port

      • minio.bucketName

      • minio.backupBucketName

      • rootPath

    📘说明

    如果 Milvus 实例是通过 Docker Compose 安装,minio.bucketName 默认为 a-bucketrootPath 默认为 files

    如果 Milvus 实例是通过 Kubernetes 安装,minio.bucketName 默认为 milvus-bucketrootPath 默认为 file

  4. 创建 Milvus 的安装备份。

    ./milvus-backup --config backup.yaml create -n my_backup

    # my_backup 为备份文件的名称。该名称将会用于下一步的迁移命令。
  5. 创建目标 Zilliz Cloud 集群、记录 Cluster ID、然后运行如下命令开始迁移。

    ./milvus-backup migrate --cluster_id inxx-xxxxxxxxxxxxxxx -n my_backup

    # cluster_id 为目标 Zilliz Cloud 集群的 ID。
    # my_backup 为上一步记录的备份文件名称。

    # 命令回显如下:
    # Successfully triggered migration with backup name: my_backup target cluster: inxx-xxxxxxxxxxxxxxx migration job id: job-xxxxxxxxxxxxxxxxxxx.
    # You can check the progress of the migration job in Zilliz Cloud console.

    在执行上述命令时,Milvus Backup 会将上一步准备好的备份文件上传到 Zilliz Cloud 内置 Stage、创建迁移任务、然后返回迁移任务的 ID。

    📘说明

    上传到 Zilliz Cloud 内置 Stage 的备份文件在上传完成后会默认保存 3 天,然后删除。

查看迁移进度

生成迁移任务后,您可前往任务中心查看任务状态和进度。如果迁移任务的状态从进行中变更为成功,则代表迁移成功。

📘说明

迁移完成后,请验证目标集群中的 collection 和 entity 数量是否与数据源一致。如果发现不一致,请删除缺失 entity 的 collection 并重新进行迁移。

view_migration_progress_cn

迁移后

迁移任务完成后,请注意以下事项:

  • 索引创建:迁移过程中会自动为迁移的 Collection 创建 AUTOINDEX。

  • **手动 Load Collection:**虽然索引已自动创建,但迁移后的 Collection 并不会立即支持搜索或查询操作。您必须手动 Load Collection,才能启用搜索和查询功能。详细信息请参阅 Load 和 Release

📘说明

完成 Load 后,请检查目标集群中的 Collection 数量及 Entity 数是否与数据源保持一致。如果发现不符,请删除 Collection 并重新进行迁移任务。

取消迁移任务

如果迁移过程遇到任何问题,您可以采取以下步骤进行故障排除并恢复迁移:

  1. 任务中心页面,取消失败的迁移任务。

  2. 操作列点击查看详情以访问日志信息。