第二章 数据备份和恢复技术 --基于mkCDrec的核心网网络运维系统的备份和恢复的研究与实现

来源:互联网 发布:淘宝中差评处理掉毛 编辑:程序博客网 时间:2024/04/26 12:29

第二章 数据备份和恢复技术

2.1  数据备份的重要性及数据失效的原因

2.1.1数据备份的重要性

随着各行业信息化建设的迅猛发展,计算机网络系统中保存的关健数据的全愈来愈大,关健业务数据成了各单位生存的命脉和宝贵的资源,数据安全性问题愈来愈突出。对于象银行、保险、证券、医疗、通信等行业来说,数据的重要性是不言而喻的,他们除了要保证数据的安全可靠外,还要做到数据的异地存储,以保证数据在遭到外来的不可抗拒的破坏时,可以及时恢复。对于大中型企业来说,数据备份也是不能被忽略的,企业的业务数据如果丢失,所造成的后果也是难以预计的。数据安全、数据备份和灾难恢复等数据存储问题日益为人们关注。如何在突发或紧急情况下使得灾难造成的损失降到最低限度,更好地保护重要数据,保证计算机系统的连续、安全、可靠运行,已成为当前计算机与信息安全领域的研究热点[2]

通过大量的数据表明:如果没有IT 环境的连续性运行的保障,企业的发展甚至生存都将面临极大的困难。据IDC的统计数字表明,美国在2000年以前的10年间发生过灾难的公司中,有5%当时倒闭,剩下的45%中,因为数据丢失,有29%也在两年之内倒闭,生存下来的仅占16%。国际调查机构Gartner Group的数据也表明,在经历大型灾难而导致系统停运的公司中有2/5再也没有恢复运营,剩下的公司中也有1/3在两年内破产。这些事故导致企业丧失了部分或全部业务处理能力,引起企业营业收入下降、信誉降低和形象受损,甚至威胁其生存。此外,发生于因特网上的蠕虫、slammer、冲击波等病毒,都使得网络资源损失惨重。2001 年有调查显示:商业数据失效的平均代价是25万美元/小时,其中有8%更达到1百万美元/小时,数据丢失的代价甚至更高[2]

2.1.2数据失效的原因

计算机系统发生故障很多种情况:

第一种情况:计算机软硬件故障。发生可能性最大,也最频繁,是经常发生的一类故障。如磁盘损坏,系统文件损坏、丢失(这是最常发生的故障),文件系统的故障,系统长年运行造成磁盘碎片过多影响性能。

第二种情况:人为操作故障。人为操作失误等都会造成操作系统的损坏。对管理较严、人员素质较高的单位,偶尔发生;一般的预防方法:提高系统自动化运行管理水平,做好本地数据冷备份,减少人的操作与干预,或制定严格的管理规范,避免误操作[19]

第三种情况:资源不足引起的停机。随着信息的快速增长,均会发生如软、硬件升级、系统资源扩充等事件,发生亦越频繁。

第四种情况:系统所在地点的灾难对于某一单位,发生概率较小;对于全国范围,有偶然发生的必然性。典型的灾难事件是自然灾难,如火灾、洪水、地震、飓风、龙卷风、台风等。

此外还有病毒传播以及黑客攻击等。

2.2  灾难备份与恢复技术

国内外对灾难备份与恢复进行了广泛的研究,这些研究分为技术和管理两个方面,在技术层面提出了多种用于灾难恢复的信息技术,在管理层面主要侧重于灾难恢复计划的制定以及实施。

2.2.1备份与恢复的层次

根据当前技术和业务的发展的要求,本文将系统备份和恢复分为数据级、系统级和应用级三个层次[21]

数据级备份和恢复:数据级备份恢复是指建立一个本地或者异地的数据系统,作为信息系统关键业务数据的一个备份。数据级备份恢复需要采取措施保证数据的完整性、可靠性和安全性。数据级备份恢复只是对业务数据进行备份,不对系统数据和应用程序进行备份,需要通过重新安装操作系统和应用程序进行恢复。

