千家论坛_弱电智能化技术与工程讨论(建筑智能,家居智能,人工智能)

路由交换
收藏本版 (7) |订阅

路由交换 今日: 3703 |主题: 19354|排名: 28 

发新帖
打印 上一主题 下一主题

什么是双机热备...

[复制链接]
linghui136 发布于: 2009-5-18 11:10 1153 次浏览 11 位用户参与讨论
跳转到指定楼层
 

一、   什么是双机热备?

双机热备这一概念包括了广义与狭义两种意义。

 从广义上讲,就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服务。当一台服务器出现故障时,可以由另一台服务器承担服务任务,从而在不需要人工干预的情况下,自动保证系统能持续提供服务。(相关文章:为什么需要双机热备? )

 双机热备由备用的服务器解决了在主服务器故障时服务不中断的问题。但在实际应用中,可能会出现多台服务器的情况,即服务器集群。(相关文章:双机软件与集群软件的异同)

 双机热备一般情况下需要有共享的存储设备。但某些情况下也可以使用两台独立的服务器。(相关文章:双机热备的实现模式)

 实现双机热备,需要通过专业的集群软件或双机软件。(相关文章:双机与集群软件的选择)

 从狭义上讲,双机热备特指基于active/standby方式的服务器热备。服务器数据包括数据库数据同时往两台或多台服务器写,或者使用一个共享的存储设备。在同一时间内只有一台服务器运行。当其中运行着的一台服务器出现故障无法启动时,另一台备份服务器会通过软件诊测(一般是通过心跳诊断)将standby机器激活,保证应用在短时间内完全恢复正常使用。(相关文章:双机热备、双机互备与双机双工的区别 )

二、   为什么要做双机热备?

双机热备针对的是服务器的故障。

 服务器的故障可能由各种原因引起,如设备故障、操作系统故障、软件系统故障等等。一般地讲,在技术人员在现场的情况下,恢复服务器正常可能需要10分钟、几小时甚至几天。从实际经验上看,除非是简单地重启服务器(可能隐患仍然存在),否则往往需要几个小时以上。而如果技术人员不在现场,则恢复服务的时间就更长了。

 而对于一些重要系统而言,用户是很难忍受这样长时间的服务中断的。因此,就需要通过双机热备,来避免长时间的服务中断,保证系统长期、可靠的服务。

 决定是否使用双机热备,正确的方法是要分析一下系统的重要性以及对服务中断的容忍程度,以此决定是否使用双机热备。即,你的用户能容忍多长时间恢复服务,如果服务不能恢复会造成多大的影响。

 在考虑双机热备时,需要注意,一般意义上的双机热备都会有一个切换过程,这个切换过程可能是一分钟左右。在切换过程中,服务是有可能短时间中断的。但是,当切换完成后,服务将正常恢复。因此,双机热备不是无缝、不中断的,但它能够保证在出现系统故障时,能够很快恢复正常的服务,业务不致受到影响。而如果没有双机热备,则一旦出现服务器故障,可能会出现几个小时的服务中断,对业务的影响就可能会很严重。

 另有一点需要强调,即服务器的故障与交换机、存储设备的故障不同,其概念要高得多。原因在于服务器是比交换机、存储设备复杂得多的设备,同时也是既包括硬件、也包括操作系统、应用软件系统的复杂系统。不仅设备故障可能引起服务中断,而且软件方面的问题也可能导致服务器不能正常工作。

 还应指出的是,一些其他的防护措施如磁盘阵列(RAID)、数据备份虽然是非常重要的,但却不能代替双机热备的作用。可参见相关文章:双机热备与数据备份/Raid的关系


三、   双机热备的实现模式

