通过 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 集群中。
-
下载 milvus-backup。推荐下载最新版本。
-
在下载的二进制文件所在的同级目录下,创建
configs
文件夹,然后将 backup.yaml 保存到configs
。此步骤完成后,文件夹的结构应如下所示:
workspace
├── milvus-backup
└── configs
└── backup.yaml -
自定义
backup.yaml
配置。-
设置如下配置项:
-
cloud.address
Zilliz Cloud 控制面访问地址,通常为
https://api.cloud.zilliz.com.cn
. -
cloud.apikey
一个拥有操作目标 Zilliz Cloud 集群的 API 密钥。更多详情,可参考API 密钥。
-
-
检查以下配置项是否正确:
-
milvus.address
-
mivlus.port
-
minio.address
-
minio.port
-
minio.bucketName
-
minio.backupBucketName
-
rootPath
-
📘说明如果 Milvus 实例是通过 Docker Compose 安装,
minio.bucketName
默认为a-bucket
,rootPath
默认为files
。如果 Milvus 实例是通过 Kubernetes 安装,
minio.bucketName
默认为milvus-bucket
,rootPath
默认为file
。 -
-
创建 Milvus 的安装备份。
./milvus-backup --config backup.yaml create -n my_backup
# my_backup 为备份文件的名称。该名称将会用于下一步的迁移命令。 -
创建目标 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 并重新进行迁移。
迁移后
迁移任务完成后,请注意以下事项:
-
索引创建:迁移过程中会自动为迁移的 Collection 创建 AUTOINDEX。
-
**手动 Load Collection:**虽然索引已自动创建,但迁移后的 Collection 并不会立即支持搜索或查询操作。您必须手动 Load Collection,才能启用搜索和查询功能。详细信息请参阅 Load 和 Release。
完成 Load 后,请检查目标集群中的 Collection 数量及 Entity 数是否与数据源保持一致。如果发现不符,请删除 Collection 并重新进行迁移任务。
取消迁移任务
如果迁移过程遇到任何问题,您可以采取以下步骤进行故障排除并恢复迁移:
-
在任务中心页面,取消失败的迁移任务。
-
在操作列点击查看详情以访问日志信息。