一种基于需求的数据备份方案设计
2013-12-29程希佳
摘要:数据是校务行政计算机化的命脉,不仅关系着老师教学活动的进行与学生的权益,更是校务发展的重要基石。重要数据的遗失或损毁往往造成教学与行政工作上的莫大困扰,而无形资产的损失更是难以估计。近年来云端运算的应用蓬勃发展,可预见的是数据量将有爆炸性的成长。如何在有限的资源下规划建置最有效率的数据备份方案,是信息单位必须严肃面对的课题。该文主要是分享一个整合型的数据备份架构,在选择不同的备份方案或产品时是以数据复原的需求及建置成本为考虑依据。
关键词:资料备份;异地备份;灾害复原
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)28-6250-03
1 概述
计算机硬件技术进步快速,过去只有在大型主机上才会看到的容错技术已经被广泛应用在个人计算机与小型主机上,磁盘阵列、多重电源供应等几乎已成了标准配备。
以系统开发与管理的实务经验来看,计算机数据的遗失或毁损主要是两种原因所造成。
第一是计算机硬件故障。虽然磁盘阵列已经是各种主机的标准配备,但是一般购买的磁盘阵列产品都只容许一颗硬盘故障,如果在无法及时更换硬盘下又发生第二颗硬盘故障,数据就会毁损。计算机硬件本身的可靠度虽然已经非常高,但是主机所在的环境如果没有办法提供持续稳定的电源及冷气空调,硬盘及电源供应器这些零组件就很容易受损。
第二是人为疏忽,尤其是系统开发者维护数据时因为指令误植或者条件不足所造成的数据错误或毁损,受影响的数据量往往非常巨大。
不同原因所造成的数据遗失,其所需要的复原型态也不同。全面性的毁损需要数据有实时性的备份才有可能完整的复原,但是部分数据的误删只要找到希望还原时间点的备份版本即可。因此,不同的需求选择的备份架构及代价也不同。以下将就不同的资料性质及备份需求考虑下所采用的两种方案提出讨论。
2 整机备份
当有当机或者系统毁损的状况发生时,对于那些数据非常重要或者使用量非常高的系统来说,我们会希望有两件事情是可以确保的。
第一、是当机或毁损前一刻的数据还是有备份下来,例如金融业的在线交易系统数据库,或者采取先选先赢规则的选课系统数据库。对于这些系统而言,在线数据的遗失所造成的金钱与信誉损失是难以弥补的。虽然比较先进的数据库系统都提供有“交易回复”(Transaction Rollback)的功能,可以确保数据的完整性,但是那是在主机还可以正确执行回复(Rollback)程序的前提下。当主机异常甚至毁损时,我们会希望最后一刻的完整“状态”是有被保留下来的。
第二、是当机或毁损后系统可以在最短的时间内被重建起来并上线使用。愈来愈多的机关学校推行公文在线签核或者窗体流程系统,这些系统实质上等同于组织的“中枢神经”,系统毁损对于组织来说就像一个人中枢神经瘫痪一样,一息尚存却完全无法“动作”。如果可以把这样的系统平时就透过实时备份的机制整机备份下来,遇到意外状况时就可以整机还原。相较于从操作系统重新安装设定,到加上修补程序(patches)以及安装应用程序,整机还原应可以大幅缩短服务中断的时间。
整机备份可以通过“连续性数据保护”(Continuous Data Protection, CDP)的产品来实现。CDP是一种连续性的实时数据备分。
3 档案备份
由于整机备份需要有比较高的经费预算,对于使用率不高、可以容许有比较久中断服务时间、或者可以容许短时间内异动数据遗失的系统,建议采用档案备份的方案。例如一般性的公告系统,其实数据本来就掌握在使用者手上,即使系统毁损,只要使用者重新公告即可。另外一种情形是人为疏忽造成的数据删除,这时需要的是正确时间点的备份文件以利特定数据的还原,而不是整机还原。
档案备份通常需要一套备份软件安装在一部备份主机上,背后连接大量的网络储存装置,这样的装置应可以提供光纤或iSCSI的连接接口。被备份端的主机是否需要安装代理程序(agent)则视不同的备份软件而定。
对于数据库服务器而言,为了符合档案备份的需求可以有两种做法。第一种方式是从数据库系统本身设定定时备份,利用数据库本身备份的功能将数据备份成为档案。第二种方式是有些数据库系统本身就是档案型态数据库,也就是整个数据库系统其实就储存在特定型态档案上,系统也提供直接以“附挂”档案的方式来还原数据库。在这种情况下就可以直接将特定型态档案备份下来。
3.1 备份软件
备份软件的选择可以从价格、操作方便性、厂商支持及服务能力等面向考虑,实际使用上有几点可以提出讨论。
1)通常备份软件手册里都会建议拟订一套包含有完整(Full)备份及增量(Incremental)或差异(Differential)性备份的计划。增量或差异性备份虽然可以节省备份的时间与储存空间,但是却增加了还原程序的复杂性。因此,如果数据量不大,或者储存空间足够使用,建议单独使用完整备份即可。
2)部分备份软件过度强调本身去重复性(deduplication)或者压缩的功能,评选时应请厂商以实际的数据验证其效能。
3)备份系统用来备份其它主机的数据,但是还原时必须倚赖本身的设定及备份过程的Log纪录,所以备份系统本身也需要被备分,这是常常会被忽略的一点。
除了各家厂商所提供的特殊功能之外,对于负责数据备份的管理人员而言使用备份软件的好处应该就在于有迹可循,也就是不管备份成功或失败都可以从历史纪录文件查询,甚至在出现异常时以电子邮件或简讯通知管理者。享受这些服务当然是要付出对等的代价,即使相较于整机备份的软件来说档案备份软件已经算是便宜,但终究被备份端的授权也有用完的一天。对于大部分机关学校而言,事后单独追加授权数在采购上通常都会有困扰。这时候利用操作系统本身的一些指令或功能或许就可以解决问题。
3.2 主机配置与还原方式
虽然使用档案备份的原因之一是为了节省经费,但是一旦有意外状况我们还是希望可以在最短的时间内恢复原有的服务。既然都有经费上的考虑了,实务上应该也不会有多余的主机可以作为备用机。因此,建议整体校务行政信息系统采用多应用程序主机与多数据库主机的配置。
多主机的配置除了可以分散负载之外,在意外状况发生时也可以提供快速复原的协助。例如A数据库主机毁损时,可以将备份文件立即复制到B数据库主机上还原,只要应用程序作相对应的联机数据修改就可以立即恢复使用。目前虚拟系统渐渐普及,要从虚拟主机上快速建立一部新的伺服主机是非常容易的。虽然可能瓜分一些虚拟系统上的资源,但是作为紧急灾难复原的使用应该是足够的。
4 异地备份
异地备份所面临的问题其实只有一个,就是数据量大但是频宽不够或者网络质量不稳定。所以,寻找解决方案时第一个想到的就是具有“异步传输”功能的产品。从功能面来看,所谓异步传输就是“续传”的功能。回顾前面两种备份方式,数据都是备份到所谓的网络储存装置(NAS)。当考虑建置异地备份时,很自然的就想到要在远地端也建置一样的储存装置。如果网络储存装置本身就具备有异步传输的功能,那异地备份就是两端的储存装置进行数据同步,也不需要其它额外的软件或系统了。
在整机备份或者档案备份时,备份系统是将数据储存到网络储存装置所提供出来的数据卷册(Volume)上,所以本地端的储存装置已经建立起许多数据卷册。要进行异地备份只要在远地的储存装置上也切割出一样的数据卷册,并透过储存装置本身的管理接口设定调度进行同步即可。
从实际的测试结果来看,即使本地与远地端间的联机只是速率20MB的ADSL线路,数据同步仍可以顺利完成,只是需要时间。这样的异地备份架构有两点须注意:
第一、当数据量大但频宽低时,完成一次同步所需要的时间可能相当长。所以设定调度时要考虑拉长时间间隔,以避免前一次的作业尚未完成但是下一次的作业已经又要启动。有些网络储存设备有特殊的同步方式,除了第一次完整的数据复制需要比较长的时间,后续的传输只有差异性数据,应不至于造成上述的问题。
第二、大部分机关学校的网络环境应该都建置有入侵侦测系统(IDS),其侦测原理的一部分与病毒侦测类似,都是利用特征码的比对。当进行异地备份时,由于数据量庞大,很有可能数据流中会出现符合特征码的位串。此时,入侵侦测系统会启动该有的防护机制,切断数据的传输。这个问题必须与网管人员一起合作,讨论出适当的联机架构。
5 结论
本文基于实际的系统管理维护经验,提出在有限经费预算下可以满足不同需求的数据备份架构。事实上并非所有的情境都需要建置最严密的备份与最快速的还原机制,毕竟那也需要最昂贵的代价。仔细评估应用系统的使用状况与数据异动的频率,才能选择最符合需求也最经济的解决方案。
5.1 整机备份与档案备份的整体比较
就备份频率来说,整机备份随时在进行,档案备份则通常调度利用离峰时间进行。在实际使用上曾经发生过整机备份因为网络问题而失败,程序不断尝试进行数据同步的结果影响到被备份主机的正常运作;档案备份如果调度的Job没有成功执行,通常只是会纪录在日志文件(Log),重新尝试的次数是可以设定的,不至于影响到主机运作。
当系统故障需要整机还原时,在一切条件都具备的情况下,包括有相同的硬设备及人员熟悉操作程序,整机备份的方案最快可以在30分钟内还原整个系统,最差的情况下应该也只需要两个小时。但是如果采用档案备份,则还原时必须从操作系统重新安装,再加上防毒软件安装、修正程序(patches)安装、病毒码更新、应用系统安装(如数据库)等等,快者要两个小时以上,慢者甚至超过一个工作天。但是,如果只是要还原个别档案或数据,则档案备份系统通常可以直接从日志文件(Log)中找到备份记录,并直接还原个别档案即可。
至于建置费用的比较,如果以备份五部主机的数据为需求,整机备份的软体价格大约是档案备份的7倍左右;如果以备份十部主机的数据为需求则大约为4.6倍。整个价差其实主要是在于主控端程序,两者大约是23倍的差异。
5.2 网络储存装置(NAS)
从文中所提出的备份架构可以观察到一点,那就是不管什么样的架构都会使用到或者可以使用到网络储存装置(NAS)。随着云端运算的议题发烧,愈来愈多厂商提出的解决方案,其系统架构也建置在网络储存装置上。可以确定的是,引进网络储存设备是正确的方向。但是在建置这样的设备时有两点必须审慎评估。
第一、网络设备本身已经具有某种程度上容错的功能,例如:磁盘阵列。但是当虚拟主机、备份系统等都以它为储存基础时,数据存取效能以及各高层次的容错是必须要更谨慎规划。
第二、以过去的使用经验来看,一部主机的合理使用年限大约在5到7年之间,但是第4年起就有可能会有硬盘故障。而硬件技术的发展使得硬盘的规格在这4年之内会完全更新,所以如果建置当时没有考虑到备用(spare)硬盘,就有可能面临买不到硬盘的问题。但是备用硬盘的数量如何估算与储存装置上的容错层级规划应该是相关的,这个议题或许有待新的使用经验提供更好的建议。
参考文献:
[1] 刘贤锴.网络存储方案的选择[J].信息技术,2005(4).
[2] 王淑江.网络存储数据备份与还原[M].北京:电子工业出版社,2010.
[3] 旗讯中文.数据备份、恢复与安全24小时轻松掌握[M].北京:中国铁道出版社,2008.
[4] 王昌旭;许榕生.企业数据备份系统分析与研究[J].计算机应用与软件,2008(10).