双机热备有两种实现模式,一种是基于共享的存储设备的方式,另一种是没有共享的存储设备的方式,一般称为纯软件方式。

 基于存储共享的双机热备是双机热备的最标准方案。

 对于这种方式,采用两台(或多台,参见:双机与集群的异同)服务器,使用共享的存储设备(磁盘阵列柜或存储区域网SAN)。两台服务器可以采用互备、主从、并行等不同的方式。在工作过程中,两台服务器将以一个虚拟的IP地址对外提供服务,依工作方式的不同,将服务请求发送给其中一台服务器承担。同时,服务器通过心跳线(目前往往采用建立私有网络的方式)侦测另一台服务器的工作状况。当一台服务器出现故障时,另一台服务器根据心跳侦测的情况做出判断,并进行切换,接管服务。对于用户而言,这一过程是全自动的,在很短时间内完成,从而对业务不会造成影响。由于使用共享的存储设备,因此两台服务器使用的实际上是一样的数据,由双机或集群软件对其进行管理。

 (典型的双机热备产品,参见:LanderCluster集群软件)

 对于纯软件的方式,则是通过支持镜像的双机软件,将数据可以实时复制到另一台服务器上,这样同样的数据就在两台服务器上各存在一份,如果一台服务器出现故障,可以及时切换到另一台服务器。

 对于这种方式的深入分析,请参见:纯软件方式的双机热备方案深入分析

 纯软件方式还有另外一种情况,即服务器只是提供应用服务,而并不保存数据(比如只进行某些计算,做为应用服务器使用)。这种情况下同样也不需要使用共享的存储设备,而可以直接使用双机或集群软件即可。但这种情况其实与镜像无关,只不过是标准的双机热备的一种小的变化。

四、   双机热备、双机互备与双机双工的区别

 双机热备即是目前通常所说的active/standby方式,服务器数据包括数据库数据同时往两台或多台服务器写,或者使用一个共享的存储设备。当active服务器出现故障的时候,通过软件诊测(一般是通过心跳诊断)将standby机器激活,保证应用在短时间内完全恢复正常使用。

 双机互备,在双机热备的基础上,两个相对独立的应用在两台机器同时运行,但彼此均设为备机,当某一台服务器出现故障时,另一台服务器可以在短时间内将故障服务器的应用接管过来,从而保证了应用的持续性。这种方式实际上是双机热备的一种应用。它避免了两个应用使用四台服务器分别实现双机热备。

 双机双工,两台或多台服务器均为活动,同时运行相同的应用,保证整体的性能,也实现了负载均衡和互为备份。需要利用磁盘柜存储技术(最好采用san)。对于数据库服务而言,它同时需要数据库软件的支持,是比较复杂的。而WEB服务器或应用服务器就比较简单了,可参见:谈Web服务器和应用服务器的负载均衡

五、   双机热备与数据备份/Raid的关系

一些用户在规划双机热备或双机备份时,会有这样的问题:我已经有了RAID,以及磁带备份,还有必须做双机吗?或者,如果我做了双机备份,还有必要做磁带备份吗?

 应该说RAID和数据备份都是很重要的。但是,RAID技术只能解决硬盘的问题,备份只能解决系统出现问题后的恢复。而一旦服务器本身出现问题,不论是设备的硬件问题还是软件系统的问题,都会造成服务的中断。因此,RAID及数据备份技术不能解决避免服务中断的问题。对于需要持续可靠地提供应用服务的系统,双机还是非常重要的。只要想一想,如果你的服务器坏了,你要用多少时间将其恢复到能正常工作,你的用户能容忍多长的恢复时间就能理解双机的重要性了。

 从另外一个方面,RAID以及磁带备份也是非常需要的。对于RAID而言,可以以很低的成本大大提高系统的可靠性,而且其复杂程度远远低于双机。因为毕竟硬盘是系统中机械操作最频繁、易损率最高的部件,如果采用RAID,就可以使出现故障的系统很容易修复,也减少服务器停机进行切换的次数。

 数据备份更是必不可少的措施。因为不论RAID还是双机,都是一种实时的备份。任何软件错误、病毒影响、误操作等等,都会同步地在多份数据中发生影响。因此,一定要进行数据的备份(不论采取什么介质,都建议用户至少要有一份脱机的备份),以便能在数据损坏、丢失时进行恢复。


六、   双机软件与集群软件的异同

