暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

为了周末不加班,收好这份Milvus 迁移 Zilliz Cloud的手把手教程(含福利)

ZILLIZ 2025-10-20
180

手把手教你Milvus到Zilliz Cloud的迁移

今天周五了,聊点能让大家轻松点,少几次突发运维,周末能休息好的东西。

相信很多开发者在用过Milvus之后,都会觉得性能不错,体验也很好;但是随着数据量越来越大,落地的应用越来越复杂,不少人会逐渐觉得力不从心。

毕竟是生产级infra,会用到用的炉火纯青之间的差距,可能跟普通人会举着手机按拍照 VS 时尚杂志首席摄影师差不多。

这时候,与其死磕技术细节,不如直接选择Zilliz Cloud 上生产。作为 Milvus 的完全托管云服务,择Zilliz Cloud 由 Milvus 的创建者 Zilliz 开发,可以提供集托管、扩展和性能优化于一体的生产级解决方案,适合所有大数据量、业务复杂以及高速增长的团队。

那么怎么从自托管 Milvus 迁移到 Zilliz Cloud ,迁移过程中要注意什么,本文将一一解答。

01 

为什么迁移到 Zilliz Cloud?

Zilliz Cloud 是基于 Milvus 的完全托管服务,提供 Serverless、Dedicated 和 BYOC(Bring Your Own Cloud)等多种部署选项,支持 AWS、GCP 和 Azure,旨在简化部署和扩展,尤其适合企业级 AI 以及搜广推相关应用。

