什么是 Snapshot?
Snapshot(中文常译为“快照”)是指在某一特定时间点对系统、数据、虚拟机或应用程序状态所作的完整副本或记录。该副本可用于恢复、备份、调试或分析。
常见应用场景
- 虚拟化环境:如 VMware、VirtualBox 中对虚拟机状态进行快照,便于回滚到之前的状态。
- 数据库系统:如 PostgreSQL、Oracle 支持事务快照,用于实现一致性读取。
- 文件系统:如 ZFS、Btrfs 等支持文件系统级快照,用于高效备份和恢复。
- 版本控制系统:Git 的每次提交本质上也是一种代码快照。
技术原理简述
快照通常采用“写时复制”(Copy-on-Write)或“重定向写入”(Redirect-on-Write)等机制,在不完全复制原始数据的前提下,高效记录变化前的状态。这使得快照操作快速且节省存储空间。
注意事项
虽然快照非常有用,但不应完全替代传统备份策略。快照依赖于原始存储介质,若底层磁盘损坏,快照也可能丢失。