系统级备份和恢复:不但需要进行业务数据的备份,而起要对信息系统的操作系统、数据库系统、运行环境和网络环境等进行备份,以便迅速恢复整个系统。系统级容灾系统需要同时保证业务数据、系统数据和网络系统的完整性、可靠性和安全性。系统级容灾同数据级容灾的最大区别在于:在整个系统都失效时,用灾难恢复措施能够迅速恢复系统运行。而数据级容灾则不行,如果系统发生了失效,在开始数据恢复之前,必须建立起与生产系统一致的运行环境。

应用级备份和恢复:用级容灾系统提供不间断的应用服务,在灾难发生时,让用户的服务请求能够透明(用户对灾难的发生毫无觉察)地继续运行,保证信息系统所提供服务的完整性、可靠性和安全性。应用级容灾要同时进行业务数据和业务应用的异地备份。当某地方的一个应用节点突然停掉的话,容灾系统能够在另外一个地方启动相同的应用。应用级容灾是在数据级容灾和系统级容灾的基础上,增加对整个应用的实时备份,使得实现的难度大、费用高,因此一般用于对业务连续性要求很高的系统中。

2.2.2数据备份方法和模式

备份技术是灾难恢复的基础。备份不仅是数据的保护,其最终目的是为了在系统遇到人为或自然灾难时,能够通过备份内容对系统进行有效的灾难恢复。备份不是单纯的拷贝,管理也是备份重要的组成部分。备份的方法主要有:文件备份、服务器主动式备份、系统复制、跨平台备份、SQL数据库备份、分级式存储管理、本地数据备份、远程备份。此外也分热备份和冷备份。备份方法在模式角度上可划分为如下两种[20]

1 逻辑备份

每个文件都是由不同的逻辑块组成。每一个逻辑的文件块存储在连续的物理磁盘块上,但组成一个文件的不同逻辑块极有可能存储在分散的磁盘块上。备份软件通常既可以进行文件操作,又可以对磁盘块进行操作。基于文件的备份系统能够识别文件结构,并拷贝所有的文件和目录到备份资源上。这样的系统跨越了存储在每个inode上的指针,可顺序的读取每个文件的物理块,然后备份软件连续的将文件写入到备份媒介上。这样的备份使得每个单独文件的恢复变得很快,但连续的存储文件会使得备份速度减慢,因为在对非连续存储磁盘上的文件进行备份时需要额外的查找操作。这些额外的操作增加了磁盘的开销,降低了磁盘的吞吐率。另外,对于文件一个很小的改变,基于文件的逻辑备份也需将整个文件备份。

2.物理备份

系统在拷贝磁盘块到备份媒介上时忽略文件结构,这会提高备份的性能,因为备份软件在执行过程中,花费在搜索操作上的开销很少。但这种方法使得文件的恢复变得复杂且缓慢,因为文件并不是连续的存储在备份媒介上。为了允许文件恢复,基于设备的备份必须要收集文件和目录是如何在磁盘上组织的信息,才能使备份媒介上的物理块与特定的文件相关联。因而,基于设备的备份适合于指定一个特定的文件系统来实现,并且不易移植。而基于文件的方案则更易移植,因为备份文件包含的是连续文件。另外,基于设备的备份方案可能会导致数据的不一致。

2.2.3数据备份策略

备份策略是一系列的规则,包括什么数据需要备份,应当何时备份数据以及将数据备份到何处等。有效的备份策略应当可以区分很少变化的数据和经常变化的数据,并且对后者的备份要比前者的备份更加频繁。目前被采用的最多的备份策略主要有以下三种[4,22]

1.全备份(FullBackup)