通常来说,Milvus迁移到 Zilliz Cloud 的收益包括以下几个方面:

  • 完全托管服务:Zilliz Cloud 处理所有基础设施管理,包括部署、扩展和维护,开发者无需担心服务器运维。

  • 可扩展性:支持数十亿向量的扩展,适合数据量快速增长的场景。

  • 性能优化:提供多种索引类型(如 HNSW、DiskANN)和硬件优化设计,确保高召回率和低延迟。从我自己过去的实践总结来看,Zilliz Cloud 性能更高(搜索延迟可达亚 10 毫秒)

  • 成本效益:灵活的按需付费模式,避免了自建基础设施的固定成本。

  • 安全性和合规性:支持私有网络、多租户和数据主权要求,适合受监管行业。

    02

     迁移前的准备

    在开始迁移之前,开发者需要完成以下准备工作:

    • 了解当前 Milvus 配置:记录 Milvus 的版本(需为 2.3.6 或更高以支持迁移)、部署方式(如 Docker 或 Kubernetes)以及任何自定义设置。

    • 备份数据:确保 Milvus 数据有完整备份,这是迁移成功的关键。

    • 选择迁移方法:根据数据库规模和需求,选择通过端点(适合逐个数据库迁移)或通过备份文件(适合大规模迁移)。

    在本文迁移测试中,我们的源数据库采用的是standalone方式部署的Milvus数据库,其default数据库只有一个collection名字是migration_test,其中有1000条数据。

    03

    迁移教程

    Zilliz Cloud 提供了两种主要迁移方法,具体步骤如下:

    方法 1:通过端点(endpoint)

    前提条件:

    • Milvus 要求:

        • 版本:2.3.6 或更高

        • 网络:必须通过公共互联网访问

        • 认证:如果启用了认证,需要用户名和密码

      • Zilliz Cloud 要求:

          • 用户角色:组织所有者或项目管理员

          • 集群:确保存储和计算资源足够(使用 CU 计算器 确定规模)

          • 网络:将 Zilliz Cloud 的 IP 地址添加到允许列表(参考 [Zilliz Cloud IPs](https://docs.zilliz.com/docs/zilliz-cloud-ips))

        迁移过程:

        • 在 Zilliz Cloud 控制台启动迁移。

        • 选择Endpoint方式之后,

        • 填入源数据库的访问URL 以及用户名和密码

        • 检查链接通过之后,

        • 指定需要迁移的源数据库collection以及Zilliz Cloud里目的数据库实例以及对应的colletion

        • 确认数据字段对应准确以后,点击Migrate开始迁移的Job

        • 在 "Jobs" 页面(Job Center)监控迁移状态。等待状态从 "In Progress" 变为 "Successful",表示迁移完成。

        迁移后的步骤:

        • 手动加载:为启用搜索和查询操作,手动加载集合(加载和释放集合)。

        • 验证:确保集合和实体数量与原始 Milvus 一致。如果有差异,可重新迁移。

          取消迁移:

          • 如果迁移失败,在 "Jobs" 页面取消作业,并通过 "View Details" 查看错误日志。

            方法 2:通过备份文件(backup files)

            前提条件:

            • Zilliz Cloud 要求:

                • 用户角色:组织所有者或项目管理员

                • 集群:确保 CU 规模能容纳数据(使用 CU 计算器)

              备份文件:

              首先准备 Milvus 的备份文件,可存储在本地或对象存储(如 S3 或 Minio)。

              创建和上传备份文件的步骤:

              • 下载 milvus-backup:获取最新版本的 milvus-backup。

              • 创建 configs 文件夹:下载 backup.yaml 文件

                wget https://raw.githubusercontent.com/zilliztech/milvus-backup/main/configs/backup.yaml

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

                  workspace
                  ├── milvus-backup
                  └── configs
                      └── backup.yaml

                  自定义 backup.yaml:检查并调整配置,如 milvus.address、milvus.port、minio.address 等,根据环境调整。

                  创建备份:运行 ./milvus-backup --config backup.yaml create -n my_backup创建备份

                  获取备份文件:运行 ./milvus-backup --config backup.yaml get -n my_backu 获取备份文件。

                  • 检查备份文件

                  如果您将 minio.address
                   和 minio.port
                   设置为 OSS 存储,则您的备份文件已在 OSS 存储中。

                  如果您将 minio.address
                   和 minio.port
                   设置为 MinIO 存储,则可以通过 MinIO 控制台或 mc 客户端下载备份文件。

                  如果从 MinIO 控制台下载,请先登录 MinIO 控制台,找到 minio.address
                   中指定的存储桶,选择存储桶中的文件,然后开始下载。

                  如果使用 mc 客户端,则执行以下命令:

                    # 配置 Minio 主机
                    mc alias set my_minio https://<minio_endpoint> <accessKey> <secretKey>
                    # 查询当前桶列表
                    mc ls my_minio
                    # 从桶中下载文件
                    mc cp --recursive my_minio/<your-bucket-path> <local_dir_path>

                      上传到 Zilliz Cloud:将备份文件夹下的子文件夹上传到 Zilliz Cloud。

                        backup
                        └── my_backup  <= 上传此文件夹

                        迁移过程:

                        • 在 Zilliz Cloud 启动迁移。

                        • 依据备份文件所在位置选择

                        • 选择备份文件文件夹

                        • 指定迁移数据库以及Collection

                        • 在 "Jobs" 页面(Job Center)监控进度。

                          迁移后的步骤:与上述端点迁移步骤一致

                          • 手动加载:加载集合以启用搜索和查询。

                          • 验证:检查所有集合和实体是否正确迁移。

                            取消迁移:

                            • 在 "Jobs" 页面取消失败的迁移,并查看错误日志。

                              迁移的最佳实践为了确保迁移顺利,以下最佳实践值得关注:

                              • 数据一致性:在迁移前验证备份的完整性和一致性。

                              • 监控进度:密切关注 "Jobs" 页面,及时发现问题。

                              • 测试应用程序:迁移后,彻底测试应用,确保在 Zilliz Cloud 上正常运行。

                                迁移方法对比

                                关于以上迁移教程,如有疑问,或者进一步需求,欢迎点击原文查看详细文档页面,或在公众号留言(本文留言的前100名新迁移用户,后台私信,即可获得300人民币Zilliz Cloud 免费额度)。

                                作者介绍

                                Zilliz 黄金写手:臧伟

                                阅读推荐
                                长上下文会取代向量数据库?Context Engineering不同意
                                多少做RAG的人,连分词都搞不定? Milvus Analyzer指南
                                大模型贵,小模型蠢!vLLM+Milvus+智能路由,无痛降本50%
                                大模型落地,已经走到了用上下文工程续命时刻
                                RAG-Anything × Milvus:阅读PDF要集成20个工具的RAG时代结束了!

                                文章转载自ZILLIZ,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                评论