热备(Hot Backup)和冷备(Cold Backup)是两种核心的备份策略,其是针对业务系统的可用性状态和数据一致性需求而言的,核心区别在于备份时系统是否在线运行以及数据是否可读写。
是否需要业务持续运行?
├── 是 → 是否需要强一致性?
│ ├── 是 → 热备 + 事务日志(如MySQL Group Replication)
│ └── 否 → 热备 + 最终一致性(如MongoDB副本集)
└── 否 → 冷备(如停机后tar、zip打包)
简单来说,
热备 = 在线备份,不允许停机,适合核心生产系统,例如银行。
冷备 = 离线备份,可容忍停机,适合非关键数据,例如静态网站。
区别:
热备(Hot Backup) | 冷备(Cold Backup) | |
服务状态 | 在线运行中备份 | 完全停止后备份 |
数据一致性 | 可能存在短暂不一致(结合事务日志恢复) | 数据完全一致(静态备份) |
备份速度 | 慢(避免影响业务) | 快 |
恢复时间 | 短 | 长 |
资源占用 | 高(占用CPU/IO资源) | 低 |
二者的实现方式:
1. 数据库热备(mysql)
#安装XtraBackup(物理热备工具 Percona XtraBackup)
yum install Percona XtraBackup -y
# 执行备份
xtrabackup --backup --target-dir=/backup/
2.数据库冷备
#直接复制数据目录,停止服务后拷贝数据文件
#停止mysql服务
systemctl stop mysqld
#复制数据目录
cp -r /var/lib/mysql /path/to/backup
#或者
rsync -av /var/lib/mysql/ /backup/full_$(date +%F)
#重启服务
systemctl start mysqld
共同点:
保障数据安全,防止数据丢失,均可使用增量/全量备份策略,需要规划备份窗口和存储空间,必须定期演练恢复流程。
混合架构实践:
运维常采用热备+冷备组合方案:
-
热备:实时保护核心数据(如数据库主从同步)
-
冷备:每日/每周全量备份到离线磁带(防勒索软件)
优势:
-
热备保障快速恢复(RTO分钟级)
-
冷备提供最终一致性兜底(防止逻辑错误)