所谓全备份就是用一盘磁带对整个系统进行完全备份,包括系统和数据。这种备份方式的好处就是很直观,容易被人理解。而且当发生数据丢失的灾难时,只要用一盘磁带〔即灾难发生之前一天的备份磁带),就可以恢复丢失的数据。然而它也有不足之处;首先由于每天都对系统进行完全备份,因此在备份数据中有大量是重复的,例如操作系统与应用程序。这些重复的数据占用了大最的磁带空间,这对用户来说就意味着增加成本;其次。由于需要备份的数据量相当大,因此备份所需时间较长。对于那些业务策忙,备份窗口时间有限的单位来说,选择这种备份策略无疑是不明智的。

2.增量备份(IncrementalBackup)

增量备份相对全备份而言,只备份上一次备份后增加的和修改过的数据。该备份的优点是没有重复的备份数据,节省磁带空间,缩短备份时间。缺点在于当发生灾难时,恢复数据比较麻烦。

3.差分备份(DifferentialBackup)

差分备份就是每次备份的数据是相对于上一次全备份之后新增加的和修改过的数据。管理员先在周一进行一次系统完全备份,然后在接下来的几天里,再将当天所有与星期一不同的数据备份到磁带上。差分备份无需每天都做系统完全备份,备份所需时间短,节省磁带空间,灾难恢复也很方便。系统管理员只需两盘磁带,即系统全备份的磁带与发生灾难前一天的备份磁带,就可以将系统完全恢复。

全备份所需时间最长,但恢复时间最短,操作最方便,当系统中数据量不大时,采用全备份最可靠。而增量备份和差分备份可以节省磁盘和备份时间,但可靠性低,操作复杂。在实际应用钟,备份策略通常是以上三种的结合。表2.1为三种备份策略的比较。

 

 

 

2.1 备份策略比较

备份策略

全备份

增量备份

差分备份

空间使用

最多

最少

少于全备份

备份速度

最慢

最快

快于全备份

恢复速度

最快

最慢

快于增量备份

2.2.4灾难恢复分类

灾难恢复措施在整个备份制度中占有相当重要的地位。因为它关系到系统在经历灾难后能否迅速恢复。灾难恢复计划要求预先规划并准备,定义进行业务恢复所需要的相关资源、行动、人物和数据,以便减少灾难所带来的损失,并确保灾难发生时关键业务流程的连续性灾难恢复操作通常可以分为三类。第一类是全盘恢复,第二类是个别文件恢复,第三类是重定向恢复[18,38]

1.全盘恢复

全盘恢复一般应用在服务器发生意外灾难导致数据全部丢失、系统崩演或是有计划的系统升级、系统重组等,也称为系统恢复。

2.个别文件恢复

由于操作人员的水平不高,个别文件恢复可能要比全盘恢复常见得多,利用网络备份系统的恢复功能,我们很容易恢复受损的个别文件。只需浏览备份数据库或目录,找到该文件,触动恢复功能,软件将自动驱动存储设备,加载相应的存储媒体,然后恢复指定文件。

3.重定向恢复

重定向恢复是将备份的文件恢复到另一个不同的位置或系统上去,而不是进行备份操作时它们当时所在的位置。重定向恢复可以是整个系统恢复也可以是个别文件恢复。重定向恢复时需要慎重考虑,要确保系统或文件恢复后的可用性。

为了防备数据丢失,我们需要做好详细的灾难恢复计划,同时还要定期进行灾难演练。每过一段时间,应进行一次灾难演习。可以利用淘汰的机器或多余的硬盘进行灾难模拟,以熟练灾难恢复的操作过程,并检验所生成的灾难恢复软盘和灾难恢复备份是否可靠。

2.2.5备份恢复的衡量指标

