在进行快照时,虚拟化控制台会与VM kernel通讯,短时间截断该虚拟机上IO流、将IO操作进行悬挂,从而尽可能保障虚拟化系统进行快照时虚拟机上数据的一致性。这时虚拟机大部分IO处于悬挂,部分资源用于生成快照。这是快照对于虚拟机的影响,有影响、但很小。
进行快照时还会为虚拟机快照产生一个差异文件,记录快照创建后对虚拟机及文件系统的更改。快照后,原有的可读写的数据就会被置成只读状态,通过in-file delta校验技术,生成新的文件(差异文件)用于保留所有相对于原磁盘文件发生了改变的数据块部分。假设在快照创建后,所有的原数据块都发生过改变,那么快照文件的大小就增长到和原磁盘一样大,增加了虚拟化存储的开销。
快照作为一种数据一致性保障的常用技术手段,通常被其他数据保护产品调用,这个是正常的。
但是……但是……当(针对某台虚拟机的)快照积累到一定程度,每次为此虚拟机创建新的快照,其运行速度都会变慢。每个快照都会建立相应的差异文件,如果虚拟机需要读取多个差异文件,不仅增加了存储空间的消耗,也会增加系统的负担,同时延长虚拟机的响应时间、产生额外的存储性能消耗。
通过虚拟化快照接口调用的备份
在上一个备份技术的基础上,再加上与虚拟化控制台的对接通讯,备份时调用快照接口进行快照,然后将数据传输过来备份。备份完成后删除快照。
基于快照级的重删的备份
一般需要安装客户端软件,若不安装,只能做后删备份。
虚拟机快照跑不了,备份软件会对虚拟机生成的快照及其对应数据进行重复数据删除处理,然后将重删后的数据备份走。如果采用了D.R恢复技术的备份,那么还会为此虚拟机生成一份备份系统的元数据(类似于索引的作用),用于记录此虚拟机的备份信息(包括虚拟机的备份情况以及备份位置等),方便在D.R恢复时直接查找元数据确定需要准备的资源。
还有一部分和虚拟化厂商进行特殊化对接的备份引擎
还是以快照为基础,但在快照的调用过程中传递了一些特殊的参数能够实现非标准快照接口无法实现的功能,如针对VMDK的深层字节重删、探测感知文件系统无效数据等,但备份原理还是差不多,快照---传输快照数据---备份。这种厂商比较少,技术细节基本不透露,所以了解较少。有知悉技术细节的可以分享,大家学习下。