1 基础知识
1.1 软件介绍
Milvus Backup是一个用于备份和恢复Milvus数据的工具
Milvus Backup同时提供CLI和API用户适应不同的应用场景
1.2 备份场景
1.2.1 场景一

– 在同一Milvus实例,同一S3服务,同一S3 Bucket备份和恢复
– S3 Bucket的Collection级别的复制,用于备份恢复
1.2.2 场景二

– 在两个Milvus实例,同一S3服务,同一S3 Bucket备份和恢复
– S3 Bucket的Collection级别的复制,用于备份恢复或迁移
1.2.3 场景三

– 在两个Milvus实例,同一S3服务,不同S3 Bucket备份和恢复
– S3 Bucket的Bucket级别的复制,用于备份恢复或迁移
1.2.4 场景四

– 在两个Milvus实例,不同S3服务,用于备份和恢复
– S3服务级别的复制,用于备份恢复
2 最佳实践
2.1 环境配置
2.1.1 部署Milvus节点
hostName = milvus01.cmdschool.org
os: Oracle Linux Server 9.x
IP Address: any
请参阅如下章节部署环境,
2.1.2 部署Milvus备份节点
hostName = milvusbackup01.cmdschool.org
os: Oracle Linux Server 9.x
IP Address: any
请参阅如下章节部署环境,
2.2 部署备份工具
In milvus01
2.2.1 下载软件包
cd ~ wget https://github.com/zilliztech/milvus-backup/releases/download/v0.5.8/milvus-backup_0.5.8_Linux_x86_64.tar.gz wget https://raw.githubusercontent.com/zilliztech/milvus-backup/refs/heads/main/configs/backup.yaml
以上只是演示,如果需要其他版本或者下载异常,请冲如下连接下载,
https://github.com/zilliztech/milvus-backup/releases
https://github.com/zilliztech/milvus-backup/blob/main/configs/backup.yaml
2.2.2 解压软件包
cd ~ tar -xf milvus-backup_0.5.8_Linux_x86_64.tar.gz
2.2.3 部署软件包
cd ~ mkdir -p /opt/milvus-backup/configs /var/log/milvus-backup ln -s /opt/milvus-backup/configs /etc/milvus-backup ln -s /var/log/milvus-backup /opt/milvus-backup/logs mv milvus-backup /opt/milvus-backup/ chmod +x /opt/milvus-backup/milvus-backup mv backup.yaml /etc/milvus-backup/
配置环境变量,
vim /etc/profile.d/milvus-backup.sh
加入如下配置,
export MILVUS_BACKUP=/opt/milvus-backup
export PATH=${MILVUS_BACKUP}:$PATH
配置创建后,你需要使用如下命令导入环境变量,
source /etc/profile
2.2.4 测试部署
milvus-backup -h
可见如下输出,
0.5.8 (Built on 2025-08-12T06:24:52Z from Git SHA 2cda63aeb8762b363e76f9f9a09a7aa33d266679 by go1.24.5)
config: backup.yaml
milvus-backup is a backup&restore tool for milvus.
Usage:
milvus-backup [flags]
milvus-backup [command]
Available Commands:
check check if the connects is right.
create create subcommand create a backup.
delete delete backup by name.
get get subcommand get backup by name.
help Help about any command
list list subcommand shows all backup in the cluster.
migrate migrate the backup data to zilliz cloud cluster
restore restore a backup
server server subcommand start milvus-backup RESTAPI server.
Flags:
--config string config YAML file of milvus (default "backup.yaml")
-h, --help help for milvus-backup
--set strings Override yaml values using a capitalized snake case format (--set MILVUS_USER=Marco)
Use "milvus-backup [command] --help" for more information about a command.
2.3 设置备份工具
In milvus01
2.3.1 修改配置文件
cp /etc/milvus-backup/backup.yaml /etc/milvus-backup/backup.yaml.default vim /etc/milvus-backup/backup.yaml
配置修改如下或者修改如下配置,
milvus: address: localhost port: 19530 authorizationEnabled: false # tls mode values [0, 1, 2] # 0 is close, 1 is one-way authentication, 2 is two-way authentication. tlsMode: 0 user: "root" password: "rootpwd" # Related configuration of minio, which is responsible for data persistence for Milvus. minio: # cloudProvider: "minio" # deprecated use storageType instead storageType: "minio" # support storage type: local, minio, s3, aws, gcp, ali(aliyun), azure, tc(tencent) address: localhost # Address of MinIO/S3 port: 9700 # Port of MinIO/S3 accessKeyID: minioadmin # accessKeyID of MinIO/S3 secretAccessKey: minioadmin # MinIO/S3 encryption string useSSL: false # Access to MinIO/S3 with SSL useIAM: false iamEndpoint: "" bucketName: "a-bucket" # Milvus Bucket name in MinIO/S3, make it the same as your milvus instance rootPath: "files" # Milvus storage root path in MinIO/S3, make it the same as your milvus instance # Backup storage configs, the storage you want to put the backup data backupStorageType: "s3" # support storage type: local, minio, s3, aws, gcp, ali(aliyun), azure, tc(tencent) backupAddress: milvusbackup01.cmdschool.org # Address of MinIO/S3 backupPort: 9700 # Port of MinIO/S3 backupAccessKeyID: minioadmin # accessKeyID of MinIO/S3 backupSecretAccessKey: minioadmin # MinIO/S3 encryption string # Used only for the "gcpnative" cloud provider. backupBucketName: "milvus01" # Bucket name to store backup data. Backup data will store to backupBucketName/backupRootPath backupRootPath: "backup" # Rootpath to store backup data. Backup data will store to backupBucketName/backupRootPath backupUseSSL: false # Access to MinIO/S3 with SSL
2.3.2 检查配置
milvus-backup check --config /etc/milvus-backup/backup.yaml
如果正常执行,可见如下提示信息,
#... Succeed to connect to milvus and storage. Milvus version: 2.5.14 Storage: milvus-bucket: a-bucket milvus-rootpath: files backup-bucket: milvus01 backup-rootpath: backup
2.4 备份操作
In milvus01
2.4.1 创建备份
milvus-backup create --config /etc/milvus-backup/backup.yaml
如果正常执行,可见如下提示信息,
#... success duration:13.60 s
2.4.2 查看备份
milvus-backup list --config /etc/milvus-backup/backup.yaml
如果正常执行,可见如下提示信息,
#... >> Backups: backup_2025_12_18_06_03_40_558125328 backup_2025_12_18_06_05_16_516922766 backup_2025_12_18_06_27_48_870058732
2.5 还原操作
参阅文档
==============
备份文档
———–
https://zilliz.com.cn/blog/how-to-use-milvus-backup-tool-step-by-step-guide.md
https://milvus.io/docs/zh/milvus_backup_overview.md
备份github
———–
https://github.com/zilliztech/milvus-backup
没有评论