Where Does Milvus Store Vectors and Metadata?
Milvus splits state across etcd, MinIO, and its own volume, mapped to ./volumes subfolders in compose installs.
Last updated
Milvus never keeps everything in one folder. Etcd holds collection metadata, MinIO holds vector and index data, and the Milvus container holds unconsumed writes. Compose installs map all three to ./volumes subfolders next to the compose file.
Backups must capture the trio as a set while the stack is stopped. The metadata points at specific data files, so archiving one volume without the others restores a database that references files it cannot find.
Where Milvus stores this, by platform
./volumes/milvus
Milvus container data at /var/lib/milvus, etcd at /etcd, MinIO at /minio_data. Map all three to host ./volumes children and keep them together.
/var/lib/milvus
Container side of the main mount. Etcd and MinIO have parallel mounts. Single container runs merge everything under this tree.
Frequently asked questions
How do I back up a standalone Milvus install?
Stop the whole stack first, then archive the etcd, minio, and milvus volumes together. Copying while running splits metadata from data files and produces NoSuchKey errors.
Can I read the MinIO files directly?
Use the milvus-backup tool between instances. Raw files in MinIO use internal columnar formats that no outside parser reads directly.
How do I move Milvus data off the system disk?
Point rocksmq.path, etcd data, and localStorage.path at the new disk in milvus.yaml, or remap the compose volumes. Embedded etcd defaults under /tmp otherwise.
Notice an outdated path? Let us know.