在双机热备应用方面,有两大类软件产品。一类是双机软件(HA),另一类则称作集群软件(Cluster)。这两类软件的异同在什么地方呢?

  它们都是为实现系统的高可用性服务的,都解决了一台服务器出现故障时,由其他服务器接管应用,从而持续可靠地提供服务的问题。

  它们都是通过心跳技术在进行系统检测。

  但是,双机软件只能支持两台服务器以主从方式或互备方式工作。而集群软件除了支持双机工作外,还可以支持多台服务器(Multi Node)工作,同时部署多个应用,并在多个服务器间灵活地设置接管策略。

  在两种情况下需要使用集群软件:一是有超过两个应用,本身就需要部署三台或更多的服务器。二是只有两个应用,但每个应用的负载均较大,不宜采用双机互备的方式,而是需要由第三台服务器来作为这两个应用的备机。

  一般地讲,集群软件具有更多的技术含量,具备更高的可靠性。同时,往往价格(平均到每台服务器)也高于双机软件。

  在选择产品时,应根据应用的实际情况来确定。最理想的方式,则是在应用数量少、负载不是很大时先使用双机软件,然后在应用数量增多、负载增大时平滑过渡到集群软件。

七、   谈Web服务器和应用服务器的负载均衡

本文对Web服务器和应用服务器的负载均衡进行说明。

 在负载均衡的思路下,多台服务器为对称方式,每台服务器都具有同等的地位,可以单独对外提供服务而无须其他服务器的辅助。通过负载分担技术,将外部发送来的请求按一定规则分配到对称结构中的某一台服务器上,而接收到请求的服务器都独立回应客户机的请求。

 提供服务的一组服务器组成了一个应用服务器集群(cluster),并对外提供一个统一的地址。当一个服务请求被发至该集群时,根据一定规则选择一台服务器,并将服务转定向给该服务器承担,即将负载进行均衡分摊。

 通过应用负载均衡技术,使应用服务超过了一台服务器只能为有限用户提供服务的限制,可以利用多台服务器同时为大量用户提供服务。当某台服务器出现故障时,负载均衡服务器会自动进行检测并停止将服务请求分发至该服务器,而由其他工作正常的服务器继续提供服务,从而保证了服务的可靠性。

 上述的集群技术一般都用于Web服务器、应用服务器等,而不是用于数据库服务器,即不是用于有共享的存储的服务。数据库服务器将涉及到加锁、回滚等一系列问题,要复杂的多。一般数据库服务器只是使用双机,其中一台工作,另一台备份。数据库的双机并行只用于大型数据库中。可参见:

系统高可用性与双机备份常见问题与方案选择

 负载均衡实现的方法有几种:

  • 最简单的是通过DNS,但只能实现简单的轮流分配,也不能处理故障
  • 如果是基于MS IIS,Windows 2003 Server本身就带了负载均衡服务。但这一服务也只是轮流分配。
  • 硬件方式,通过交换机的功能或专门的负载均衡设备可以实现。对于流量的分配可以有多种方式,但基本上都是应用无关的,与服务器的实际负载关系也不大。另外,设备的价格较贵(优点是能支持很多台服务器)。这种方式往往适合大流量、简单应用。
  • 软件方式,通过一台负载均衡服务器进行,上面安装软件。这种方式比较灵活,成本相对也较低。另外一个很大的优点就是可以根据应用的情况和服务器的情况采取一些策略。这方面比较典型的软件产品,是富士通西门子公司的PCL SIS负载均衡软件。

八、   系统高可用性与双机备份常见问题与方案选择

对于企业重要的应用系统而言,保证系统能持续、可靠地提供服务是非常重要的,因此就出现了对高可用性的需求和高可用性的解决方案。

对于如何选择高可用性的解决方案,特别是关于双机热备的方案选择,常见的有以下问题:

Q:已经采取了RAID技术和数据备份技术,还有必要做双机吗?

A:参见:双机热备与数据备份及RAID的关系

Q:高可用性的解决方案有哪些?

A:从广义讲,高可用性包括一切避免系统服务中断的技术。而一般所说的系统高可用性,往往特指服务器的双机或多机热备/容错。

Q:什么时候需要双机热备?

