存储数据保护技术——快照 Snapshot
定义
存储网络行业协会SNIA(StorageNetworking Industry Association)对快照(Snapshot)的定义是:关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品。
作用
存储快照是数据的点对点副本,捕捉了某一时刻的完整数据状态。这些快照是存储系统中的元数据和数据块的组合,以提供对数据历史版本的快速访问和恢复能力。
快照的作用主要是能够进行在线数据备份与恢复。当存储设备发生应用故障或者文件损坏时可以进行快速的数据恢复,将数据恢复某个可用的时间点的状态。快照的另一个作用是为存储用户提供了另外一个数据访问通道,当原数据进行在线应用处理时,用户可以访问快照数据,还可以利用快照进行测试等工作。所有存储系统,不论高中低端,只要应用于在线系统,那么快照就成为一个不可或缺的功能。
优点
- 快速恢复:通过存储快照,用户可以快速还原数据到先前的状态,从而减少了系统中断时间。
- 节省存储空间:存储快照通常只存储数据的变化部分,因此可以节省存储空间。
- 降低备份成本:快照可以用作备份的一部分,避免了对整个数据集的完全备份,从而降低了备份成本和时间。
应用场景
- 数据保护与恢复:快照可用于保护数据免受意外删除、损坏或恶意软件攻击,并支持快速数据恢复。
- 测试与开发:在开发和测试过程中,可以使用快照来创建数据的可重现副本,以进行软件开发、测试和调试。
- 虚拟化环境:在虚拟化环境中,存储快照可以用于创建虚拟机的备份和克隆,以便于快速部署和管理虚拟化资源。
注意事项
- 性能开销:存储快照可能会对系统性能产生一定的影响,特别是在频繁创建和管理大量快照时。
- 数据一致性:在创建快照时,需要确保数据的一致性,以避免损坏或不完整的快照导致数据恢复问题。
相关术语
-
源卷(Source Volume):生成快照的原始存储卷或数据集。快照通常是源卷的副本,用于保护和管理源数据。
-
目标卷(Target Volume):存储快照的位置,通常是一个单独的卷或存储空间。目标卷可以用于还原数据或创建新的副本。
-
快照链(Snapshot Chain):多个快照按照时间顺序形成的链式结构。每个快照记录了一个特定时刻的数据状态,并链接到前一个快照,以支持数据恢复和管理。
-
快照回滚(Snapshot Rollback):将存储卷或数据集恢复到先前快照的状态。回滚操作通常会丢失源卷自快照创建以来的所有更改。
-
快照映射表(Snapshot Mapping Table):用于记录存储卷或数据集的快照信息,包括快照的标识符、创建时间、所属卷等,以便系统能够准确地定位和管理快照。
-
活跃快照(Active Snapshot):当前正在使用的快照,通常是用于读取或写入数据的快照。活跃快照可以是全量快照或增量快照。
-
未激活快照(Inactive Snapshot):处于非活跃状态的快照,通常是先前创建的快照或被标记为不活跃的快照。未激活快照可以被保留或删除,以释放存储空间。
-
快照恢复(Snapshot Restore):将存储卷或数据集恢复到先前的快照状态的过程,以还原数据或回滚到先前的状态。快照恢复可以是整体恢复,也可以是选择性恢复。
-
快照克隆(Snapshot Clone):基于现有的快照创建一个完全独立的副本,克隆的数据和原始数据完全分离,可以用于测试、开发或其他目的。
-
快照策略(Snapshot Policy):定义了快照的创建、保留和删除规则,包括快照的频率、保留时间、最大数量等,以满足特定的业务需求和存储管理策略。
实现方式
存储快照可以通过不同的方法实现,包括基于写时复制(Copy-On-Write)、基于镜像(Mirror-based)、基于差异(Differential-based)等技术。这些方法都旨在以最有效的方式创建和管理数据快照,以降低存储和性能开销。
快照实现方式
│
├── 全量快照
│
└── 增量快照
│
├── ROW (Redirect-On-Write)
│
└── COW (Copy-On-Write)
全量快照
全量快照(Full Snapshot)记录整个存储卷或数据集的状态的快照。与增量快照不同,全量快照会记录所有数据,因此需要更多的存储空间和时间。
增量快照
增量快照(Incremental Snapshot)只记录自上次快照以来发生变化的数据的快照。这种快照方式可以节省存储空间和时间,并减少对系统性能的影响。
ROW
工作原理——
ROW (Redirect-On-Write) 在创建快照时,当写入操作发生时,系统首先将发生变化的数据块写入到新的位置,然后将原始数据的指针重定向(Redirect)到新的位置,从而将写入操作重定向到快照中。
优点——
- 快照链维护简单:每个快照只记录数据发生变化的部分,因此快照链比较简单。
- 读取性能高:由于原始数据不受写入操作的影响,因此读取性能通常较高。
缺点——
- 写入性能相对较低:在写入时,需要额外的重定向操作,可能会影响写入性能。
- 快照链管理复杂性:尽管快照链相对简单,但需要确保链中的每个快照都能准确跟踪数据的变化。
COW
工作原理——
COW (Copy-On-Write) 在创建快照时,当写入操作发生时,系统首先创建数据的副本,然后将写入操作应用于副本数据,从而保持原始数据的完整性。因此,只有在发生写入操作时才会对数据进行复制(Copy),这就是所谓的“写时复制”。
优点——
- 存储空间利用率高:只有在数据发生变化时才会复制数据,节省了存储空间。
- 快速创建快照:由于只需复制变化的数据块,因此创建快照的速度较快。
缺点——
- 写入性能相对较低:在写入时,需要复制发生变化的数据块,可能会影响写入性能。
- 快照链管理复杂性:需要维护快照链以跟踪数据变化,尤其是当存在多个快照时,管理可能会变得更加复杂。

浙公网安备 33010602011771号