衡量备份恢复的主要技术指标有RPO(Recovery Point Object,恢复点目标)RTO(Recovery Time Object,恢复时间目标) [3]RPO是指灾难发生时刻与最近一次数据备份时刻的时间间隔,即尚来不及对数据进行备份(导致数据丢失)的时间,代表了丢失的数据量;RTO是指系统从灾难发生到恢复后启动的时间,代表了系统恢复的能力。RPORTO二者没有必然的关联性。RPORTO的确定必须在进行风险分析和业务影响分析后根据不同的业务需求确定。对于不同企业的同一种业务,RTORPO的需求也会有所不同。

系统备份恢复方案的恢复时间通常是指恢复业务服务所需的时间。然而在现实的灾难中,需要对其他更多的事项进行考虑[5]。例如,有些业务可以容忍较长时间的停机服务,但要求一旦业务开始就需要使用最多的实时数据;有些业务必须在尽可能短的时间内恢复服务,而不考虑数据的实时性;还有一些既需要在最短的时间内恢复服务,也需要最多的实时数据。通过评估具体的灾难恢复需求,确定要达到的恢复指标,为选用灾难备份与恢复技术和制定灾难恢复计划与措施打好基础。

2.3  Linux操作系统备份和恢复

由于本文涉及的核心网网络运维系统运行在Linux环境上,在此介绍下Linux系统的Ghost原理,以及比较常用的Linux的备份恢复软件,以及对这些的软件的使用情况和比较。

2.3.1 Ghost原理

Ghost原本是美国赛门铁克公司推出的一款出色的硬盘备份还原工具,现在在计算机词汇中表示系统克隆。Ghost的备份还原是以硬盘的扇区为单位进行的,也就是说可以将一个硬盘上的物理信息完整复制,而不仅仅是数据的简单复制。其实简单的说 Ghost就是将硬盘分区表信息和硬盘数据打包备份,在恢复的时候先恢复硬盘分区表信息然后再恢复硬盘数据,以达到和备份前一样的效果。现在一些专业的对操作系统(WindowsLinux)进行Ghost的软件功能非常强大、可以对硬盘进行重新分区,支持多种文件系统(FAT16/32, NTFS, EXT2, ext3, msdos , xfs, jfs, fat, vfat ReiserFS等),支持的存储介质非常多,它支持对等LPT接口、对等USB接口、对等TCP/IP接口、SCSl磁带机、便携式设备(JAZZIPMO)、光盘刻录机(CDRCDRW)等。

2.3.2 Linux系统Ghost软件研究

Windows系统备份可以用Norton Ghost工具软件完成,Linux系统不能完全依赖于Ghost工具,一则是Ghost本身是有版权的软件,二则Ghost只支持ext2ext3文件系统的Linux分区,不支持reiserfsxfs等比较高级的文件系统,ghost本身并不备份mbr(Master Boot Record 主引导记录),因此常造成恢复后的系统grub出错的问题。Linux系统下本身自带有着优秀的备份工具,传统如:tarcpiodd,新的有:bzip2afio[38]。而这些备份工具功能简单,通常用于打包备份文件、或者分区,而对整个系统的备份和恢复操作显得不够完善。如果采用一些专业的商业数据备份软件、存储设备。的确,这些软件和设备能解决数据的备份和灾备的问题,但其不菲的投资远非一般中小企业所能承受。对于更广泛的中小企业或者个人而言,更愿意(或者说迫不得已)选择一个低成本的解决方法。实际上,在开源软件领域有很多免费的备份软件可以使用,IT人员如果具有一定基础知识完全可以借助这些软件来满足中小企业的大多数数据备份需求。

下面介绍几款在开源社区比较出名的Linux系统的类似于ghost的备份恢复工具软件[28]

