Migrate from Milvus to Zilliz Cloud Via Backup Files
Zilliz Cloud offers Milvus as a fully managed, cloud-hosted solution for users who want to use the Milvus vector database without the need to manage the infrastructure themselves. To enable smooth migration, you can migrate data from Milvus to Zilliz Cloud in these ways - connecting to source Milvus via database endpoint or uploading backup files directly.
This topic describes how to migrate from Milvus by uploading backup files directly. For information on how to migrate data via database endpoint, refer to Via Endpoint.
Before you start
Make sure the following prerequisites are met:
-
You have made necessary preparations for migration based on the migration method:
-
From Local File: Prepare local backup files in advance. For information on how to prepare backup files, refer to Prepare backup files for migration.
-
From Object Storage: The public URL and access credentials for the Milvus object storage. You can choose long-term or temporary credentials.
-
-
You have been granted the Organization Owner or Project Admin role. If you do not have the necessary permissions, contact your Zilliz Cloud administrator.
Prepare backup files for migration
To prepare migration data for Milvus 2.x,
-
Download milvus-backup. Always use the latest release.
-
Create a configs folder side by side with the downloaded binary, and download backup.yaml into the configs folder.
Once the step is done, the structure of your workspace folder should look like this:
workspace
├── milvus-backup
└── configs
└── backup.yaml -
Customize backup.yaml.
In normal cases, you do not need to customize this file. But before going on, check whether the following configuration items are correct:
-
milvus.address
-
mivlus.port
-
minio.address
-
minio.port
-
minio.bucketName
-
minio.backupBucketName
-
rootPath
📘NotesFor a Milvus instance installed using Docker Compose,
minio.bucketName
defaults toa-bucket
androotPath
defaults tofiles
.For a Milvus instance installed on Kubernetes,
minio.bucketName
defaults tomilvus-bucket
androotPath
defaults tofile
.
-
-
Create a backup of your Milvus installation.
./milvus-backup --config backup.yaml create -n my_backup
-
Get the backup file.
./milvus-backup --config backup.yaml get -n my_backup
-
Check the backup files.
-
If you set
minio.address
andminio.port
to an S3 bucket, your backup file are already in the S3 bucket. -
If you set
minio.address
andminio.port
to a Minio bucket, you can download them using Minio Console or the mc client.-
To download from Minio Console, log into Minio Console, locate the bucket specified in
minio.address
, select the files in the bucket, and click Download to download them. -
If you prefer the mc client, do as follows:
# configure a Minio host
mc alias set my_minio https://<minio_endpoint> <accessKey> <secretKey>
# List the available buckets
mc ls my_minio
# Download a file from the bucket
mc cp --recursive my_minio/<your-bucket-path> <local_dir_path>
-
-
-
Decompress the downloaded archive and upload only the content of the backup folder to Zilliz Cloud.
Migrate data to Zilliz Cloud
With backup files ready, you can migrate the data from local files directly or from object storage.
-
Log in to the Zilliz Cloud console.
-
Go to the target project and select Migrations > Milvus > Via Backup Files.
-
On the Migrate From Milvus page,
-
If your data is on a local file:
- Select From Local File, upload the folder containing your data, and choose the target cluster.
-
If your data is in object storage:
-
Select From Object Storage, choose the service (e.g., S3, Azure Blob, GCP), enter the object URL or S3 URI of your data, provide the necessary credentials, and choose the target cluster.
-
Provide the necessary credentials by specifying the appropriate Credential Type:
-
Long-term: Use this option for persistent access to resources without frequent re-authentication.
-
Session: Choose this for temporary credentials that are valid for a limited duration, ideal for short-lived access during a specific user session.
-
-
-
-
Click Migrate.
Monitor the migration process
Once you click Migrate, a migration job will be generated. You can check the migration progress on the Jobs page. When the job status switches from IN PROGRESS to SUCCESSFUL, the migration is complete.
After migration, verify that the number of collections and entities in the target cluster matches the data source. If discrepancies are found, delete the collections with missing entities and re-migrate them.
Note that Zilliz Cloud exclusively supports AUTOINDEX for optimized indexing, and will automatically index your migrated collection using this algorithm.
Once the collections are loaded, you are free to interact with them using your preferred method.
Cancel migration job
If the migration process encounters any issues, you can take the following steps to troubleshoot and resume the migration:
-
On the Jobs page, identify the failed migration job and cancel it.
-
Click View Details in the Actions column to access the error log.