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

 

 

 

 

 

 

 

 

 

posted @ 2025-05-26 14:09  slnngk  阅读(51)  评论(0)    收藏  举报