一、Linux 备份恢复基础
1、什么是备份
最简单的讲,备份数据的过程就是拷贝重要的数据到其他的介质之上(通常是可移动的),以保证在原始数据丢失的情况下可以恢复数据。一次备份可能是简单的 cp命令,将一个文件复制到其他目录下,也可能是使用特定的程序将数据流写进一个特定的设备中的复杂过程。很多情况下是将要备份的数据写入到磁带机中,但有些情况也不是这样的。在Linux环境下,或其他Unix系统,备份可以是将文件拷贝到已存在的文件系统,可替换的文件系统,磁带机,远程文件系统,甚至是远程系统的上的磁带机。当然,从用户的角度来看,并不存在磁带机或RAID驱动器的概念,而仅仅是文件而已。如下的诸多因素将有可能导致系统的崩溃或数据丢失。
* 系统硬件故障
* 软件故障
* 电源故障
* 用户的误操作
* 人为破坏
* 缓存中的内容没有及时的写入磁盘
2、备份的重要性
备份是保护数据的一种方法。有数据的多个备份,就不怕某个损坏(所需做的仅仅是从备份中恢复丢失的数据)。因此,正确地做好备份并确保备份有效、可用是很重要的。由于硬件的损坏、人为误操作和灾难事件等造成的数据丢失是每个企业所需要避免的,其中最常用的方法是进行数据备份。数据备份的重要性是如何强调都不过分的,如果企业认为数据的丢失是不可接受的,那么请备份这些数据。并对备份数据和出现数据丢失后进行恢复工作需要的时间,以及花费的成本进行综合评估。如果数据的离线备份仍然不能满足企业运作连续性的需要,那么企业就需要考虑在线实时备份,即本地高可用性集群或异地灾难备份方案。
二、 Linux服务器数据备份恢复策略
1、备份前需考虑的因素
在对系统进行备份或者恢复操作之前,有几个因素必须先考虑清楚。当然,进行备份操作的一个最佳时机就是安装好Linux操作系统,并确信所有的设备(如声卡、显卡或者磁带机等) 都能够正常工作的时候。必须清楚备份和档案文件之间是有区别的。备份是定期进行的操作,用来保存重要的文档、文件或者整个系统;而对文件归档则是为了长期保存重要的文档、文件或者整个系统进行的操作。要进行成功的备份,就必须首先考虑到所有的因素并设计出一个进行备份操作的策略,例如:
● 可移植性(即在Red Hat Linux系统下执行的备份在另外一个系统上恢复的能力)。
● 是否自动备份。
● 执行备份的周期。
● 需要把归档的备份保存多长时间。
● 用户界面的友好性(决定是否需要选择基于GUI界面的工具还是基于文本的)。
● 是否需要使用压缩技术、直接复制或者加密技术。
● 备份介质(需要从价格、性能、存储能力上考虑)。
● 是否远程备份或网络备份。
● 是保存一个文件、一个子目录还是整个系统。
2、备份介质的选择
有很多介质可以用来进行备份。目前3种常用的备份介质是CD-R(DVD-R)、磁带和硬盘。下面介绍一些可选择的备份介质:
软盘
如果要把重要文件快速备份,或者将其带到家中,这时软盘仍旧是一种可选的备份介质(现在该介质已经步入淘汰阶段)。
光盘写入器
随着光盘写入器变得越来越可靠,价格也越来越低,光盘本身也非常便宜。选用此项的一个好处是光盘不容易被损坏,它备份的可靠性很高。 用光盘写入器有两点不利因素:它们速度较慢,并且只能保存大约650MB。
可重写的光盘
可重写光盘驱动器比光盘写入器要贵得多,工作方式与其类似。但是,这些光盘是可被重写的,并且它比只能写一次的光盘贵许多。可重写光盘其它的特性都与光盘写入器类似。
Jaz和Zip
Zip驱动器很流行,已经成为许多PC机的标准配置,同时它的磁盘和驱动器也都不贵。它一张磁盘可容纳100MB的数据,是一种用于快速、可移动备份的很好选择。
Jaz磁盘可以容纳上G字节的数据,并且使用更先进的技术以获得更好的表现。Jaz驱动器和Jaz磁盘都比较贵。 Jaz和Zip的缺陷是都容易损坏,并且保持时间相对要短。
磁带机
磁带备份设备是大多数Linux服务器的标准配置。磁带是可靠的,并且很少出现错误,它几乎比其它介质存储时间都要长。
对于点对点工作组网络和中型网络,Travan和高端数字音频磁带(DAT)通常是最好的选择。Travan驱动器经过压缩可以处理8GB数据,这对于具有5-10个PC机的小型网络来说足够了。DAT驱动器有更好的表现,可以处理24GB的数据。DAT驱动器比Travan驱动器昂贵,但它磁带的价格要比Travan QIC磁带卷便宜。 表1中对介质(包括一些新的介质,如只读光盘和可读写光盘)在可靠性、速度、可用性和易用性方面进行了评价。
选择备份介质时,要从可靠性、速度、费用、易保管性等方面综合考虑。
三、Linux 备份策略
选择了存储备份软件、存储备份技术(包括存储备份硬件及存储备份介质)后,首先需要确定数据备份的策略。备份策略指确定需备份的内容、备份时间及备份方式。各个单位要根据自己的实际情况来制定不同的备份策略。目前被采用最多的备份策略主要有以下三种。
1、完全备份(full backup)
每隔一段时间对系统进行一次完全的备份,这样在备份时间间隔内,一旦系统发生故障使得数据丢失时,就可以用上一次的备份数据恢复到上一次备份时的情况。例如,星期一用一盘磁带对整个系统进行备份,星期二再用另一盘磁带对整个系统进行备份,依此类推。这种备份策略的好处是:当发生数据丢失的灾难时,只要用一盘磁带(即灾难发生前一天的备份磁带),就可以恢复丢失的数据。然而它亦有不足之处,首先,由于每天都对整个系统进行完全备份,造成备份的数据大量重复。这些重复的数据占用了大量的磁带空间,这对用户来说就意味着增加成本。其次,由于需要备份的数据量较大,因此备份所需的时间也就较长。对于那些业务繁忙、备份时间有限的单位来说,选择这种备份策略是不明智的。
优点:备份的数据最全面、最完整。恢复快,当发生数据丢失的灾难时,只要用一盘磁带就可以恢复全部的数据。
缺点:数据量非常大,占用备份的磁带设备比较多,备份时间比较长。
2、增量备份(incremental backup)
首先进行一次完全备份,然后每隔一个较短时间进行一次备份,但仅备份在这个期间更改的内容。这样一旦发生数据丢失,首先恢复到前一个完全备份,然后按日期逐个恢复每天的备份,就能恢复到前一天的情况。例如在星期天进行一次完全备份,然后在接下来的六天里只对当天新的或被修改过的数据进行备份。这种备份策略的优点是节省了磁带空间,缩短了备份时间。但它的缺点在于,当灾难发生时,数据的恢复比较麻烦。例如,系统在星期三的早晨发生故障,丢失了大量的数据,那么现在就要将系统恢复到星期二晚上时的状态。这时系统管理员就要首先找出星期天的那盘完全备份磁带进行系统恢复,然后再找出星期一的磁带来恢复星期一的数据,然后找出星期二的磁带来恢复星期二的数据。很明显,这种方式很繁琐。另外,这种备份的可靠性也很差。在这种备份方式下,各盘磁带间的关系就象链子一样,一环套一环,其中任何一盘磁带出了问题都会导致整条链子脱节。比如在上例中,若星期二的磁带出了故障,那么管理员最多只能将系统恢复到星期一晚上时的状态。
优点:备份速度快,没有重复的备份数据,节省磁带空间,又缩短了备份时间。
缺点:恢复时间长。如果系统在星期四的早晨发生故障,管理员需要找出从星期一到星期三的备份磁带进行系统恢复。各磁带间的关系就像链子一样,一环套一环,其中任何一盘磁带出了问题,都会导致整条链子脱节。