使用工具milvus_backup进行备份迁移milvus

下载milvus-backup

工具地址:https://github.com/zilliztech/milvus-backup/releases

配置操作步骤

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#milvus_backup 配置文件
$ cat old_backup.yaml
milvus:
address: 1.1.1.1.119
port: 19530
username: ""
password: ""

minio:
address: 1.1.1.1.119
port: 9000
accessKeyID: minioadmin
secretAccessKey: 123456!
useSSL: false
bucketName: a-bucket
rootPath: files

$ cat new_backup.yaml
milvus:
address: 1.1.1.1.202
port: 31530
username: ""
password: ""

minio:
address: 1.1.1.1.202
port: 19000
accessKeyID: minioadmin
secretAccessKey: "123456!"
useSSL: false
bucketName: milvus-bucket-2
rootPath: files

#备份旧库,-c 是需要备份集合名
./milvus-backup create -n my_backup_20251218 --config backup.yaml -c dangjian2


#创建别名,准备迁移
mc alias set oldminio http://1.1.1.1.119:9000 minioadmin '123456!'
mc alias set newminio http://1.1.1.1.202:19000 minioadmin '123456!'

#迁移旧数据到新的minio存储桶
mc mirror --overwrite \
oldminio/a-bucket \
newminio/milvus-bucket-dangjian

#恢复数据到新的milvus集合
./milvus-backup restore --config new_backup.yaml --name my_backup_20251218 -c dangjian2


#使用milvus_cli 连接库,创建索引并加载
milvus_cli > connect -uri http://1.1.1.1.202:31530
milvus_cli > use database --db_name default
Using database default successfully!
milvus_cli > load collection --collection-name old_jihe2
show collection --collection-name dangjian2
+---------------+-----------------------------------------------------------------------+
| Name | dangjian2 |
+---------------+-----------------------------------------------------------------------+
| Description | Document collection 'dangjian2' with 'id' as primary key |
+---------------+-----------------------------------------------------------------------+
| Is Empty | False |
+---------------+-----------------------------------------------------------------------+
| Entities | 148387 |
+---------------+-----------------------------------------------------------------------+
| Primary Field | id |
+---------------+-----------------------------------------------------------------------+
| Schema | Description: Document collection 'dangjian2' with 'id' as primary key |
| | |
| | Auto ID: False |
| | |
| | Fields(* is the primary field): |
| | - *id VARCHAR |
| | - filename VARCHAR |
| | - url VARCHAR |
| | - title VARCHAR |
| | - section VARCHAR |
| | - quality INT16 |
| | - category VARCHAR |
| | - sub_category VARCHAR |
| | - level INT16 |
| | - summary VARCHAR |
| | - text VARCHAR |
| | - vector FLOAT_VECTOR dim: 1024 |
+---------------+-----------------------------------------------------------------------+
| Partitions | - _default |
+---------------+-----------------------------------------------------------------------+
| Indexes | - |
+---------------+-----------------------------------------------------------------------+

#创建索引,因为milvus_backup工具不备份索引
milvus_cli > create index
Collection name (dangjian2): dangjian2
The name of the field to create an index for (id, filename, url, title, section, quality, category, sub_category, level, summary, text, vector): vector
Index name:
Index name:
Index name: dangjian
Index type (FLAT, IVF_FLAT, IVF_SQ8, IVF_PQ, RNSG, HNSW, ANNOY, AUTOINDEX, DISKANN, GPU_IVF_FLAT, GPU_IVF_PQ, SPARSE_INVERTED_INDEX, SPARSE_WAND, SCANN, STL_SORT, Trie, INVERTED, ) []: IVF_FLAT
Vector Index metric type (L2, IP, HAMMING, TANIMOTO, COSINE, ) []: L2
Index params nlist: 1024
Status(code=0, message=)
Create index successfully!
milvus_cli > load collection -c dangjian2
Load collection dangjian2 successfully

使用工具milvus_backup进行备份迁移milvus
http://example.com/2025/12/18/Backup and Restore Milvus with milvus-backup/
作者
种田人
发布于
2025年12月18日
许可协议