容灾系统在公共图书馆业务中的应用——以深圳图书馆为例
2013-09-21深圳图书馆
成 星(深圳图书馆)
1 引言
随着深圳“图书馆之城统一技术平台”(简称:平台)应用的不断推广,深圳图书馆(简称:深图)的大集中DILAS数据库模式替代了原有的各区多中心、应用数据分散存储和处理的方式,这种新模式为深圳市公共图书馆的共建共享、互联互通以及读者无障碍享受全市公共图书馆服务提供了可行、可靠的技术基础。然而,当全市的数据和业务都集中在深图的中心机房后,数据的安全和读者业务连续性的问题随之而来。一旦网络中心发生灾难,受到影响的将是全市几乎所有的图书馆业务,这必将对读者造成巨大的损失。如何维持业务连续运作和保证数据的安全,成为能否为读者提供更优越服务的关键所在。
异地热备是目前解决数据安全最优的技术,它可以确保数据零丢失和业务零停顿,因此建立异地容灾系统是深图IT建设的重要任务。通过对业务数据和应用需求的详细分析,深图的容灾系统将被规划为“两地互备”容灾中心,即采用“双中心”容灾模式。该系统的投入将达到如下效果:数据实时备份且异地存储,数据安全级别高;业务故障启用远程接管,读者服务不间断;数据恢复速度快,数据丢失量RPO〈=5分钟、恢复业务时间RTO〈=30分钟;全面防护各种类型的灾难,做到硬件与系统灾难同时防护。
2 容灾系统的可用性
整合全市数据库后,深图网络中心网络数据交换量和服务器业务请求量明显增大,来自硬件和系统的故障发生率也随之增高,这些都严重威胁着为读者服务的质量。为提高读者服务质量,我们必须保证业务的不间断和数据的安全,因此建设容灾系统非常之必要,且在建设中,如何将原有的本地热备、本地存储以及业务应用系统很好地融合到容灾系统,为“平台”构建一个新型的强大容灾体系,都是需要认真面对的问题。
2.1 网络环境现状
深图的核心服务器都采用双机热备,并通过IP-SAN连接大型存储设备。就数据量而言,核心数据库和“平台”数据库的数据总量大约在200G,日均变化在2G,IO负载中等;业务系统而言,60个应用,出口带宽需要50M左右。应用服务器和存储架构如图1所示。
2.2 系统的设计目标
基于深图现有的主机存储结构和“平台”业务的需求,我们拟搭建异地容灾系统,最终的目标是构建一个安全、稳定的数据应用环境,为公共图书馆的长远规划提供一个可持续发展的IT架构。系统完成后将实现如下功能:
图1 深图服务器与存储架构图
(1)业务发生故障,远端备份系统瞬间接管业务且实现最小的数据丢失;
(2)系统支持多平台、多操作系统、多种应用混合建设,便于实施和管理;
(3)为了防止各种逻辑灾难,系统可制作多个历史版本作为备份,并且历史版本与业务系统的数据格式相同,做到瞬时恢复;为了提高恢复的准确率,可提前验证这些备份;
(4)对于站点级别的灾难,RPO和RTO都不高于10分钟;
(5)考虑到“平台”业务的重要性,系统应在数据库或应用打开的情况下做初始数据同步,这样大大缩短停机时间;
(6)从业务端到容灾端的数据复制有一致性保证机制,使得容灾端的数据可用,接管业务时可以瞬间打开数据库或应用系统;
(7)系统具有断点续传的功能,保证网络在较长时间中断的情况下不丢包,恢复网络后进行增量传输;
(8)系统具有扩展性和开放性,兼容所有第三方主流存储以及前端应用主机的操作系统。
3 容灾的关键技术
数据和应用的容灾是容灾系统的核心。本地业务的开展产生大量数据表格,为确保数据的存储安全,这些数据被实时传输到异地存储中心,形成一个数据副本,该过程为数据容灾。其目的在于当本地数据被破坏,可以调用异地数据拷贝,从而将损失降到最低。数据的时效性要视具体业务的特点来定义时间复制策略,不是全部副本都要做到绝对同步,但所有的数据一定要可靠可用。数据容灾涉及到的技术包括数据复制、数据备份以及数据管理等;应用容灾是在异地搭建同样的业务应用系统,随时监听着本地应用的心跳,一旦发现本地业务无响应,异地系统将及时接管本地服务。它涉及到的技术包括灾难检测技术、系统迁移技术等。下面将就本系统在设计过程中涉及到的几项关键技术加以描述。
3.1 数据备份技术
为保证安全高速的数据读写,深图本地关键业务数据的存储采用IPSAN网络架构,同时考虑到将来虚拟机存储的特点,数据备份系统也建立在该网络基础上。系统运行时,数据通过IPSAN存储交换机进行交换,而不占用业务系统的网络开销。相对独立的数据吞吐环境拉近了业务平台和存储介质之间的距离,这种存储架构是实施异地容灾系统的基础。而异地容灾系统是按照备份策略,将数据通过城域网传输到远端存储介质上,即应用与存储在空间上被隔开,这种备份方式构成了异地数据灾备。远程数据备份必须考虑传输速度,因此具体的备份策略需视业务情况而定,小数据流可以直接采用同步备份,而大数据流则可采用异步传输。同时为确保数据的高可用性,系统将建立日常预恢复机制,在网络及服务器空闲时段进行备份恢复测试。
3.2 数据复制技术
在异地容灾系统中,数据复制是指将本地业务产生的数据拷贝到远端存储器中,远端的应用服务器将启用这些备份数据并在线待机。一旦发生灾难,远端备份应用系统将加挂最新数据库接管主业务。按照两地备份数据是否同步,数据复制可分为同步和异步数据复制。根据系统的设计要求,我们将采用异步传输机制,即采用日志复制功能将主业务系统中的数据传递到远端,而远端应用系统根据日志内容执行应用,并生产出可用的备份数据,实现两端的数据一致。
3.3 灾难检测技术
对容灾系统而言,第一时间发现主业务端的灾难信号,将主业务数据及时迁移到远端并接管主业务系统,都可以减少灾难带来的损失。在日常巡检中,人为因素可避免少许故障,但无法预知突发灾难。容灾系统通过心跳检测系统,及时监控业务系统的心跳信号,当无法接收到该信号时,系统则视主业务系统发生灾难并启动应急策略,开始对数据进行迁移并瞬间接管主业务。该技术的关键参数是心跳检测时间和频率,如频率太高,则会影响到主业务的运行;如频率过低,则无法及时发现灾难。本系统中,根据读者业务的忙闲时段,自动调整检测周期,确保业务正常运转。
3.4 系统迁移技术
灾难发生后,读者业务将快速透明地迁移到远端备份系统,由远端系统接管主业务,确保对外读者服务的连续性。对实时性要求不高的业务如CNKI数据库服务和短信平台服务等,可修改网络参数指向远端;对实时性要求高的业务,如DILAS系统,则需将主业务应用透明迁移到远端备用系统上,实现完全接管。
4 容灾系统的工作原理
首先,容灾系统执行数据复制策略。系统可以自定义不同的策略来控制远程数据复制的过程,利用本地服务器内建的快照引擎和远端服务器的接收机制,将数据从业务端复制到容灾端的存储介质中,确保复制进程能够在短时间内完成,从而获得高可用的数据。系统具有各类可供选择和调整的复制策略,因而远程复制具有可调整性和优化策略的能力。
其次,系统采用自动连续快照技术将需要备份的数据加工处理。该技术利用快照缓存,提取变化后数据块的前一时间点数据进行保存。其根本作用是能在故障发生的瞬间,系统根据需要会退回到某一时间点,提取该时间点数据的指针,并对提取到的数据映射自动恢复,达到业务快速连接的效果,解决传统备份中非精细时间恢复的缺点。这种技术不但能够应对硬件错误,同时也具备对软件错误的防范及纠错功能,对系统的正常运转提供有力保障。该技术能够使深图的业务系统实现精确时间点的保存,为容灾系统提供每个应用卷多达255个自动快照点的水准,确保每个应用卷每天都有间隔为5分钟的完全映像。高频率的映像可保证将系统的数据丢失量降到最低,当发生任故障时,系统都可以找到最新一个时间点进行数据还原。
再次,系统采用微单元传输技术,将传输的最小数据单元缩小到512字节,占用小带宽传输大数据到异地进行备份。在传输过程中,系统采用了读写优化技术,业务数据先顺序地写入到高速磁盘设备中,然后按照读写优化策略,将缓存中的数据再随机写入到后端存储中;同时系统采用虚拟化存储技术,将后端存储设备进行抽象化统一管理,向服务器层屏蔽存储设备硬件的特性,而只保留其统一的逻辑特性。微传输和读写优化的结合为数据备份提供了高可用性。
最后,当灾难发生时,容灾系统利用时间标记将历史点数据瞬间提取并进行校对,从而将数据恢复。由于数据库系统未能实时刷新到磁盘中,数据的写入存在滞后,因此数据恢复过程中关键之二是感知数据库技术,即根据最新日志对指定复制点和快照点的数据库进行刷新,从而确保数据库日志与数据文件的一致性。这种感知技术使得容灾与应用数据库体系真正结合起来,实现了应用容灾。
5 容灾系统的设计与实现
5.1 容灾系统的架构设计
在现有网络中心的基础上,深图将在20公里外的深图调剂书库建立一个备份机房,实现异地容灾,为“平台”提供高可用的数据保护和业务支持。其基本架构见图2。
图2 深图容灾系统架构图
5.2 容灾系统的架构描述
(1)在深图中心机房即业务端部署3台数据恢复服务器,其中两台用于本地业务数据保护,一台用于承接容灾端的容灾数据。
(2)容灾端部署一台数据恢复服务器,通过FC协议进行本地数据保护,通过WAN网进行服务器系统管理。保护数据的方法是将业务数据镜像到数据恢复服务器中。
(3)在业务端,将原核心数据存储HPXP12000下挂至数据恢复服务器,它采用旁路的方式接入到SAN网络中并下挂存储,不会增加现有网络负载。
(4)对于AIX主机,数据以同步镜像的方式备份到数据恢复服务器中(图中A-〉B的过程),不影响正常的生产数据。
(5)对于Linux/Windows主机,数据以异步镜像的方式备份到数据恢复服务器中(图中A-〉B的过程),也不影响正常的生产数据。
(6)同样在容灾端,数据恢复服务器采用旁路的方式接入到局域网中,数据以镜像的方式同步到数据恢复服务器中(图中D-〉E的过程)。
(7)当开始备份时,业务端系统将镜像过来的数据复制到容灾端系统中(图中B-〉C的过程)。容灾端系统服务器配置255份快照,实现多点的保护,同时业务端进行无服务器归档备份。
(8)当灾难发生时,容灾端系统将镜像过来的数据复制到业务端系统中(图中E〉F的过程)。业务端系统服务器同样配置255份快照,这样在两端各有255份历史快照,对历史数据的安全进行了双重保护。
(9)远程复制采用TCP/IP协议,复制策略根据实际的业务数据量灵活制定。利用数据恢复精简复制技术,可以实现连续传输的模式,将数据丢失量降到最低。另外还包括基于时间或数据增量的间隔复制模式。
5.3 容灾系统的恢复
当不同类型的灾难发生时,容灾系统将如何运作,即系统对“平台”环境中的主机(包括数据库和应用系统集群)如何进行接管和恢复,下面将详细说明。
5.3.1 数据库表级别的丢失或损坏
由于误操作或病毒入侵等原因,数据库会出现表记录的丢失或损坏情况。面对这种灾难,容灾系统首先将在业务主机上挂载数据恢复服务器提供的历史快照,该快照包含完整的记录条目,然后使用数据库命令将快照记录导入到业务数据库中即可恢复正常。
5.3.2 数据库和应用系统的文件丢失或损坏
当出现逻辑错误,如数据库文件丢失或损坏,容灾系统可直接读取历史点快照并重建数据。首先容灾系统找到最新的时间点,提取其快照并分配给业务服务器;其次服务器加载新镜像后启动数据库并导出表或数据库;最后将导出的数据库重新导入原数据库中。如情况紧急,数据恢复服务器的快照是可直接读写的,业务主机可直接使用快照磁盘来接管业务,保障业务的连续性。
5.3.3 应用和数据库启动失败
当应用和数据库系统无法启动时,容灾系统首先提取快照并进行主业务接管。方法是首先提取历史快照,然后分配给业务服务器并扫描镜像,最后直接启动应用或数据库。
5.3.4 业务存储发生故障
当业务系统盘出现故障时,远端业务镜像盘会自动接管主业务,而数据库系统不会感知到故障的发生,保证了读者业务的连续性。当恢复正常时,主业务服务器将自动启用,同时数据会自动同步。
5.3.5 站点级别的灾难
对于容灾系统而言,如果要实现站点级别的容灾,需在容灾端部署备份业务主机,数据来自于当地的数据恢复服务器。当业务端发生站点级别的灾难时,容灾系统自动启用容灾端的备份业务来接管。当业务端修复后,容灾端的数据恢复服务器以增量的方式将数据同步回传至业务端,实现无数据丢失故障恢复。
5.3.6 Windows操作系统恢复
图3 Windows操作系统恢复工作原理
当发生操作系统故障,主业务服务器可通过容灾策略直接调用远端业务系统镜像作为本地启动盘。这些功能都能确保在最短时间内恢复业务,保证业务连续性。工作原理如图3所示。
6 测试效果
经过长期论证、严谨设计、及时调整的历程,深图容灾系统已完成实物测试,待调剂书库建设完毕,系统将快速投入使用。届时该系统将主要为深图、各个区馆以及24小时街道自助机服务。该系统可以保障所有业务数据安全、业务运行永不停止,测试结果已达到预期的目的。具体体现在如下几点。
(1)高密度快照的实时备份为数据安全和业务连续提供了坚实基础。
(2)通过灾难检测技术的应用,系统可实时监控业务系统运行状况。
(3)灾难恢复过程迅速,数据还原精确,业务运行平稳。
(4)可以恢复到任意时间点,且数据的可用性更高。
(5)面对不同的灾难有不同的处理模式,确保业务的连续性。
7 结语
在公共图书馆业务不断增多、数据不断膨胀的今天,数据与应用的安全尤为重要。而容灾系统其特有的灾难检测、系统迁移和任意时间点快照恢复等技术,完全可以保障数据与应用的安全。深图容灾系统已成功对多次突发故障实现了快速恢复,为全市图书馆业务的不间断开展提供了安全保障。实践证明,容灾系统是公共图书馆长远发展的坚强后盾。
1 张成武,金浩.图书馆容灾系统的数据安全技术[J].图书馆工作与研究,2007(5):58~59
2 林平.基于数据分级的高校图书馆馆际互助灾备模式[J].情报探索,2010(8):44~46
3 杨雪媚,赵奎,李涛.一种服务容灾系统的设计与实现[J].计算机应用研究,2010,27(7):2647~2649,2653
4 Keith B.A Developer's Instroduction to ActiveDirectory Fe de-rationServices[J].MSDN Magazine,2006,21(12):76~80,83
5 Radha Telikepalli,JamesYan.Storage Area Network Extension Solutions and Their Performanee Assessment[J].IEEE Communieations Magazine.2004(4)