Chinaunix首页 | 论坛 | 博客
  • 博客访问: 814511
  • 博文数量: 328
  • 博客积分: 7000
  • 博客等级: 少将
  • 技术积分: 3810
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-15 22:00
文章分类

全部博文(328)

文章存档

2009年(2)

2008年(84)

2007年(207)

2006年(35)

我的朋友

分类: Sybase

2006-12-26 18:49:45

高可用性主要解决的是主机的容错问题,如处理器、内存、网卡等硬件故障,它对由于自然灾害所引发的容错能力较弱,具体表现在:

  · 由于两台机器共享一个磁盘阵列,用户的所有数据都存储在磁盘阵列上,数据只有一份备份,一旦磁盘阵列整体发生问题,整个系统将崩溃,所有数据全部丢失。

  · 由于两台机器共享一个磁盘阵列,两台主机的位置受到很大限制,一般是在同一个建筑物内,当发生火灾、地震、水灾等自然灾害时,整个系统也将崩溃,所有数据将丢失。

  虽然我们定时对系统进行备份,但一般做不到实时备份,当系统崩溃后,即使可以利用备份进行恢复,也会造成数据丢失,同时在恢复期间,所用用户都不能访问数据库,对于电信行业的许多关键业务系统如计费、营账和网管系统来说,这种情况是绝对不允许发生的。

  二、SYBASE建议的灾难备份方案

  随着中国经济的高速发展,电信行业在国民经济中开始占有越来越重要的地位。对于电信系统,数据是一切工作的基础,因此对数据的安全性和实时性要求很高,美国911事件后,各个行业开始把数据灾难备份提到一个新的认识高度。因此,如何在管理好现有设备的同时建立一套功能完善的灾难备份系统,成为当前电信部门亟待解决的重要问题。

  为了确保自然灾害(如火灾、地震)或战争等情况下的系统可靠性/高可用性,我们希望找到某种备份方案,它必须克服群机系统中对节点机物理分布的限制,允许互为备份的节点各成系统(特别是有自己的磁盘系统),地理上任意放置;同时通过某种机制在节点之间自动同步实时变化的数据;节点之间的切换过程必须简化;切换速度足够快,即系统恢复时间足够短;客户应用尽可能透明于后台/平滑切换。

  这就是我们所说的灾难备份,以上条目应当成为该种方案的目标。

  1、SYBASE建议的灾难备份方案及其主要组成部分

  SYBASE建议的灾难备份方案如图5所示。在Sybase数据库系统中,主要包含两部分:数据库自动复制系统和客户端自动切换系统。



  图5 SYBASE建议的灾难备份方案

  其主要组成部分包括:

  · 主点和复制点数据库服务器系统:用于为客户提供关键业务服务。二者是独立的计算机系统,物理分布无任何限制;逻辑上,二者互为备份,对客户而言是一个整体(一个数据库服务器);一般地,将当时对外提供数据服务的节点称为主节点/活跃(Active)节点,另一节点称为备份(Standby)节点,客户连接主节点并作用于(修改)主点数据。

  · 复制服务器系统:用于连接互为备份的两个数据库服务器系统,实现从主节点/活跃节点到备份节点的数据同步;在活跃节点失效时,可以方便地通知复制服务器,快速切换主、备节点(使备份节点变为活跃节点,反之活跃节点成为备份节点)。

  · Sybase的OpenSwitch:客户端自动切换采用OpenSwitch,它是一个OpenServer应用网关,负责客户端和服务器端的连接管理和控制,CM(coordination Modules)是OpenSwitch的一个主要模块,负责协调和控制失败转移。

  · 客户应用:连接到主节点/活跃节点,使用特别是更新主节点的业务数据。后台发生主、备节点的切换时,待切换完成后,客户应用自动重新连接到新的主节点(即由来的备份节点),继续工作。
