使用数据服务迁移数据至阿里云Milvus

更新时间:
复制 MD 格式

您可以使用阿里云 Milvus 数据迁移服务,将本地 IDC、其他云平台或阿里云 ECS 上自建的 Milvus 数据库数据迁移至阿里云 Milvus 服务,同时也支持不同阿里云 Milvus 实例间的数据迁移。该服务采用全量加增量的迁移机制,确保数据完整同步。本文以 ECS 上自建的 Milvus 实例为例,详细介绍如何通过数据迁移服务将数据安全、高效地迁移至阿里云 Milvus。

限制与配置要求

迁移前准备(必须执行)

  1. 操作状态控制

    集群类型

    要求

    说明

    源集群

    停止所有数据变更操作

    包括写入、删除和更新操作,确保集群处于只读状态,防止数据变动导致迁移过程中出现不一致。

    目标集群

    暂停所有数据操作

    包括查询、写入、删除和更新操作,保持不可用状态,避免与迁移数据冲突。

  2. 版本兼容性

    要求

    规范

    源集群版本

    必须高于 2.3.6(即 ≥ v2.3.7)

    目标集群版本

    必须不低于源集群版本

迁移任务限制

  1. 任务管理

    • 并发限制:同一时间仅能执行1个迁移任务。

  2. 数据范围

    • 数据库限制:每个迁移任务仅支持同一数据库下的Collection。

    • Collection数量:最多包含5Collection。

    • 数据总量:所有Collection的总实体数量不超过5亿。

  3. 数据状态

    • 源数据要求:待迁移的Collection必须处于已加载状态(load状态)。

    • 目标实例要求:必须是空实例(无任何现有实体数据)。

阿里云 Milvus 2.6 向下兼容 2.5 版本。如果源集群为 2.5.x 版本(如 2.5.12),可直接将数据迁移至 2.6 版本的目标实例,无需额外的数据格式转换。

网络安全配置

数据迁移服务通过其固定IP地址从源Milvus读取数据并传输至目标Milvus。为确保数据正常迁移,源Milvus必须允许这些IP地址段(CIDR)的入站连接。请根据目标地域,在数据库防火墙、安全组或访问控制列表(ACL)中配置相应的IP范围。例如,目标地域为杭州时,需将杭州地域的IP地址段添加到ECS安全组。

地域

IP地址段(CIDR)

华北 2(北京)

39.105.32.0/24

华南 1(深圳)

120.77.174.0/24

华东 2(上海)

47.117.185.0/24

中国(香港)

8.217.170.0/24

华东1(杭州)

115.29.196.0/24

乌兰察布

121.89.83.0/24

新加坡(亚太东南)

45.113.192.0/24

德国(法兰克福)

47.245.133.0/24

迁移步骤

步骤 1:配置防火墙白名单

在部署源端 Milvus 服务的服务器安全组中,开放默认端口 19530,并配置入站规则,仅允许数据迁移服务的固定 IP 地址段(CIDR)访问。

ECS自建Milvus为例,在ECS实例中配置以下安全组规则:

授权策略选择允许优先级设为1协议选择自定义 TCP访问来源填写数据迁移服务的 CIDR 115.29.196.0/24访问目的(本实例)端口填写 19530,单击提交

步骤 2:启动数据迁移任务

  1. 登录阿里云Milvus控制台,单击数据迁移,单击Milvus(通过 EndPoint 迁移 )

  2. 配置源集群连接信息并选择目标集群,然后单击下一步

    源集群为ECS自建Milvus时:

    • 源集群 Endpoint:http://ECS_公网IP:9091

    • 用户名密码:ECS自建Milvus中的用户名和密码。

      配置页面顶部提示:源集群版本需为 2.3.6 以上、需提前完成集群网络配置、网络不通时可使用 VTS 工具、不支持高版本向低版本迁移。填写完成后,单击 下一步

    使用第三方迁移工具(如 Milvus Migration Tool)连接阿里云 Milvus 实例时,Token 参数的格式为用户名:密码(例如root:YourPassword123)。默认管理员用户名为 root,在创建实例时确定,不可修改。密码为创建实例时设置的登录密码。如需重置密码,在实例详情页面,单击安全配置页签,在集群配置区域单击重置 root 账户密码

  3. 选择待迁移的Database并将其添加到目标Database中,然后单击下一步

    请确保源集群中需要迁移的 Collection 处于加载(Load)状态。在 迁移来源 面板选择 Database 和 Collection,通过箭头按钮将其添加到右侧 迁移目标 面板。

  4. 检查并配置字段映射,然后单击确认启动迁移任务。

    在字段映射页面,源 Collection 与目标 Collection 均为 minimal_vectors,字段包括 id(Int64,Primary Key,Auto ID)和 vector(FloatVector)。动态列开关已开启,Shard 值为 2。

    单击目标 Collection 中字段右侧的齿轮图标,可在弹出的浮层中配置 Auto ID(自动生成 ID 开关)、Default Value(默认值)和 Partition Key(分区键)等高级选项。其中 Partition Key 支持 INT64 或 VARCHAR 类型,最多可选择 1 个字段作为 Partition Key,且不可设置支持 Null 值。

步骤 3:监控与验证

  • 在控制台查看迁移进度、错误日志;

    迁移任务完成后,数据迁移页面的任务列表中,对应任务的状态列显示成功进度列显示完整的绿色进度条,表示迁移已成功完成。

  • 迁移完成后,建议校验目标集合的数据量与召回一致性。