上一节概述的简单备份方法通常非常适合个人使用或小型站点。对于更繁重的使用,多级备份更合适。
简单方法有两个备份级别:完全备份和增量备份。这可以推广到任意数量的级别。完全备份将为级别 0,而不同级别的增量备份为级别 1、2、3 等。在每个增量备份级别,您备份自相同或先前级别的上次备份以来已更改的所有内容。
这样做的目的是可以廉价地获得更长的备份历史记录。在上一节的示例中,备份历史记录可以追溯到之前的完全备份。这可以通过使用更多磁带进行扩展,但每盘新磁带只能延长一周,这可能太昂贵了。更长的备份历史记录很有用,因为删除或损坏的文件通常在很长时间后才被注意到。即使是文件的版本不是很新,也比没有文件好。
使用多级备份可以更经济地扩展备份历史记录。例如,如果我们购买十盘磁带,我们可以使用磁带 1 和 2 进行每月备份(每月第一个星期五),磁带 3 到 6 进行每周备份(其他星期五;请注意,一个月可能有五个星期五,因此我们需要再购买四盘磁带),磁带 7 到 10 进行每日备份(星期一到星期四)。仅多购买四盘磁带,我们就能够将备份历史记录从两周(在所有每日磁带都用完之后)延长到两个月。诚然,我们无法恢复这两个月期间每个文件的每个版本,但我们可以恢复的内容通常已经足够好了。
图 12-1 显示了每天使用的备份级别,以及在月末可以从中恢复的备份。
备份级别还可以用于最大限度地缩短文件系统恢复时间。如果您有许多级别编号单调增长的增量备份,则如果需要重建整个文件系统,则需要恢复所有这些备份。相反,您可以使用非单调的级别编号,并减少要恢复的备份数量。
为了最大限度地减少恢复所需的磁带数量,您可以为每个增量磁带使用较小的级别。但是,这样会增加进行备份的时间(每次备份都会复制自上次完全备份以来的所有内容)。dump 手册页中建议了一种更好的方案,表 XX(efficient-backup-levels)对此进行了描述。使用以下备份级别序列:3、2、5、4、7、6、9、8、9 等。这可以保持备份和恢复时间都很短。您最多需要备份两天的工作量。恢复所需的磁带数量取决于您完全备份之间的时间间隔,但它比简单方案要少。
表 12-1。使用多级备份的高效备份方案
磁带 | 级别 | 备份(天) | 恢复磁带 |
---|---|---|---|
1 | 0 | 不适用 | 1 |
2 | 3 | 1 | 1, 2 |
3 | 2 | 2 | 1, 3 |
4 | 5 | 1 | 1, 2, 4 |
5 | 4 | 2 | 1, 2, 5 |
6 | 7 | 1 | 1, 2, 5, 6 |
7 | 6 | 2 | 1, 2, 5, 7 |
8 | 9 | 1 | 1, 2, 5, 7, 8 |
9 | 8 | 2 | 1, 2, 5, 7, 9 |
10 | 9 | 1 | 1, 2, 5, 7, 9, 10 |
11 | 9 | 1 | 1, 2, 5, 7, 9, 10, 11 |
... | 9 | 1 | 1, 2, 5, 7, 9, 10, 11, ... |
一个复杂的方案可以减少所需的人工量,但这确实意味着有更多的事情需要跟踪。您必须决定这是否值得。
dump 内置了对备份级别的支持。对于 tar 和 cpio,必须使用 shell 脚本来实现。