milvus-standalone跨服务器迁移-local

Milvus Standalone 跨服务器迁移(本地存储迁移)

数据存储在本地且数据量不大(几十w不算大)时,Milvus迁移很简单:打包数据目录 → 传到目标机 → 解压 → 重启服务

背景

我在milvus容器启动时设置了-e COMMON_STORAGETYPE=local,所以数据存储在本地磁盘,而非常见的对象存储。下面简单补充Milvus数据存储的基础知识,常见的包括以下3种类型(实际不止3种):

存储类型 用途 可选实现 备注
对象存储 持久化存储向量数据、索引文件和日志 MinIO(默认)、AWSS3、Azure Blob Storage、GCS、阿里云 OSS 配置在minio 部分
本地存储 搜索/查询期间缓存向量数据,减少远程存储访问延迟 --- 默认路径/var/lib/milvus/data/
元数据存储 存储集合元数据、模式定义和集群状态 etcd(默认)、TiKV TiKV 支持更大规模水平扩展

迁移步骤

1. 源服务器 A:打包数据

为避免数据写入中断,在打包前先必须停止 Milvus 容器,所以一定要在非业务峰期进行。

bash 复制代码
# 停止 Milvus 容器()
docker stop <container_name>

# 打包 volumes 数据目录
tar -czvf milvus_local_backup_20260622.tar.gz /path/to/volumes

# 重新启动源服务器 Milvus
docker start <container_name>

volumes 目录结构参考:

复制代码
volumes/
├── milvus/
│   ├── data/
│   ├── etcd/
│   ├── rdb_data/
│   └── rdb_data_meta_kv/

2. 传输到目标服务器 B

选择传输方式后,将压缩包传到目标机。

3. 目标服务器 B:解压

bash 复制代码
tar -xzvf milvus_local_backup_20260622.tar.gz -C /path/to/volumes

4. 启动 Milvus

使用与源服务器相同的 docker 指令启动容器。需保证以下文件和原始服务器配置保持一致:

文件/配置 说明
volumes/ 重要数据目录,容器内外路径映射一致
user.yaml 自定义配置
embedEtcd.yaml etcd 配置文件
Milvus 镜像版本 源和目标使用相同版本

5. 验证

  • 检查数据量是否一致
  • 测试查询效果是否正常

预告: 下一篇介绍对于本地存储,使用milvus-backup工具进行跨服务器迁移, 不过对于本地存储且数据量不大的milvus数据, 真是杀鸡焉用牛刀。

相关推荐
SXJR16 天前
spring boot + langchain4j +milvus实现向量存储
java·spring boot·后端·大模型·milvus·rag·langchain4j
救救孩子把16 天前
11 Milvus-HNSW原理与实战
milvus
救救孩子把16 天前
13 Milvus-混合检索HybridSearch
milvus
海天一色y16 天前
深入理解 RAG 技术:从语义张量到向量数据库,Milvus 与 FAISS 全面对比
数据库·milvus·faiss
小饕17 天前
RAG学习之【向量数据库】Milvus 从入门到精通:索引、检索、混合搜索一篇打通(RAG 必备)
数据库·人工智能·学习·milvus
SilentSamsara17 天前
向量数据库实战:Chroma/Milvus/Qdrant 选型与语义搜索应用
开发语言·数据库·人工智能·python·青少年编程·milvus
救救孩子把17 天前
06 Milvus-Collection设计
milvus
沪漂阿龙17 天前
Vector Store:FAISS、Chroma、Milvus、Qdrant、ES 怎么选?
人工智能·elasticsearch·架构·milvus·faiss
救救孩子把18 天前
09 Milvus-向量索引原理
milvus