搜索中...
🔍

未找到相关结果

Akemi

使用OSS的Milvus-backup数据备份迁移

2026/04/15

参考文档:https://github.com/zilliztech/milvus-backup/releases

迁移原则:只能低到高,不能高到低;是一种全量备份的工具,需要暂停服务使用

如果需要热备、跨集群容灾或低停机时间迁移,可以结合Milvus CDC使用。参考文档:https://github.com/zilliztech/milvus-cdc

1
2
3
4
# 二进制安装
wget https://github.com/zilliztech/milvus-backup/releases/download/v0.5.12/milvus-backup_0.5.12_Linux_x86_64.tar.gz
tar -xf milvus-backup_0.5.12_Linux_x86_64.tar.gz
mv milvus-backup /usr/bin/

使用流程

  • 创建backup.yaml,旧集群生成备份
  • 物理数据搬迁,OSS文件从Old Bucket迁移到New Bucket
  • 创建restore.yaml,指向新集群
  • 在新集群执行恢复

环境说明

1
2
3
4
5
6
7
8
9
新milvus环境:
192.168.8.147:19530
oss-cn-beijing.aliyuncs.com
bucketName: "milvus-backup-test"

旧milvus环境:
192.168.10.100:19530
oss-cn-beijing.aliyuncs.com
bucketName: "milvus-wangsheng-test"

迁移实践

具体backup.yaml字段格式可以查看https://github.com/zilliztech/milvus-backup?tab=readme-ov-file#backupyaml-configurations

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 创建backup.yaml
milvus:
address: "192.168.10.100"
port: 19530
minio:
storageType: "minio"
port: "443"
address: "oss-cn-beijing.aliyuncs.com"
bucketName: "milvus-wangsheng-test"
rootPath: "test"
accessKeyID: "xxxx"
secretAccessKey: "xxxx"
useSSL: true
useIAM: false
region: "cn-beijing"
backup:
backuppath: "backup_folder"

# 检查是否可以连接
milvus-backup --config ./backup.yaml check

# 开始备份,会在oss创建名为backup_test_2026的文件夹
milvus-backup --config ./backup.yaml create -n backup_test_2026

...
[2026/04/15 14:08:38.106 +08:00] [INFO] [backup/task.go:261] ["backup successfully"] [task_id=5f2b4c61-c368-423a-aa20-ea442336a9e7]
duration:4.08 s

oss数据迁移-两种方法

这两种方法的最后,都是会在新对象存储的目录下,生成backup_test_2026的目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
1.方法1-使用ossutil搬运
ossutil cp -r oss://milvus-wangsheng-test/test/backup_test_2026 oss://milvus-backup-test/test/

2.方法2-直接在backup.yaml中定义目标s3的位置
milvus:
address: "192.168.10.100"
port: 19530
minio:
# 源Bucket配置
storageType: "minio"
port: "443"
address: "oss-cn-beijing.aliyuncs.com"
bucketName: "milvus-wangsheng-test"
rootPath: "test"
accessKeyID: "xxxx"
secretAccessKey: "xxxx"
useSSL: true
region: "cn-beijing"

# 备份/目标Bucket配置
backupAddress: "oss-cn-beijing.aliyuncs.com"
backupPort: "443"
backupBucketName: "milvus-backup-test"
backupAccessKeyID: "xxxx"
backupSecretAccessKey: "xxxx"
backupRegion: "cn-beijing"
backupRootPath: "test"
backupUseSSL: true
backup:
backuppath: "backup_folder"

milvus-backup create -n backup_2026_direct --config backup.yaml

恢复到新集群

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# 创建restore.yaml
milvus:
address: "192.168.8.147"
port: 19530

minio:
storageType: "minio"
port: "443"
address: "oss-cn-beijing.aliyuncs.com"
bucketName: "milvus-backup-test"
rootPath: "test"
accessKeyID: "xxxx"
secretAccessKey: "xxxx"
useSSL: true
region: "cn-beijing"

backup:
backuppath: "backup_folder"


# 验证配置文件格式
milvus-backup list --config restore.yaml
>> Backups:
backup_2026_direct
backup_test_2026

↑说明有两个可还原的版本

# 选择恢复
milvus-backup restore -n backup_2026_direct --config restore.yaml
...
duration:42.30 s

测试访问

图形访问测试

1
2
3
4
5
docker run -d \
--name attu \
-p 8000:3000 \
-e MILVUS_URL=192.168.8.147:19530 \
zilliz/attu:latest

业务访问测试

修改代码访问的milvus端点,调用embedding后的向量

1
2
3
4
milvus_config = {
"host": "192.168.8.147",
"port": "19530"
}

CATALOG
  1. 1. 使用流程
    1. 1.1. 环境说明
    2. 1.2. 迁移实践
    3. 1.3. oss数据迁移-两种方法
    4. 1.4. 恢复到新集群
    5. 1.5. 测试访问
      1. 1.5.1. 图形访问测试
      2. 1.5.2. 业务访问测试