A:决定是否使用双机热备,正确的方法是要分析一下系统的重要性以及对服务中断的容忍程度,以此决定是否使用双机热备。即,你的用户能容忍多长时间恢复服务,如果服务不能恢复会造成多大的影响。

Q:双机热备、双机互备与双机双工三个概念都是什么意思?有什么区别?

A:参见:双机热备、双机互备与双机双工的区别

Q:双机热备方案与集群的区别?

A:从概念上,双机热备是集群(Cluster)的一种。集群一般包括两类,一类是纯粹应用服务器的集群,各个应用服务器都访问统一的数据库服务器,但彼些并不需要共享存储,这种集群是比较简单的,往往采取各个服务器同时提供服务的方式,并且往往同时采用负载均衡技术。有关应用服务的集群,请参见:谈Web服务器和应用服务器的负载均衡

另一类是数据库服务器(或其他需要访问存储数据的系统如Exchange、Notes)的集群。集群可能包括多台服务器。集群软件除了支持双机工作外,还可以支持多台服务器(Multi Node)工作,同时部署多个应用,并在多个服务器间灵活地设置接管策略。请参见:双机、集群的配置模式-主从、互备、多点集群 双机软件与集群软件的异同

Q:数据库服务的高可用性有几种方式?

A:最简单的,是采用备机的方式。这其实不属于高可用性的范围,但可以将出现故障后恢复服务的时间控制在几十分钟的量级,而且备机平时还可用作其他用途。这种方式是一种低成本的简单方案,对于不是非常重要的应用比较适合。它不适用于重要应用,但是除非你的应用停上几天都无所谓,否则至少要有这一级别的保护措施。

第二种是通过软件方式实现双机热备。即不采用共享的存储设备,而是数据不再单点存储,本机数据可以向多台主机做实时的数据复制。这种方式的优点是节省了昂贵的存储设备投资。缺点是或者会产生数据的差异,或者会影响数据库的速度。比如,如果在服务中断时切换到备机,则可能有少量已经在主机完成的事务在备机上尚未实现。而与备份数据的恢复不同,备机启动后,后续的操作已经进行,因此丢失的事务就很难补上。因此,这种方式适用于对于丢失少量数据不是非常敏感的系统。

  有关这种方式的深入探讨,可参见:镜像与HA-数据库双机热备的两种方式

第三种是基于共享存储设备和双机软件实现双机热备。这是标准的方法,能够在无人值守的情况下提供秒级的切换,并且不会丢失数据。当然,投资会比较高。

Q:数据库双机热备时,双机是同时工作吗?

A:在一般的中小规模应用中,数据库的双机热备都是主/备方式,主服务器工作时另一台等待,在主服务器出现故障时借助双机软件自动切换至另一台服务器。而有些大规模应用为充分利用设备,可以采用并行服务的方式,两台服务器同时提供服务,如Oracle的RAC(Oracle Real Application Cluster),以及支持SQL Server并行服务的数据库路由器软件ICX

Q:如何选择与实施系统高可用性方案?

A:参见:如何选择与实施系统高可用性方案?

九、   双机、集群的配置模式:主从、互备、多点集群

在应用双机热备时,有多种应用模式,典型的包括主从、互备、多点集群三大类:

 主从模式是最标准、最简单的双机热备,即是目前通常所说的active/standby方式。它使用两台服务器,一台作为主服务器(Active),运行应用系统来提供服务。另一台作为备机,安装完全一样的应用系统,但处于待机状态(Standby)。当active服务器出现故障的时候,通过软件诊测(一般是通过心跳诊断)将standby机器激活,保证应用在短时间内完全恢复正常使用。

 双机互备,在双机热备的基础上,两个相对独立的应用在两台机器同时运行,但彼此均设为备机,当某一台服务器出现故障时,另一台服务器可以在短时间内将故障服务器的应用接管过来,从而保证了应用的持续性。这种方式实际上是双机热备的一种应用。它避免了两个应用使用四台服务器分别实现双机热备。

 但双机互备存在着性能瓶颈,即如果进行切换后,在一台服务器上就有同时运行两个应用,有可能负载过大。并且,有些情况下会有不止两台服务器对外提供服务。在这种情况上,多点集群就显示出了其必要性。

 多点集群可以理解为双机热备在技术上的提升。多机服务器可以组成一个集群。根据应用的实际情况,可以灵活地在这些服务器上进行部署,同时可以灵活地设置接管策略。比如,可以由一台服务器作为其他所有服务器的备机,也可以设置多重的接管关系,等等。这样,就可以充分地利用服务器的资源,同时保证系统的高可用性。