1Ghost For Linux(简称G4L

Ghost for Linux是一个与 Norton Ghost 很相似的硬盘及分区映像克隆工具。可以使用 G4L 来对当前的系统进行备份,当系统出现故障时,能够及时恢复。G4L 支持对创建的备份映像进行压缩处理,以便节省占用空间。同时,G4L 也支持将目前备份的映像直接传输到 FTP 服务器。注意Ghost for Linux不是赛门铁克的Ghost,它是一个开放源代码软件,支持ATASerial-ATASCSI硬盘[13]。使用Ghost for Linux进行Linux系统备份的优点在于无需购买磁带机设备,使用一个大硬盘就可以为多台系统进行全盘备份(一台磁带机的价格相当于100个硬盘的价格)。现在这款开源软件的最高版本为v0.31,可以在http://sourceforge.net/projects/g4l/files/g4l%20ISO%20images/g4l-v0.31.iso/download 下载ISO文件。如下图3.1G4LCD启动运行图。

http://hi.csdn.net/space-97216-do-album-picid-493539-goto-down.html

3.1 G4L 运行图

2Partition Image

有点象"GHOST"的开源工具软件,他的功能和“GHOST”差不多,可以将ext2, reiserfs, ntfs, hpfs, fat16, fat32文件系统做成一个映象文件作为备份,还能压缩成GZIP/BZIP2格式以节省磁盘空间[14,]。还可以把这个较大的映象文件分割成许多小文件,以便于软盘携带。该软件易用性比g4l好一些,全图形界面,带向导,速度上比g4l快。这款开源软件的最高版本为V 0.6.9_beta1,可以在如下网址http://sourceforge.net/projects/partimage/files/unstable/0.7.0/partimage-imac-0.7.0-rc1-bootcd-1.iso.bz2/download 下载源文件压缩包。下图3.2为软件运行图

http://hi.csdn.net/space-97216-do-album-picid-493540-goto-down.html

 

3.2 Partition Image运行图

3Clonezilla (再生龙)

Clonezilla是一款由台湾国网中心的达人们开发的系统备份还原软件,遵守GUN授权方式的自由软件。Clonezilla基于Partimage,吸取了Norton GhostPartition Image的优点。即不仅支持对整个系统进行克隆,而且也可以克隆单个的分区,这种灵活性可能更能适应备份者的需要。支持GNU/Linux的文件系统ext2ext3reiserfsxfsjfsWindowsFATFAT32NTFS文件系统[15]Clonezilla比起Ghost For Linux(简称G4L)有一个很显著的优势就是Clonezilla支持的文件系统格式比G4L多以外Clonezilla只备份数据,而G4L却将整个分区都备份了(即包含空数据),所以G4L将比Clonezilla占用更多的用于存放备份镜像的空间。可以在http://www.clonezilla.org/ 下载源码。下图3.3Clonezilla运行效果图。

http://hi.csdn.net/space-97216-do-album-picid-493535-goto-down.html

 

3.3 Clonezilla 运行图

4Make CD-ROM Recovery (mkCDrec)

mkCDrecMake CD-ROM Recovery建立可恢复系统的只读CD)是Linux系统中建立可引导灾难恢复CD的工具,它支持 ext2 , ext3, minix, xfs , fs, reiserfs 等多数文件系统及 LVM and software RAID (multiple devices),以及支持对硬磁盘阵列RAID5的支持 ,可以用来进行系统故障修复。mkCDrec不但可以进行数据恢复,还带有数据修复工具,在这些工具中有分区管理工具 、内存检测工具 、数据恢复工具等等[16,17] 。此外 mkCDrec 支持目前发布的大多数 Linux 系统版本。截至现在软件版本已经升到V0.9.9,可以在http://mkcdrec.ota.be/download.html 下载源码压缩包mkCDrec_v0.7.9_utils.tar.gz。在将第五章对mkCDrec进行详细介绍。

 

2.4          本章小结

 

本章简单介绍数据备份和恢复的重要性以及数据失效的原因,并对数据备份和恢复技术进行了归纳,指出了数据备份层次、模式、策略以及数据备份恢复的衡量指标,为后续进行CHRAS系统的备份恢复提供了理论基础。此外,针对Linux系统,研究总结了Ghost原理和常用的Linux Ghost开源软件。