免费POC, 零成本试错
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


我要投稿

RAGFlow如何做数据备份

发布日期:2025-12-16 21:03:58 浏览次数: 1520
作者:阿铭linux

微信搜一搜,关注“阿铭linux”

推荐语

RAGFlow作为高效RAG系统,数据备份至关重要,本文详解单机版docker环境下的备份方案。

核心内容:
1. RAGFlow各组件角色与数据重要性分析
2. MySQL和MinIO的关键备份操作指南
3. 系统恢复优先级与运维最佳实践

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家
↑ 点击关注,分享IT技术|职场晋升技巧|AI工具

目前我接触过的所有RAG系统里,RAGFlow是我用过效果最好的,当然效果好同样也意味着它的组件很复杂,不仅有用到MySQL数据库还用到了Elastcsearch甚至还有Minio分布式文件系统。

那么数据备份自然也就更加复杂。今天这篇文章主要聊聊如何备份RAGFlow里面的数据。我这里假设环境为单机版,基于docker compose部署。

1、各组件介绍

查看组件:

docker ps

组件列表:

组件
在 RAGFlow 中的角色
主要存储内容
数据是否可再生
infiniflow/ragflow
应用层 / 控制平面 / API
❌ 几乎不存核心数据
✅ 可随时重建
MySQL
元数据数据库
知识库定义、文档元信息、chunk 映射、模型配置、用户数据、任务状态
❌ 不可自动重建
MinIO
对象存储(知识本体)
原始文档、解析文件、chunk 文本、embedding 中间数据
❌❌ 不可重建
Elasticsearch
向量库 + 检索引擎
向量索引、倒排索引、chunk 文本副本
✅ 可重建

2、运维视角关键结论

维度
结论
最重要的数据
MinIO
系统大脑
MySQL
性能核心
Elasticsearch
可随时重建
RAGFlow 容器
恢复优先级
MinIO → MySQL → Elasticsearch → RAGFlow
ES 是否必须备份
非必须,但强烈推荐(节省重建时间)

3、备份mysql数据

查看mysql容器名字:

docker ps |grep mysql|awk '{print $NF}'

创建备份目录

mkdir -p /opt/ragflow_backup/mysql

备份脚本:

docker exec docker-mysql-1 \  mysqldump \  -uroot \  -pinfini_rag_flow \  --single-transaction \  --databases rag_flow \  > /opt/ragflow_backup/mysql/ragflow_$(date +%F).sql

说明:mysql的用户名和密码在docker/.env里面找

4、备份Minio数据

安装mc工具(宿主机上操作)

wget https://dl.min.io/client/mc/release/linux-amd64/mcchmod +x mcmv mc /usr/local/bin/

查看MINIO的用户名和密码

grep -E 'MINIO_USER|MINIO_PASS' docker/.env

设置alias

mc alias set ragflow http://127.0.0.1:9000 rag_flow infini_rag_flow

创建备份目录

mkdir -p /opt/ragflow_backup/minio

查看bucket

mc alias ls  ##查看aliasmc ls ragflow  ##指定alias

备份bucket数据(支持增量备份)

mc mirror --overwrite ragflow/  /opt/ragflow_backup/minio/

5、备份ElasticSearch数据

创建备份目录

mkdir -p /opt/ragflow_backup/eschmod 777  /opt/ragflow_backup/es

docker容器中挂载备份目录,修改安全配置,增加repo目录

vi docker/docker-compose-base.yml volumes:      - esdata01:/usr/share/elasticsearch/data改为:volumes:      - esdata01:/usr/share/elasticsearch/data      - /opt/ragflow_backup/es:/es_backup- xpack.security.enabled=true改为- xpack.security.enabled=false并在其下面增加:- path.repo=/es_backup

重新启动es服务

docker compose up  -d  es01

在es中注册repo

curl -u elastic:infini_rag_flow \ -X PUT http://localhost:1200/_snapshot/ragflow_backup \   -H 'Content-Type: application/json'   -d '{    "type""fs",    "settings": {      "location""/es_backup"    }  }'

说明:-u后面是es的用户名和密码,其中密码在docker/.env里查看“ELASTIC_PASSWORD”

生成快照,这样就备份了es的数据了

curl -u elastic:infini_rag_flow  \  -X PUT "http://localhost:1200/_snapshot/ragflow_backup/snapshot_2025_12_16" \  -H "Content-Type: application/json" -d '{    "indices""*",    "ignore_unavailable"true,    "include_global_state"false  }'

查看仓库列表

curl -u elastic:infini_rag_flow \ http://localhost:1200/_snapshot/_all?pretty

查看指定仓库里的快照列表

curl -u elastic:infini_rag_flow \  http://localhost:1200/_snapshot/ragflow_backup/_all?pretty

查看指定快照情况

curl -u elastic:infini_rag_flow \ http://localhost:1200/_snapshot/ragflow_backup/snapshot_2025_12_16?pretty

最后介绍下我的大模型课:我的运维大模型课上线了,目前还在预售期,有很大优惠。AI越来越成熟了,大模型技术需求量也越来越多了,至少我觉得这个方向要比传统的后端开发、前端开发、测试、运维等方向的机会更大,而且一点都不卷!

扫码咨询优惠(粉丝折扣大)

··············  END  ··············
哈喽,我是阿铭,《跟阿铭学Linux》作者,曾就职于腾讯,有着18年的IT从业经验,现全职做IT类职业培训:运维、k8s、大模型。日常分享运维、AI、大模型相关技术以及职场相关,欢迎围观。
         

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询