.1 系统建设目标
建设本系统的目的是为(银行、电力、铁路、民航、证券、保险、海关、税务)系统建立一个全面的、整体的容灾方案,最大限度地保证业务系统工作的连续性、可靠性。
在(银行、电力、铁路、民航、证券、保险、海关、税务)以往的业务系统中,仅考虑本地容灾,即通过集群的双机系统(Cluster或HA)对业务应用提供保护,在一台服务器的软硬件发生故障时,将整个业务切换到后备服务器上。该方法很大程度上避免了服务器的单点故障,提高了整个业务系统的可用性。
但是,随着(银行、电力、铁路、民航、证券、保险、海关、税务)业务系统的发展,随着竞争的不断加剧,在一些重要的系统中,客户已经不满足于简单的本地保护。越来越多的客户提出了要求更高的系统可用性,要求实现真正的异地容灾保护。因为一旦出现异常情况,如火灾、爆炸、地震、水灾、雷击或某个方向线路故障等自然原因以及电源机器故障、人为破坏等非自然原因引起的灾难,导致业务正常无法进行和重要数据的丢失、破坏,造成的损失将不可估量。因此,(银行、电力、铁路、民航、证券、保险、海关、税务)要求业务系统可以在发生上述灾难时快速恢复,将损失降到最低点。
全面的异地容灾保护方案,意味着除了要实现本地的切换保护外,更要实现数据的实时异地复制和业务系统(包括数据库和应用软件)的实时远程切换。
设计
设计原则
我们为(银行、电力、铁路、民航、证券、保险、海关、税务)提供的高可用容灾方案的设计原则如下:
l 方案当前即可实施
l 在满足要求的前提下尽量简单
l 除特别必要,不需要增加另外超出本方案的软硬件
l 如果一个软件产品可以实现需要的功能,我们不会再使用另外的产品实现重复的功能
l 同一方案适合多种平台环境,降低安装、管理和维护的难度。
VERITAS的容灾方案是一个完整的方案,该方案包括三个功能:主节点到灾备节点的数据远程实时复制、本地应用服务和数据复制服务的切换保护、应用远程容灾切换。涉及的产品包括Volume Manager+Volume Replicator,VERITAS Cluster Server和Global Cluster Manager。
在该整体方案中中,上层依赖于它的下层,每一层的产品实现相应的功能。
图中涉及的软件产品将在下面论述。
方案概述
VERITAS解决方案能够按照现(银行、电力、铁路、民航、证券、保险、海关、税务)业务的要求实现多种容灾模型。即:
l “1+1”冗余备份方式
l “N+1”备份方式
l N节点循环备份方式(如果只要求N=2,即双地点互为备份)
2.2.1 软件安装
在两种情况下,每个地点的每台服务器上安装的软件相同,只是不同情况下配置方法不同,每台服务器的具体配置方法后面讨论。每台服务器安装软件如下:
1) 安装VERITAS Volume Manager(VxVM)
2) 安装VERITAS File System(VxFS)
3) 安装VERITAS Volume Replicator(VVR)
4) 安装VERITAS Cluster Server(VCS)、相应的数据库代理(Agent)和应用软件代理
5) 安装VERITAS Global Cluster Manager(GCM)
本章将就该方案的每个细节进行讨论。包括方案的详细讲解,软件的实际配置方法等。通过阅读和理解本章,您将了解VERITAS解决方案的实现方法,并清楚地知道VERITAS解决方案是切实可行的,并且有相关的实施案例和实施经验。
我们假设原来就已经按照双机系统设计,那么本方案仅需要增加不同地点间的广域连接,不需要增加其它硬件。软件方面要用VERITAS高可用软件替换原有的HA/Cluster软件,新增Volume Manager、VERITAS File System、VERITAS Volume Replicator和Global Cluster Manager。
在介绍功能前,需要强调的的是:VERITAS提供的是完整的容灾解决方案。各个软件的功能完全集成在一起,建立一个容远程数据复制、本地容灾、远程应用切换于一体的方案。
1 软件功能解释
在这里,每个软件只解释与本方案相关的那部分功能,至于软件的全部功能,请见附录。
一、 VERITAS Volume Manager(简称VxVM) 将在物理磁盘上建立多个或一个逻辑卷(Volume)。以裸设备的方式使用卷,或在卷上建立文件系统。将数据(特别是需要进行远程复制的相关文件系统、数据库)存放在卷上。由于数据复制是基于卷的,所以,Volume 是进行复制的基础。
二、 VERITAS Volume Replicator(简称VVR)负责远程数据复制。VVR复制基于Volume进行。复制的数据可以是数据库中的数据(文件方式或裸设备方式)和文件。复制的示意图见图二。
1) VVR与VxVM完全集成在一起。用VxVM管理界面和命令统一配置管理;由于VVR仅仅将Volume上每次I/O的实际数据实时复制到远程节点,所以在网络线路上传输的数据量很少,对带宽的需求也很小。;
2) 将各个业务系统中需要进行远程复制的多个或一个卷定义为一个Replicated Volume Group(简称RVG);
3) 在Site A定义一条RLINK,指向Site B;在Site B也定义一条指向Site A的RLINK。RLINK是单向的;需要进行复制的两个系统各定义一个指向对方的RLINK;每个RVG定义一个RLINK。
4)Storage Replicator Log(简称SRL)是VVR中的重要部件。将数据复制各方的某个卷定义为一个SRL。需要复制的数据首先要写入SRL,然后传到异地。VVR通过SRL保证数据复制严格按照写顺序进行,这在异步工作方式下非常重要。当网络中断或异地系统出现故障时,本地数据将记录在SRL中,等系统恢复正常时再将SRL中的数据按照先进先出的顺序传送到异地。当SRL满后,VVR将通过Data Chang Map(简称DCM)记录变化过的数据块的块号。
VVR数据流程见图三:
图三
5)Data Change Map(简称DCM)与主节点的RVG相关,它其中的内容是位图信息,记录某一时间点后修改过的数据块位置。DCM在正常情况下不使用,在SRL满后记录变化的数据块的块号,当恢复正常复制后,等SRL中的数据传送完后,将DCM中记录的块传送到异地。灾难恢复后的反向复制也用到DCM。
6)数据复制的工作模式缺省为同步/异步自适应,即在网络延时情况较好、数据能够及时复制时,工作在同步方式,完全保证两边数据的一致性;当网络延时情况较差、数据不能及时复制时,工作在异步方式下,保证主节点的I/O性能。数据复制根据实际情况,自行在两种工作模式之间切换。
如果数据复制的线路带宽有限,出于保证本地服务器读写性能的考虑,可以将复制工作模式定义为异步。由于VVR的数据复制严格按照I/O的修改顺序进行,所以,无论在同步还是异步工作方式下,都能保证数据的完整性。对于数据库系统,该复制机制能够保证灾备节点的数据库在灾难发生时正常启动并提供服务。
7)后备节点的完全同步,即所谓的”建立基线”。在主节点往后备节点正常复制数据前,必须逐块逐块地将主节点中需要复制的数据拷贝到后备节点,也就是说,将双方的RVG进行同步。
后备节点的完全同步分为两种情况,一是复制时主节点应用不进行数据更改,二是复制时主节点应用进行数据更改。两种情况下,都可以采用自动同步方式或采用备份和检查点(Check Point)结合的方法。
自动同步是指通过网络将数据从主节点(Primary)复制到备份节点(Secondary)。方法很简单,只要进行一步操作即可完成。自动同步对带宽要求较高,否则,将无法完成完全同步。自动同步要求RVG中的每个卷都有DCM。
对于网络带宽较小,或者需要完全同步的数据量太大时,使用备份与检查点结合的方法。在备份开始前,在主节点设置检查点,该检查点记录在SRL中,然后将数据备份到活动硬盘、光盘、磁带或其它介质上。备份完成后,将检查点取消。将备份的数据恢复到后备节点上。然后将RLINK连接挂上,主节点SRL中记录的的数据传送到后备节点,完成后,两边数据一致,进入正常数据复制状态。用该方法进行数据完全同步,要求SRL卷大些,等完成后,再将SRL卷通过Volume Manager在线缩小。
8) 当某些严重意外情况发生后,后备节点会变成新的主节点,称为角色转换。在灾难期间,不进行数据复制,新的主节点用DCM记录变化数据位置。
9) 当原来的主节点在灾难后恢复正常,需要进行数据反向同步和角色转换。反向同步有两种情况,一种是在灾难发生时刻,原主节点与灾备节点的数据是同步的(即无未复制的数据);第二种是在灾难发生时刻,原主节点与灾备节点的数据不是完全同步的(即主节点有数据尚未复制到灾备节点)。第二种情况在反向同步开始时第一步首先要进行重置,指将原主节点SRL和DCM中数据(这些数据在灾难发生时尚未来得及传送)的位置信息修改当前主节点(即原后备节点)的DCM。然后,将DCM中指向的数据全部传送到原主节点。而第一种情况的话,直接进行第二步工作。传送完成后,将当前主节点的数据库和应用停止,将双方角色复原,并在原主节点提供正常服务。
10)脱机处理。通过使用VVR的In-Band Control(IBC)消息、Snapshot、以及Volume Manager(VxVM)的FastResync(简称FR,即快速同步)功能,可以实现数据的脱机处理。
脱机处理主要指对后备节点种的数据进行处理,例如进行备份、打印报表、数据仓库处理等。脱机处理由打破后备节点的镜像卷、对镜像数据进行处理、重镜像等几个过程组成。
11)双收条(双重确认)机制。指后备节点对复制数据的接收确认有两个阶段。第一个确认当后备节点收到数据后发出;第二个确认当后备节点数据成功写入硬盘后发出。当主节点收到第二个确认后,将SRL中的相应数据清空。
三、 VERITAS Cluster Server(简称VCS)是用于本地容灾的集群软件,支持多达32个节点的应用级切换,保证本地业务系统的软硬件高可用性。VCS以其出色的可靠性和易管理性闻名。VCS的功能特点请见附录。在本方案中,VCS主要负责以下功能:
1) VCS负责监控和管理硬件系统和操作系统,当出现故障时进行切换。
2) 通过数据库代理(Agent)监控和管理数据库系统,当出现故障时进行切换。
3) 通过API或脚本编写针对性客户化应用代理,监控和管理应用系统,当出现故障时进行切换。
4) 通过Replicator 代理监控和管理数据复制过程,当主服务器数据复制发生故障时,自动将数据复制工作切换到后备服务器,保证数据复制过程的连续性。这点对于容灾系统非常重要。该代理充分说明VERITAS提供的是完整的容灾解决方案。
5) 主节点和备份节点的VCS集群系统都在Global Cluster Manager的统一监控和管理下,从而实现集群系统间的远程应用切换。GCM在VCS中以两个服务组(指GCM Master和GCM Slave)的形式存在。
四、Global Cluster Server(简称GCM)可以称为Cluster’s Cluster(集群的集群)。它负责对多个不同地点的多达32个集群系统进行监控和管理,在发生严重灾难时,进行site的切换(即应用的远程切换)。
GCM Console为Web界面,通过浏览器管理各个Cluster系统,并在管理界面中主动控制或响应远程切换。
工作过程
为方便论述,本节模拟地点A和B,两地各有一套建立在VCS双节点集群上的业务系统,以B地点的系统作为A地点的备份。
切换示意图见图四。
一、 正常情况下:
1) 业务系统运行在地点A,包括数据库实例、有关的文件、数据库数据、应用软件。A节点对外提供服务。
2) A节点所有的有关的数据通过VVR实时复制到B节点。
3) 两地的VCS对的各自节点内的两台服务器的主机情况、数据库服务、应用软件进行实时监控和管理,其中,VCS还对VVR数据复制服务进行监控。
4) GCM 监控两地Cluster系统的运行。
二、 当A地点的主服务器发生硬件或软件故障,导致主服务器无法提供正常服务:
1) VCS进行本地切换,将主服务器的数据库服务、应用软件、VVR数据复制服务切换到本地后备节点。
2) 整个系统运行在本地后备节点,包括VVR数据复制服务,由后备服务器提供对外服务和数据复制服务。
3) GCM将监控到该切换事件的发生。
4) 如果仅仅是主服务器数据复制服务发生故障,可以不进行切换,只需将复制服务修复并正常运行。
三、 如果在情况二的状态下,A地点的后备服务器也发生硬件或软件故障,或者是整个A节点发生灾难,整个A地点无法正常提供服务,进行灾难切换:
1) GCM 将监控到该严重灾难的发生,将对接收到的Site A down事件进行处理:发出严重告警,并在管理界面上弹出服务灾难性切换(及服务切换到远程地点)等待确认画面。
2) 在有关人员确认后,在GCM切换等待确认画面上按确认按钮,将进行地点间的容灾切换。
3) A地点的业务将在B地点正常提供服务。
四、当灾难恢复后,A节点的服务器恢复正常,进行服务回迁。
1)将进行数据的反向同步,将灾难期间B节点变化的数据传送到A。
2) GCM控制进行整个系统的反向切换。
3)A节点重新成为VVR的Primary,进行正常复制。
4)A节点整个业务系统恢复正常运行,正常提供服务。
方案分析
本章将就(银行、电力、铁路、民航、证券、保险、海关、税务)需求书中提出的要求分析方案。通过分析,说明方案符合需求,并进一步讲解方案的细节。
3.4.1 有关数据复制的要求
涉及数据库的系统业务,除了对数据库内容的更改进行实时数据复制外,还要复制有关的系统文件,例如环境配置信息、数据库环境配置信息。在带宽允许的情况下,我们将对整个数据库有关的内容,包括数据库安装软件、数据库数据等等都实时复制到灾备节点。当发生灾难时,恢复的时间会很短。
根据计算,由于带宽允许,所以,将进行数据库内容和Log的复制。
3.4.2 方案小结
本方案的特点:是一个完整的容本地容灾、数据远程复制和远程容灾切换于一体的方案。本方案完全符合《(银行、电力、铁路、民航、证券、保险、海关、税务)需求书》的技术指标,完全实现(银行、电力、铁路、民航、证券、保险、海关、税务)业务的全面容灾需求。
以下说明本方案的特点及优势。
一、 本方案能够支持手动/自动信令容灾方案,用户可以根据实际需要进行 自由选择。但在实际情况中,由于发生重大灾难时业务异地切换属于非常严重的事故,所以我们建议该过程前用户进行电话确认,然后在GCM界面中按下切换确认按钮进行切换。
二、 当本地主系统恢复正常后,需要进行反向数据同步、应用切换等工作,该工作需要由操作人员在系统较空闲时进行。工作过程很简单。
三、 通过SRL、DCM、严格的按写顺序传送、双收条确认、反向切换时的重置等技术的使用,本方案可以最大限度地保证主、备节点的数据一致性。
四、 本方案支持 1+1、N+1和节点互备方式,满足用户的不同需求。
五、 本方案如果不考虑带宽,节点间没有距离的限制。由于VVR的数据传递是基于卷,所以每次传送的数据量基本就是每次系统I/O的数据大小。这样可以得到最大的带宽利用率。
六、 基线建立,需要主备节点的数据完全同步。完全同步在应用运行期间也可以完成。可以采用自动同步方式或使用备份和检查点(Check Point)结合的方法。
七、 至于基线建立过程、日常复制过程、故障切换过程和故障恢复过程对主机性能的影响,由于对不同的配置、不同的情况将有很大的区别,所以,很难给出具体的数值。以我们在以往实施中的经验,如果采用异步复制方式,对整个系统的影响,在5%左右。
本文出自 51CTO.COM技术博客