快照与备份是什么
快照是存储层生成的时间点视图:它记录某一刻的数据状态,创建与回滚都很快,但通常与源数据共享同一份底层存储。备份是独立副本:数据被复制到另一套介质或另一个位置,恢复更慢,但能对抗源卷损坏、误删与区域性故障。两者解决的问题并不相同。
快照与备份对比
| 维度 | 快照 | 备份 |
|---|---|---|
| 独立性 | 依赖源存储卷 | 独立副本 |
| 典型用途 | 变更回滚、短时保护 | 长期数据保护 |
| 误删场景 | 源卷误删可能一并受牵连 | 可离线恢复 |
| 恢复速度 | 回滚较快 | 取决于介质与数据量 |
| 保留周期 | 通常以小时到天计 | 可按月或按年保留 |
为什么快照不能当备份
快照依赖源卷所在的存储系统:阵列故障、卷被删除、存储池损坏都会连带影响快照;勒索软件加密源卷时,同存储的在线快照往往一起被加密。快照的价值在于快,它适合变更回滚与短时保护,不适合独立承担长期数据保护职责。
基本信息
| 快照层级 | 存储层或文件系统层 |
|---|---|
| 备份层级 | 应用层、文件层或块层皆可实现 |
| 创建耗时 | 快照秒级到分钟级,备份受数据量与带宽限制 |
| 恢复方式 | 回滚卷或挂载快照读出文件 |
常见快照实现
| 实现 | 层级 | 说明 |
|---|---|---|
| LVM 快照 | Linux 逻辑卷 | 占用空间与快照期间的写入量相关 |
| 云盘快照 | 块存储 | 增量上传,可跨区域复制 |
| 文件系统快照 | ZFS 与 Btrfs | 写时复制,创建几乎瞬时 |
| 存储阵列快照 | 企业存储 | 与阵列功能绑定,通常最省主机开销 |
快照的合理用途
- 变更前保护:升级或大改配置前打一份快照,出问题分钟级回滚
- 备份加速:先打快照,再从快照读数据做备份,缩短对生产系统的锁定时间
- 测试环境搭建:从生产快照克隆出一套环境,不必在生产上直接操作
- 短周期恢复点:白天每小时打一次快照,覆盖误操作这一类高频事故
- 数据导出:挂载快照读取历史版本文件,避免影响在线业务
选择依据
- 看故障类型:误删与配置错误用快照就够,磁盘损坏与区域故障必须靠备份
- 看保留时长:需要保留数周以上时,快照的存储与管理成本通常高于备份
- 看合规要求:审计要求的是独立副本与验证记录,快照很难满足
- 看数据重要性:核心数据两者都要,一般数据可按成本取舍
快照配合备份的动作
快照配合备份的动作
lvcreate --size 20G --snapshot --name data_snap /dev/vg0/data # 创建 LVM 快照
mount -o ro /dev/vg0/data_snap /mnt/snap # 只读挂载快照
rsync -a /mnt/snap/ /backup/data/ # 从快照读数据做备份
umount /mnt/snap && lvremove -f /dev/vg0/data_snap # 备份完成后清理快照把快照当备份的风险:存储阵列故障、快照链被清理、勒索软件加密源卷时,快照可能一并不可用。
快照默认与源数据同存储,跨区复制或导出为独立副本之后才具备异地保护能力;快照数量累积也会占用存储并影响性能,需要设置自动清理策略。
实践中常见组合是先打快照再备份:快照负责把时间点固定下来,备份负责把数据搬到独立介质,两者配合既缩短了业务停顿,也保留了独立副本。