milvus异机恢复(两台机器无法互通,使用mc迁移)
环境:
OS:Centos 7
milvus(docker compose单机部署):2.4.6
说明:
a.源端和目的端都要安装好mc,安装步骤参考如下链接:
https://www.cnblogs.com/hxlasky/p/18596835
b.目的库需要部署milvus(docker compose),版本与源库的版本一致
c.查看目的库的部署情况
[root@localhost milvus]# cd /home/middle/milvus
[root@localhost milvus]# docker compose ps
WARN[0000] /home/middle/milvus/docker-compose.yml: `version` is obsolete
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
attu zilliz/attu:v2.4.6 "docker-entrypoint.s…" attu 9 minutes ago Up 9 minutes 0.0.0.0:8000->3000/tcp, :::8000->3000/tcp
milvus-etcd quay.io/coreos/etcd:v3.5.5 "etcd -advertise-cli…" etcd 9 minutes ago Up 9 minutes (healthy) 2379-2380/tcp
milvus-minio minio/minio:RELEASE.2023-03-20T20-16-18Z "/usr/bin/docker-ent…" minio 9 minutes ago Up 9 minutes (healthy) 0.0.0.0:9000-9001->9000-9001/tcp, :::9000-9001->9000-9001/tcp
milvus-standalone milvusdb/milvus:v2.4.6 "/tini -- milvus run…" standalone 9 minutes ago Up 9 minutes (healthy) 0.0.0.0:9091->9091/tcp, :::9091->9091/tcp, 0.0.0.0:19530->19530/tcp, :::19530->19530/tcp
d.需要安装milvus backup工具,安装连接参考如下:
https://www.cnblogs.com/hxlasky/p/18360784
1.源库进行备份
##备份
/opt/milvus_backup/milvus-backup create -n mvsdb_ai_bak_20250526 -d mvsdb_ai --config=/opt/milvus_backup/conf/backup.yaml
2.使用mc下载minio的备份
##下载minio备份
/opt/minio_client/mc cp --recursive myminio/a-bucket/backup/mvsdb_ai_bak_20250526 /backup/milvus_mc_download_bak/
3.对mc下载的备份进行打包
[root@milvus0821-prd milvus_mc_download_bak]#cd /backup/milvus_mc_download_bak/
[root@milvus0821-prd milvus_mc_download_bak]#tar cvf mvsdb_ai_bak_20250526.tar ./mvsdb_ai_bak_20250526
4.将压缩包上传到新服务器
我这里备份压缩包存放到tmp目录
[root@localhost tmp]# ls -al /tmp/mvsdb_ai_bak_20250526.tar
-rw-r--r-- 1 root root 162406400 May 26 11:40 /tmp/mvsdb_ai_bak_20250526.tar
5.查看目的端的minio情况
http://192.168.1.134:9001/browser

目前的minio是空的
6.使用mc迁移到minio
[root@localhost tmp]#cd /tmp
[root@localhost tmp]#tar -xvf mvsdb_ai_bak_20250526.tar
[root@localhost tmp]#/opt/minio_client/mc cp -r /tmp/mvsdb_ai_bak_20250526 new_minioserver/a-bucket/backup
这个时候查看minio的文件情况,发现mvsdb_ai_bak_20250526.tar这个压缩文件也会上传了,可以手工删除

说明:使用mc mirror也可以复制文件,但是不会生成目录mvsdb_ai_bak_20250526
7.查看备份情况
/opt/milvus_backup/milvus-backup list --config=/opt/milvus_backup/conf/backup.yaml
>> Backups:
mvsdb_ai_bak_20250526
8.执行恢复
恢复期间milvus不需要停(也不能停,恢复需要使用到minio存储),docker compose ps各组件正常运行
/opt/milvus_backup/milvus-backup restore -n mvsdb_ai_bak_20250526 -d mvsdb_ai --restore_index=true --config=/opt/milvus_backup/conf/backup.yaml
发现报错误
workerpool: execute job rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp [::1]:19530: connect: connection refused"
duration:279 s
期间发现milvus停掉了,查看日志
docker compose logs standalone
docker-compose logs -f -t --tail=10 standalone
启动milvus,再次尝试执行,成功了
[root@localhost milvus]# cd /home/middle/milvus
[root@localhost milvus]# docker compose start standalone
[root@localhost milvus]#/opt/milvus_backup/milvus-backup restore -n mvsdb_ai_bak_20250526 -d mvsdb_ai --restore_index=true --config=/opt/milvus_backup/conf/backup.yaml
[2025/05/26 14:56:47.841 +08:00] [INFO] [core/backup_impl_restore_backup.go:388] ["finish restore collection"] [db_name=mvsdb_ai] [collection_name=xdm_vacc_encyclopedia_faq_v5] [size=3028514]
[2025/05/26 14:56:47.842 +08:00] [INFO] [core/backup_impl_restore_backup.go:405] ["finish restore all collections"] [backupName=mvsdb_ai_bak_20250526] [collections=21] [taskID=restore_2025_05_26_06_52_37_680804963] ["duration in seconds"=250]
success
duration:250 s
浙公网安备 33010602011771号