十、   如何选择与实施双机热备及高可用性方案?

建议采取以下的步骤与方法:

第一,确定对于双机热备或其他高可用性的要求。

 在这一步骤要以应用为主导,进行认真的分析。应该明确以下事项:

  • 有哪些服务器在运行
  • 服务器的操作系统与数据库系统、应用软件都是什么
  • 使用什么样的应用系统
  • 能够承担多长时间的服务中断
  • 数据量、数据写入的频繁程度
  • 硬件条件
  • 大致的预算

第二,确定双机热备及其他高可用性方案的模式。

 1. 决定要不要备、谁和谁备。采用数据库双机热备,应用服务器集群,是主从方式还是互备?亦或是多台服务器?

   2. 决定如何备。就双机热备而言,是采用共享存储方式、纯软件备份方式、备机方式,甚至什么都不采用?

  请参见:基于存储共享的双机热备方案  术语解释:磁盘阵列

      纯软件方式的双机热备方案

第三,选择确定具体的设备、软件的型号。

  要特别注意的是,不同的软件、存储设备之间存在兼容性的问题,因此一定要统一考虑,并提前及时咨询专业人员。切忌出现采购了双机软件对相关的存储设备不兼容等问题。

  请参见:LanderCluster软件概述

      LifeKeeper高可用性软件概述

      RoseHA双机软件概述

第四,实施。

第五,在双机热备或其他高可用性方案实施完成后,一定要进行测试。

第六,在使用阶段,要定期对双机热备或其他高可用性系统是否能够正常切换进行测试。

目前,市场上主要的基于Windows和Linux平台的双机软件包括LanderCluster、LifeKeeperRosaHA等。有关方案规划与产品选择,请咨询我们。


回复

使用道具 举报

已有11人评论

新浪微博达人勋

千家认证

沙发
naijgnoyuil 发表于 2009-5-21 16:23:00
了解了一些
回复 支持 反对

使用道具 举报

新浪微博达人勋

千家认证

板凳
suifengbeng 发表于 2009-5-23 01:53:00
  介绍的蛮详细的哦...
回复 支持 反对

使用道具 举报

新浪微博达人勋

千家认证

地板
RUFUS 发表于 2009-5-24 04:16:00
非常好的介绍,学习了~
回复 支持 反对

使用道具 举报

新浪微博达人勋

千家认证

5#
fansk 发表于 2009-6-3 17:00:00
非常好的介绍
回复 支持 反对

使用道具 举报

新浪微博达人勋

千家认证

6#
a28168501 发表于 2009-6-25 10:50:00
很详细
回复 支持 反对

使用道具 举报

新浪微博达人勋

千家认证

7#
faulover 发表于 2009-6-25 15:37:00

顶一下!

回复 支持 反对

使用道具 举报

新浪微博达人勋

千家认证

8#
butter 发表于 2009-6-26 15:42:00
 好 贴 
回复 支持 反对

使用道具 举报

新浪微博达人勋

千家认证

9#
ashao1015 发表于 2009-6-26 21:27:00
用过RosaHA等,还不错
回复 支持 反对

使用道具 举报

新浪微博达人勋

千家认证

10#
284185065 发表于 2009-6-27 15:51:00
又学到好东西了
回复 支持 反对

使用道具 举报

新浪微博达人勋

千家认证

11#
zhongyr 发表于 2009-6-30 21:16:00
好东西。
回复 支持 反对

使用道具 举报

新浪微博达人勋

千家认证

12#
andy2606 发表于 2009-8-6 11:08:00
看一下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆 千家通行证登陆

本版积分规则

千家智客微信号
千家智客微信
玩物说商城
玩物说商城