2、数据库自动复制系统

  数据库自动复制系统包括三部分:

  · 主点数据库:系统正常运行时的数据库系统,在正常情况下客户端应用对数据库的修改操作必须集中在主点数据库。

  · 备份点数据库:主点数据库的一个备份,可以与主点数据库在同一个地点,也可以在不同的地点,但主点数据库系统和备份点数据库系统必须通过专线网络进行连接。正常情况下,备份点数据库不能进行数据修改,但可以进行数据查询,以分担主点数据库的负载。当主点数据库系统发生故障时,所有客户端都自动连接到备份点数据库,进行正常操作,此时备份点数据库自动升级为主点数据库。

  · 复制服务器系统:用于连接主点和复制点两个数据库服务器系统,实现从主节点/活跃节点到备份节点的数据实时同步;当主点的数据发生改变时,复制服务器系统通过数据库中的复制代理扫描数据库的日志,把变化的日志读取出来,通过复制服务器在复制点提交,从而保证数据的一致性。复制服务器具备断点续发功能,保证多个数据库间数据完整性与数据一致性。复制服务器采用复制命令语言(RCL)来监测和管理复制系统。

  主点和复制点通过复制服务器的warm standby 技术实现两个数据库的准实时同步。当系统正常运行时,数据从主点复制到复制点。如果主点发生故障,则复制点接管主点的所有连接。当主点修复故障后,用户可以把原来的复制点作为主点、原来的主点作为复制点重新构建复制系统,新的复制系统购建成功后,用户可以保持切换后的运行状态(如果两个服务器在同一地点且硬件相同)也可以手工地切换到系统发生故障前的状态,即故障前的主点仍然为主点,所有客户端连接都连接到主点上。

  1、SYBASE复制服务器Replication Server的基本原理

  从上述对方案组成的叙述中可以看出,其关键产品是Sybase的复制服务器Replication Server。为了利于后续部分对方案细节的描述,有必要在此对Sybase的复制服务器Replication Server描述如下。
  Sybase的复制服务器Replication Server突破了分布式数据库的限制,为真正的系统分布提供了解决方案,是业界第一个用于建立经济、可靠、高性能的分布式系统的实用产品。

  · Replication Server能在整个分布式系统中保持数据的精确性,是因为它通过其敏感的日志传输代理(Log Transfer Agent)监测主节点的数据修改,由复制服务器异步地把提交的事务发送到存放数据拷贝的远程节点,并维护最新的数据拷贝。

  · 对于网络出现故障的情况,Replication Server为了保障源点、目标点以及复制的正常工作,采取了先进的、智能的存储转发机制来保证系统的可用性。Replication Server拥有自己的存储转发队列,在网络故障情况下,对主点的数据的变化暂时存储在队列里,一旦网络故障恢复正常,系统会自动地将数据的变化传送到目标点服务器,保证数据的一致性。

  · Replication Server不仅能够保证在网络中断情况下能正常工作,并且能够保证在网络连通后,系统能自动地从上一次发送的断点处继续发送,节省用户的网络资源,提高传送时间。这种智能的工作机制是靠Replication Server提供的复制机制中的稳定队列(Stable Query)来实现的:Replication Server首先将利用LTM将主点数据的变化存储在主点的稳定队列里,网络正常通信的情况下,准实时地将其中记录的主点变化数据传送到复制点的稳定队列中。一旦网络出现故障,LTM仍然会正常工作,监听本地数据的变化,将变化量存入本地的稳定队列,并且自动记忆网络故障前的中断点,当网络重新恢复正常后,主场点的复制服务器会与复制点的复制服务器会话,并从断点处将未传送完的变化数据传送到复制点的稳定队列中去,从而节省了网络传送时间。这种智能的机制非常适合于有大文本字段(如:text, image)系统的复制。

  · Sybase的Replication Server支持各种复制工作模式:一对多、多对一、多对多,他们对应着实际工作中的从中央到地方的下发、从地方到中央的汇总、以及地方、中央的双向数据传输。Warm Standby Application是其最简单的应用方式,由于其应用的典型性,Sybase的Replication Server相应简化了这种应用的配置、操纵。

  · Sybase的Replication Server还支持异种数据库之间的复制。Sybase公司的中间件互连产品是业界中最强的,通过针对各种数据库的中间件选项和复制服务器,可以在不同的数据库之间进行数据复制,满足信息系统的各种需要。

  · 由各复制节点指明其所需要的数据,说明的精度可达到行级、列级,并给出相应的复制定义,则在复制节点就可得到涉及这些
  数据的所有更新。

  · 不但支持基于事务的数据的复制,还支持存储过程/函数的复制,大大拓展了复制的能力和灵活性。这种传递机制特别适合于基于存储过程的业务系统的灾难备份,因为互备节点之间不必传递大量的数据,而是传递引起数据变化的存储过程名和参数。

  2、Warm Standby Application中数据的传递方式

  在明白了SYBASE复制服务器Replication Server的基本原理后,我们进一步以图示的方式说明在Warm Standby Application中数据的传递方式(注意图中步骤数字,不再分步说明)。在主、备节点发生切换后,其数据传递则反之。



  图6 Warm Standby Application中数据的传递方式

阅读(751) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~