32 FreeBSD连载:系统备份

系统备份不管系统是多么可靠,总会发生一些意想不到的事情,致使系统数据丢失 。例如硬件故障或人为操作失误等 。因此使用备份来保护数据不丢失是一种非常重要的手段,尤其在系统数据非常重要的时候 。经常进行数据备份能够减少偶然破坏造成的损失,保证系统能够从错误中恢复正常运行 。
备份策略
在进行备份之前,首先要选择使用的备份策略,这将决定何时需要进行备份,以及出现故障时进行恢复的方式 。通常使用的备份方式有三种:
完全备份:每隔一定时间就对系统进行一次全面的备份,这样在备份间隔期间出现数据丢失等问题,可以使用上一次的备份数据恢复到前次备份时情况 。这是最基本的备份方式,但是每次都需要备份所有的数据,并且每次备份的工作量也很大大,需要太多的备份介质,因此这种备份不能进行的太频繁,只能每隔一段较长时间才进行一次完整的备份,例如以一个月为一个备份周期 。但是这样一旦发生数据丢失,只能恢复到上次备份的数据,这个月内更新的数据就有可能丢失 。
增量备份:首先进行一次完全备份,然后每隔一个较短时间进行一次备份,但仅仅备份在这个期间更改的内容 。当经过一个较长的时间后再重新进行一次完全备份,开始前面的循环过程 。由于只有每个备份周期的第一次进行完全备份,其他只进行改变的文件的备份,因此工作量小,就能够进行更频繁的备份 。例如以一个月为一个周期,一个月进行一次完全备份,每天晚上0点进行这一天改变的数据备份 。这样一旦发生数据丢失,首先恢复前一个完全备份,然后按日期一个一个恢复每天的备份,就能恢复到前一天的情况 。这种备份方法比较经济 。
更新备份:这种备份方法与增量备份相似,首先每月进行一次完全备份,然后每天进行一次更新数据的备份 。但不同在于,增量备份是备份该天更改的数据,而更新备份是备份从上次进行完全备份后更改的全部数据文件 。一旦发生数据丢失,可以使用前一个完全备份恢复到前一个月的状态,再使用前一个更新备份恢复到前一天的情况 。这样做的缺点是每次作小备份工作的任务比增量备份的工作量要大,但好处在于,增量备份每天都有备份,因此要保存数据备份数量太多,而更新备份则不然,只需保存一个完全备份和一个更新备份就可以恢复故障以前的状态 。另外在进行恢复工作时,增量备份要顺序进行多次备份的恢复,而更新备份只需两次恢复,因此它的恢复工作相对简单 。
增量备份和更新备份都能以比较经济的方式对系统进行完全备份,在这些不同的策略之间进行选择不但与系统数据更新的方式相关,也依赖于管理员的习惯 。通常在系统数据更新不是太频繁的话,可以选用更新备份的方式 。但是如果系统数据更新太快,使每个备份周期后面几次更新备份的数据量已经相当大,这样使用更新备份已经不太经济了 。这时候可以考虑增量备份或混用更新备份和增量备份的方式,或者缩短备份周期 。
操作磁带设备
FreeBSD下SCSI接口的磁带设备文件名为/dev/rsa0或/dev/nrsa0,其中n代表非回卷类型,每次在nrsa0上存储数据之后磁带没有回卷,这样就能在磁带中保存多次备份 。而rsa0设备在每次保存数据并关闭磁带时会回卷,这样只能存储一次备份 。由于磁带容量大,一次不会用完一个磁带的容量,因此一般使用nrsa0设备,以进行多次备份 。
3.1-release之前使用老SCSI驱动程序的磁带设备为st,对应的设备文件就为rst0和nrst0,而非SCSI的磁带设备有rwt0,rft0,分别为IDE和软盘控制器接口的磁带设备 。

推荐阅读