基于事务日志的差异备份
2012-08-05黄海端张佳杰李红斌陈晓
黄海端,张佳杰,李红斌,陈晓
(1.河北联合大学迁安学院,河北唐山064400;2.河北联合大学冶金与能源学院,河北唐山063009)
0 引言
“金保工程”是利用先进的信息技术,以中央、省、市三级网络为依托,支持劳动和社会保障业务经办、公共服务、基金监管和宏观决策等核心应用,覆盖全国统一的劳动和社会保障电子政务工程[1]。其内涵可以简要概括为“一二三四”四个字:“一”是一个工程,指在全国范围建设一个统一规划、统筹建设、网络共用、信息共享、覆盖各项劳动和社会保障业务的电子政务工程;“二”是两大系统,指建设社会保险子系统和劳动力市场子系统;“三”是三级结构,指由中央(劳动保障部)、省、市三层数据分布和管理结构组成;“四”是四项功能,指具备业务经办、公共服务、基金监管和宏观决策四项功能。
随着计算机的普及和信息技术的进步,特别是计算机网络的飞速发展,信息安全的重要性日趋明显。系统一旦遭到灾难性销毁,如果没有备份措施,则所有重要数据就没有办法恢复,将面临永久性销毁,这样的损失是极其严重的,有可能是无法承受的,所以在一个重要系统的设计中,备份设计是非常有必要性的。因此数据备份非常重要,也是数据安全的最后一道屏障。
1 存储架构系统设计
1.1 基于SAN的存储架构设计
SAN(Storage Area Network),即存储区域网络,是一项将存储设备、连接设备和接口集成在一个高速网络中的技术。SAN是由一组被设计用于服务器和存储设备之间实现透明连接的部件构成的[2]。
在NAS中,数据传输是通过现有局域网实现的,这给用户局域网带宽造成了沉重的负担,因为局域网只适合短暂的突发数据传输。另一方面,在SAN网络中,所有的数据传输都发生在一个专门数据传输的具有高速、高带宽的网络中。通过提供一种不同于传统存储技术的新技术,SAN降低了网络中的交通阻塞。另外,SAN本身是一个存储网络,由于该网络承担了原本在主网络中实现的数据存储,从而提高了SAN的性能和升级能力。
作为目前流行的存储架构SAN将所有的备份数据流都迁移到一个专门进行数据传输的网络中,备份和恢复的时间缩短了,网络拥挤也减少了。它是一种可以实现跨平台,集中式管理的网络存储。在数据的可用性和网络性能方面都有了大大的改善。
在基于SAN的存储系统中,所需的备份数据量为600GB,使用LTO磁带机LTO II磁带机的速度为35MB/S,希望进行全备份在5小时内能完成,根据公式:磁带机数量=(备份的数据量/备份的时间窗口)/磁带机的速度。(600000/18000)/35=0.9,计算当前磁带机的数量为2个。磁带库的技术配置为多于2个的磁带库驱动器,可扩展数为大于等于4;支持LTO,SDLT,AIT磁带机类型;支持1GB和2GB的自适应模式的光纤接口。
由于整个系统的数据量比较大,在该市劳动保障信息系统项目中区备份系统采用SAN架构进行设计,将磁盘阵列直接连接到SAN的交换机上[3,4],和备份服务器、多台服务器均通过SAN相互连接,利用SAN的高性能来提高备份速度、降低数据备份对网络和服务器的影响。实际的SAN存储架构设计如图1所示。
图1 SAN存储框架结构
通过以上的分析和比较,采用基于SAN架构的第三方存储设备作为最后整个生产系统的存储设备是社会保险应用存储的最佳选择,通过这种方式能够最大限度的保证系统随着业务量的不断发展而具有最佳的扩展性(跨平台数据资源整合)。
1.2 数据库服务器存储设计
在“金保工程”市域网生产区建设中,基于SAN架构的劳动保障信息系统数据库存储中实际的配置主要包括以下五部分:
①Server(服务器):它是SAN解决方案的基础,该市劳动保障信息系统中市劳动和社会保障局信息中心连入SAN中的服务器为数据库服务器系统双机系统和应用服务器系统双机系统。
②Storage(存储设备):存储设备包括本地、远程的数据存储设备和本地数据备份设备三部分。其中本地和远程的数据存储设备部分,本系统中采用的是2台同档次高端存储服务器,存储容量应该大于等于3TB;本地数据备份设备,本系统中采用的是1台磁带库设备作为备份设备,并配置两个以上光纤驱动器。
③SAN fabric(连接设备):配置了3台16端口光纤交换机作为SAN连接设备,构架成数据中心存储区域网以及容灾中心的存储区域网。
④Software(管理软件):SAN的管理包括存储系统的管理、存储网络的管理和系统级管理。SAN存储级管理由不同的存储设备组成,如磁盘、磁盘阵列、磁带、磁带库等。SAN存储网络的管理由可以提供连通性的所有各类逐渐组成,如SAN线缆、SAN交换机、SAN网关以及主机总线适配器等。
⑤SAN存储级管理软件:根据配置的存储设备配置了不同的管理软件。
1.3 软件架构模型设计
从逻辑上网络备份系统分为客户端程序、备份管理程序和备份代理程序三个子系统[5]。备份管理程序向客户端程序和备份代理程序发送控制信息,并不进行数据的传输工作,这三个子系统之间相互独立又相互依存,工作时需要三者配合才能完成。具体部署系统时,客户端程序、备份代理程序和备份管理程序分别部署在备份客户机上、备份服务机上和管理服务机上。可以在一个主机上同时部署这三种程序,但一个备份系统只能有一个管理服务机,系统中的任一台成员计算机至少担任这三种角色之一。图2为系统的软件体系结构图。
图2 软件体系结构图
由图2可知,备份系统有备份管理程序、备份代理程序和备份客户程序三个逻辑子系统。由若干个功能模块构成的这三个逻辑子系统之间通过TCP/IP网络连接。
备份管理程序是整个系统的中心控制部分,有与代理程序和客户程序相对应的子程序模块。它控制着各个代理程序和客户端程序之间的交互和通讯,各部分的分工合作以及各项系统的功能完成。
备份代理程序包括了备份恢复源代理和目的代理程序,同时还包括了负责将备份/恢复任务的执行结果、磁盘损坏等告警信息、用户登录等系统事件报告给备份管理程序的报告模块。
人机交互处理过程完成备份客户程序与备份管理程序之间的通讯。
2 备份策略
选择了存储备份软件、存储备份技术后,首先需要确定数据备份的策略。当前所用的备份策略指确定需备份的内容、备份时间及备份方式。要根据自己的实际情况来制定不同的备份策略。目前被采用最多的备份策略[6]主要有以下三种。
2.1 完全备份
完全备份是对所有数据元素的备份。增量备份和差异备份都是以完全备份作为参照的,完全备份是任何备份的起点。特点是备份的数据好多都是重复的,占用了大量的磁盘空间,备份所需时间最长。但恢复较容易,只需最近的一次备份。
2.2 增量备份
增量备份只备份上次备份以后有变化的数据。增量备份的优点是能有效利用时间和备份介质。没有重复的备份数据,平均消耗的介质相对要少得多。缺点是恢复起来比较麻烦,可能需要从更多的磁带中恢复数据。
2.3 差量备份
差量备份只备份上次完全备份以后有变化的数据。差量备份的优点:由于使用了更少的磁带,所以对系统进行完全恢复的时间比增量备份要快。缺点:相比增量备份,它占用较多的磁盘空间和时间。这是因为它是参照全备份,这相对于增量备份还有很多重复的数据。
在实际应用中,备份策略通常是以上三种的结合。但是以上三种备份策略只能备份某些特定时间的系统数据,无法做到完全备份以及灵活的恢复。需要改善备份恢复机制,在这里提出了一种新的基于事务日志的差异数据备份,弥补传统的备份恢复体系中存在的漏洞。
3 基于事务日志的差异备份
事务日志[7]是记录系统数据操作的“流水账”,目前绝大多数的系统都支持对事务日志的记录,传统的事务日志主要记载了事务操作时间、操作对象、操作类型、操作结果等,如果把事务日志记录得够详细,例如增加对事务涉及的数据库对象、操作前后的数据映像等信息,就可充分灵活的利用起事务日志,将事务日志作为系统数据备份恢复的数据来源和依据,而不是仅仅用于日志的审计、统计等。传统的事务操作日志记载信息大致如表1所示。
表1 传统的操作日志记载信息
可用于恢复的事务操作日志记载信息如表2所示。
表2 可用于恢复的事务操作日志记载信息
从表1与表2的对比中可以看出可用于恢复的事务操作日志比传统的事务日志多了数据映像等字段。对象地址记录变动对象的地址,如某一个数据库中的某一个表单,或者是记录某个文件的物理地址;操作前的数据映像记录的是此操作COMMIT前的数据状态;操作后的数据映像记录的是此操作执行后的数据状态。如修改操作,将Data原来的值d1修改为d2,则操作前的数据映像记录的是“Data=d1”,操作后的数据映像记录的是“Data=d2”。按表2所示数据项详细的记载每一个操作信息,实际上就完成了系统数据的备份工作。
4 本地与异地相结合的日志同步备份方案设计
系统备份设计时,除了需要在异地配置一套备份系统以外,还可以在本地配置一套备份服务器。如图3所示。
图3 本地与异地相结合的日志同步备份方案
系统与本地备份服务器配置于同一个地方,通过局域网互通,由管理系统将日志变动信息同步给本地备份服务器,实现变动信息高效地实时备份。本地备份服务器通过网络与异地备份系统互通,本地备份服务器以日志文件的方式将变动日志同步给异地备份系统,实现异地同步备份。
因为两两间同步的是变动日志,不是变动数据池中的变动数据,所以不需要再维护一个变动数据池,减少了系统的负荷,并且有效地避免了因变动数据池引起的效率低等问题。因主系统与本地备份服务器配置于同一个局域网中,如果链路上出现故障,很容易进行故障排查和定位,能及时进行维修。这样就大大减少了变动信息大量累积的可能,有效地避免了因异常情况导致的数据丢失。另外,本地备份服务器与异地备份系统间采用文件的形式同步变动日志,将本地备份服务器未完成异地同步的变动信息打包成文件,以文件形式传输给异地备份系统,采用定时同步机制不用逐条地进行同步,能有效地减少网络负担。
5 小结
通过对传统的备份技术存在的缺陷进行分析,针对这些缺陷,提出了基于事务日志的备份策略,同时采用本地与异地相结合的备份技术以及日志文件同步手段,改善了系统的可维修性,提高了数据同步的效率和实时性,弥补了传统的备份体系的不足。并充分利用事务日志,使系统的数据备份与恢复更为灵活,做到数据的完全备份和完全恢复。总之,利用基于SAN的数据存储在硬件上实现了高速的数据传输,同时根据实际情况制定合适的备份策略,保证了高效的数据备份。
[1] 尹静涛.“金保工程”市域网建设中系统安全性的设计[J].江西农业大学学报,2006,28:123-125.
[2] 熊琦,王丽娜.基于SAN的集中存储备份系统的设计与实现[D].成都,电子科技大学,2010.
[3] Tom C.Designing storage area networks[M].Publishing House of Electronics Industry,2005:170-174.
[4] M.Kaczmarski,T.Jiang.Beyond backup toward storagemanagement,IBM Systems Journal,2003,v42,p322-337.
[5] 郭晓敏.网络备份系统的研究与实现[D].南京:东南大学,2005.
[6] 王海飞.基于网络系统数据备份方法[J].电脑学习,2010,4:28-30.
[7] 刘英,王效武,曾兵.一种数据备份与恢复系统体系设计[J].通信技术,2010,01(44):66-68.
[8] Oracle Corporation.Oracle Database Documentation Library(10gRelease2)[EB/OL].(2009-11-04)[2010-08-10].http://www.intelligentedu.com/blogs/post/free_computer_books/4454/oracle-database-10g-documentation-library.