合成完整备份(synthetic full backup)的发明是过去几十年来备份技术界最重要的进步之一,与基于磁盘的备份、重复数据删除、持续数据保护(CDP)和云一样重要。
本文介绍了它是如何形成的,并解释了它具有的好处。
传统备份方案
备份行业所说的备份级别实际上有两大类:
您要么备份所有内容(完整备份),要么仅备份变化的内容(增量备份)。有不同类型的增量备份,但这与本文无关。典型的环境是每晚运行增量备份、每周运行完整备份,或甚至频次比这还低。
定期完整备份的原因是执行恢复时需要这么做。传统备份软件会恢复完整备份上的所有数据,即使该磁带上的一些数据已被增量备份上较新版本的数据所代替。然后,恢复过程会开始按照创建的顺序从诸增量备份恢复新的文件或更新后的文件。
至少可以说,执行多次恢复(其中一些恢复被覆盖的数据)的这种方法效率低下。如果恢复的内容来自磁带,你还要算上插入装载每个磁带、找到磁带上的适当位置以及不再需要磁带时弹出磁带所需要的时间。这一过程每个磁带需要5分钟以上。
这意味着使用这种类型的配置,完整备份频次越高,恢复速度越快,因为它们浪费的时间较少。(从恢复的角度来看,最好每晚进行完整备份。)这就是为什么在所有系统上每周执行一次完整备份很常见。随着系统的自动化程度提高,一些从业人员改为每月或每季度执行一次完整备份。
然而,在活动服务器或虚拟机上执行完整备份会给该服务器带来相当大的负荷。这促使备份管理员尽可能减少完整备份的频次,即使这导致恢复时间较长。备份和恢复效率之间的这种博弈是合成备份出现的主要原因。
什么是合成完整备份?
合成完整备份是这样一种备份:恢复过程中相当于完整备份,但备份过程中并非如此。实际上,在典型的合成完整备份中,完整备份几乎被取消了。做到这一点的主要方法有三种。
创建合成完整备份的第一种(可能也是最常见的)方法是,从可用备份中创建一个。备份系统为每次备份期间它找到的所有数据保留一份目录。因此在任何时候,它知道将会在完整备份上的所有文件、那些文件的哪些版本。它只是将每个文件从一种介质复制到另一种介质。只要有多个设备可用,该方法就适用于磁带或磁盘。
执行合成完整备份的这种方法可能很费时间。然而,该过程可以在一天中任何时间运行,对备份的系统没有任何影响。实际上,备份的服务器或虚拟机完全未参与进来。从某种意义上讲,生成的备份都是完整备份,后续的增量备份可以基于该完整备份。该方法的唯一缺点是复制完整备份所需的时间较长。
磁盘用作主要备份目标时,第二种方法才可行。也仅当备份系统将每个变更的文件或块作为单独的对象存储在存储系统中时,才可行。这与备份系统传统上存储备份的方式形成了对比:在传统备份中,许多文件放在容器中(比如tar或专有备份格式)。如果所有变更的文件或块作为单独的数据块存储起来,只要为构成完整备份的所有当前数据块的当前版本创建类似快照的视图,就可以创建合成完整备份。
该方法有许多优点,首先是由于无需移动数据,几乎无需花时间即可创建合成完整备份。这意味着可以极其频繁地创建合成完整备份;事实上,大多数支持合成完整备份的系统都会在每次备份后执行该操作。这意味着,虽然系统仅执行增量备份,但其所有备份用起来相当于完整备份。这通常被称为块级增量永久备份系统,因为它再也不需要使用传统方法或使用上述的复制方法来创建完整备份。
最后,有一种方法在某种程度上结合了这两种方法。这仅适用于目标重复数据删除系统。与上述第二种方法一样,所有备份都作为小数据块存储起来,导致每个变更的文件或块都由存储在目标重复数据删除系统中的许多小数据块来表示。这意味着该设备可以在很短的时间内创建虚拟完整备份(类似上述的增量永久方法)。还可以通过备份产品控制该过程,其中备份产品告诉目标重复数据消除系统创建合成完整备份。与上述的第二种方法一样,该方法非常高效,几乎立马进行。
您的系统是否支持合成完整备份?
无论使用复制方法、永久块级增量备份,还是目标重复数据删除系统使用的虚拟复制方法,合成完整备份在大多数商业备份系统中已很常见。如果您没有使用该功能,可能是时候研究一下你的软硬件系统是否支持该功能。如果不支持,这表明您的备份系统有点落后了。