快照技术
随着企业数据量逐渐增加且数据增长速度不断加快,缩短备份窗口成为系统管理员重点关注的问题,以在线方式对数据进行保护,提升数据保护的简易性,
降低数据保护的代价,提高数据保护过程中的应用感知能力,逐步成为客户的首要需求。快照备份技术逐渐成为解决这一问题的有效方法之一。
一、快照概念介绍
存储网络行业协会(SNIA)对快照的定义是:对指定数据集合的一个完全可用拷贝,该拷贝包含源数据在拷贝时间点的静态影像。
快照可以是数据再现的一个副本或者复制。对于文件系统来说,文件系统快照是文件系统的一个即时拷贝,它包含了文件系统在快照生成时刻所有的信息,本身也是一个完整可用的副本。
二、快照实现方式
快照的一个特性是快,所以不能在获取的时候才进行文件复制备份,而采用了全拷贝快照和差分快照两种设计,其中差分快照又分为COW(写时复制快照)和ROW(写是重定向快照)两种。
1.镜像分离快照(属于全拷贝快照)
这种快照方式比较简单,先创建一个原始卷的镜像卷,每次写磁盘的时候,都会往原始卷和快照卷同时写入内容,当启动快照时,则镜像卷能快速脱离,生成一个快照卷。
然后重新创建一个原始卷的镜像卷,等待下次快照。
可以看到这种方案最大的缺点是很费磁盘空间,每个快照都需要占用和原始卷同样的空间,而且写数据时同时写两份,对写入性能影响比较大。优点是快照生成和恢复都方便,而且数据隔离很好,不存在快照卷和原始卷的相互影响。
2.COW(写时复制快照)
写时复制快照使用预先分配的快照空间进行快照创建,在快照时间点之后,没有物理数据复制发生,仅仅复制了原始数据物理位置的元数据。因此,快照创建非常快,
可以瞬间完成。然后,快照副本跟踪原始卷的数据变化(即原始卷写操作),一旦原始卷数据块发生首次更新,则先将原始卷数据块读出并写入快照卷,然后用新数据
块覆盖原始卷。写时复制,因此而得名。但是这种方式有一个很明显的缺点,就是会降低原始卷的写性能,因此每次写入,都需要先备份原始数据到快照区。
3、ROW(写时重定向快照)
快照后的写操作会进行重定向,所有的写IO都被重定向到新卷中。所有旧数据均保留在只读的源卷中。这样做的好处是每次生成的快照文件都是放在连续的存储区域,
同时解决了COW写两次的性能问题。
磁盘做多个快照后,会产生一个快照链,虚拟机卷始终挂载在快照链的最末端。例如如果一共保存了10次快照,在快照恢复时,要恢复最新的备份点,则需要10个快照文件
一起来恢复。可以看到ROW的主要缺点是没有一个完整的快照卷,如果快照层级越多,进行快照恢复时的系统开销会比较大。
三、快照应用场景
1.使用快照可以在以下场景中迅速恢复数据:
·病毒感染
·人为误操作
·恶意篡改
·系统宕机造成的数据损坏
·应用程序BUG造成的数据损坏
·存储系统BUG造成的数据损坏
下面以病毒感染为例介绍了利用快照进行数据备份及恢复的整个过程。
发现病毒感染等问题以后,利用最新的快照对数据进行restore(回滚),大多数情况下,整个恢复过程可以在几秒内完成。
2.利用快照可减少备份时对业务的影响。
·到达备份时间点后,对应用数据创建本地快照,同时启动拷贝将快照拷贝至远端备份存储。
·拷贝过程中不需要停止业务,应用服务器上的程序运行不受影响。
·拷贝完成后删除快照,释放快照占用的资源。
·源数据出现损坏后(包括物理介质损坏),可以通过备份数据进行快速恢复。