冗余 versus 备份
冗余 != 备份
冗余 | 备份 |
---|---|
|
|
可以离线多少时间? | 可以丢失多少数据? |
备份策略
mongodump / mongorestore
- 导出BSON文件
- 可以选择备份Namespace
- 可以通过Oplog实现时间点恢复(Point-in-time)
- 缺点
- 速度较慢
- 分片集群需同步
文件系统备份
- 常见方式
- 文件复制
- 文件系统或块存储快照,如LVM 或AWS EBS
- 速度最快
缺点
- 日志文件(journal)落盘
- 无法选择性备份
- 备份文件占用空间较大
- 分片同步问题
Backup服务
- MongoDB开发
- 操作简单
- 选择性备份
- 时间点恢复
- 缺点
- 无法备份Standalone mongod
小结
- 分片集群备份时的同步问题
- 若无法恢复,失去备份意义
- 持续恢复?
Backup服务
Backup & Restore系统
是MongoDB云服务系统的主要组件之一,目标是降低备份难度(只需要安装agent)
类似Secondary | 又不是Secondary |
---|---|
|
|
Backup Agent
- 可执行文件,用GO语言编写
- 无状态,从Ingestion获得配置命令
- 发送InitialSync数据
- 传输Oplog流
- 对于Sharded Cluster快照,试图同步Shards和Config servers
- 序列化BSON,压缩,网络传输