各库的备份手段不一样
备份方式要按数据库的能力组合:MongoDB 用 mongodump 做逻辑备份或文件系统快照,副本集加 oplog 可支持时间点恢复;Elasticsearch 用快照仓库;ClickHouse 用 BACKUP 语句;Redis 复制 RDB 或 AOF 文件;InfluxDB 2.x 用 influx backup。选型前先明确恢复目标,再决定用逻辑备份还是物理快照。
备份之外还要做恢复演练
备份文件要放在与数据不同的存储上,否则磁盘故障时副本会一起失效;恢复演练要记录实际耗时,作为恢复目标的依据。没有演练过的备份只能算"可能可用",关键时刻才会暴露流程问题。
基本信息
| MongoDB | mongodump 逻辑备份或文件系统快照,副本集可加 oplog 做时间点恢复 |
|---|---|
| Elasticsearch | 快照仓库,需要所有数据节点可访问同一路径 |
| ClickHouse | BACKUP 语句,旧实例用 FREEZE 加硬链接拷贝 |
| Redis | BGSAVE 后取 RDB 文件,或按需保存 AOF |
| InfluxDB 2.x | influx backup 命令 |
常用命令
常用命令
# MongoDB 逻辑备份(副本集可加 --oplog 支持时间点恢复)
mongodump --uri="mongodb://127.0.0.1:27017" --out=/backup/mongo-20261012
# Elasticsearch:先注册仓库再创建快照
curl -X PUT "localhost:9200/_snapshot/backup_repo" -H 'Content-Type: application/json' \
-d '{"type":"fs","settings":{"location":"/data/es-snapshots"}}'
curl -X PUT "localhost:9200/_snapshot/backup_repo/snap-20261012?wait_for_completion=false"
# ClickHouse:备份到预定义磁盘
clickhouse-client -q "BACKUP TABLE logs.events TO Disk('backups', 'events-20261012.zip')"
# Redis 与 InfluxDB
redis-cli BGSAVE
influx backup /backup/influx --bucket metrics典型使用场景
- 日常备份:按库选择逻辑备份或快照,纳入定时任务
- 变更前快照:升级或大改造前留一份可回滚副本
- 时间点恢复:需要恢复到某时刻时依赖 oplog 一类增量
- 审计合规:保留周期与存储位置按合规要求管理
- 恢复演练:定期在隔离环境验证流程与耗时
备份类型对比
| 类型 | 代表 | 特点 |
|---|---|---|
| 逻辑备份 | mongodump 一类导出工具 | 可跨版本迁移、体积大、恢复慢 |
| 物理快照 | 文件系统或云盘快照、快照仓库 | 速度快、与引擎版本绑定 |
| 时间点恢复 | oplog、binlog、WAL 归档 | 窗口内任意点恢复,需要额外存储 |
备份文件要放在独立存储(对象存储或另一块盘):与数据同盘的副本在磁盘故障时会一起失效;恢复演练记录下的耗时就是恢复目标的现实依据。
mongodump 不加 oplog 时,导出过程中的并发写入会让恢复点不一致;ES 快照仓库路径必须被所有数据节点挂载且权限一致,否则注册成功但快照失败。