差异备份是一种数据备份,它复制自上次执行完整备份以来已更改的所有文件。 这包括以任何方式创建、更新或更改的任何数据,并且不会每次都复制所有数据。 差异备份一词源于仅复制“不同”数据的概念。从概念上讲,差异备份位于完整备份和增量备份之间。 差异备份在效率和复杂性方面处于中间位置。 但是,如今使用的大多数备份都是增量备份。
差异备份
什么是差异备份以及它如何工作?
差异备份是一种经常用作备份策略的一部分的备份。 第一次运行差异备份时,会创建完整备份。 后续备份仅将对文件所做的更改保存到完整备份中。 第一次差异备份与第一次增量备份没有区别。 顶级备份选项仅与下一个备份不同。
为了比较对文件所做的更改,使用了各种方法。 最简单的情况是比较上次完整备份的文件时间戳及其当前状态。 如果当前状态下的文件时间戳较新,则表明该文件自上次完整备份后已被修改,必须重新备份。 通过从两个文件版本的内容计算哈希值来实现更高的精度。 如果两个哈希值不同,则该文件已被修改并将包含在差异备份中。
要重建差异备份,首先还原最后的完整备份。 然后导入差异备份中包含的更改。 完整备份中存在的任何数据都会在此过程中被覆盖。 结果是差异备份时数据集的镜像。
差异备份的优缺点是什么?
就效率而言,差异备份是完整备份和增量备份之间的良好折衷。差异备份的创建和恢复复杂性也低于增量备份,略高于完全备份。
- 差异备份的优点
首先,定期创建差异备份比重复创建完整备份更有效。这是因为仅备份自上次完整备份以来更改的数据。同时,差异备份比增量备份更健壮。与增量备份不同,不会创建相关备份链。相反,每个差异备份仅指最后一次完整备份。如果单个链接中断,这可以最大限度地降低整个备份链变得不可用的风险。
要从差异备份恢复,只需要两个数据集:差异备份和关联的完整备份。由于其复杂性低,可以使用板载工具创建和恢复差异备份,而无需专门的软件。
- 差异备份的缺点
差异备份的缺点是还原需要最后一次完整备份和差异备份。 如果完整备份已损坏,则差异备份基本上毫无价值。
创建相同完整备份的连续差异备份会导致备份数据的高度冗余。 例如,星期四的差异备份除了完整备份之外还包含星期一、星期二和星期三的更改。 由此可见,周四的差异备份大于周三的差异备份,小于周五的差异备份。
何时使用差异备份?
通常,如果数据量不会增长太多或单个差异备份之间的间隔很短,则差异备份是合适的。要在不使用专业软件或硬件的情况下以简单的方式创建和恢复备份,差异备份是一个不错的选择。
企业使用的传统备份策略往往包括每个周末的完整备份和每日差异备份。遵循 3-2-1-backup 规则,至少一个备份应该在云中。由于数据量大,增量云备份现在更加普遍。
当今使用最广泛的备份软件可以创建增量备份。例如,要在 Mac 上进行备份,您可以使用内置软件“Time Machine”来生成增量备份。无论您使用的是内置的 Windows 备份还是流行的工具 Robocopy Backup,在 Windows 10 中创建备份都非常相似。在这两种情况下,备份都是增量创建的。
要使用 rsync 创建服务器备份,您可以创建差异备份。结果是差异备份,其中包含自上次完整备份以来在单独目录中的更改。让我们看一下各个步骤:
首先,创建完整备份:
1
|
rsync -a <source-dir>/ <target-path></target-path></source-dir>
|
完整备份位于目录 target-path/source-dir/ 中。
之后会创建更改的差异备份:
1
|
rsync -a –compare-dest=<path-to full-backup> <source-dir>/ <diff-target>/</diff-target></source-dir></path-to>
|
修改后的文件位于目录 diff-target/ 中。
要恢复数据,只需反转该过程即可。 同样,需要两个 Rsync 复制操作:
将完整备份复制回源:
1
|
rsync -a <target-path source-dir>/ <source-path></source-path></target-path>
|
将差异备份与完整备份合并:
1
|
rsync -a <target-path>/<diff-target>/ <source-path></source-path></diff-target></target-path>
|
提示
使用云备份软件保护您的企业免受数据丢失和勒索软件加密!