顺着天性做事,逆着个性做人.
分类:
2008-07-18 09:24:41
(一)什么是双机热备
双机热备这一概念包括了广义与狭义两种意义。
从广义上讲,就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服务。当一台服务器出现故障时,可以由另一台服务器承担服务任务,从而在不需要人工干预的情况下,自动保证系统能持续提供服务。(相关文章: )
双机热备由备用的服务器解决了在主服务器故障时服务不中断的问题。但在实际应用中,可能会出现多台服务器的情况,即服务器集群。(相关文章:双机软件与集群软件的异同)
双机热备一般情况下需要有共享的存储设备。但某些情况下也可以使用两台独立的服务器。(相关文章:)
实现双机热备,需要通过专业的集群软件或双机软件。(相关文章:双机与集群软件的选择)
从狭义上讲,双机热备特指基于active/standby方式的服务器热备。服务器数据包括数据库数据同时往两台或多台服务器写,或者使用一个共享的存储设备。在同一时间内只有一台服务器运行。当其中运行着的一台服务器出现故障无法启动时,另一台备份服务器会通过软件诊测(一般是通过心跳诊断)将standby机器激活,保证应用在短时间内完全恢复正常使用。(相关文章: )
(二)为什么要做双机热备
双机热备针对的是服务器的故障。
服务器的故障可能由各种原因引起,如设备故障、操作系统故障、软件系统故障等等。一般地讲,在技术人员在现场的情况下,恢复服务器正常可能需要10分钟、几小时甚至几天。从实际经验上看,除非是简单地重启服务器(可能隐患仍然存在),否则往往需要几个小时以上。而如果技术人员不在现场,则恢复服务的时间就更长了。
而对于一些重要系统而言,用户是很难忍受这样长时间的服务中断的。因此,就需要通过双机热备,来避免长时间的服务中断,保证系统长期、可靠的服务。
决定是否使用双机热备,正确的方法是要分析一下系统的重要性以及对服务中断的容忍程度,以此决定是否使用双机热备。即,你的用户能容忍多长时间恢复服务,如果服务不能恢复会造成多大的影响。
在考虑双机热备时,需要注意,一般意义上的双机热备都会有一个切换过程,这个切换过程可能是一分钟左右。在切换过程中,服务是有可能短时间中断的。但是,当切换完成后,服务将正常恢复。因此,双机热备不是无缝、不中断的,但它能够保证在出现系统故障时,能够很快恢复正常的服务,业务不致受到影响。而如果没有双机热备,则一旦出现服务器故障,可能会出现几个小时的服务中断,对业务的影响就可能会很严重。
另有一点需要强调,即服务器的故障与交换机、存储设备的故障不同,其概念要高得多。原因在于服务器是比交换机、存储设备复杂得多的设备,同时也是既包括硬件、也包括操作系统、应用软件系统的复杂系统。不仅设备故障可能引起服务中断,而且软件方面的问题也可能导致服务器不能正常工作。
还应指出的是,一些其他的防护措施如磁盘阵列(RAID)、数据备份虽然是非常重要的,但却不能代替双机热备的作用。可参见相关文章:
(三)双机热备的实现模式 - 基于共享存储与纯软件方式
双机热备有两种实现模式,一种是基于共享的存储设备的方式,另一种是没有共享的存储设备的方式,一般称为纯软件方式。
基于存储共享的双机热备是双机热备的最标准方案。
对于这种方式,采用两台(或多台,参见:)服务器,使用共享的存储设备(磁盘阵列柜或存储区域网SAN)。两台服务器可以采用互备、主从、并行等不同的方式。在工作过程中,两台服务器将以一个虚拟的IP地址对外提供服务,依工作方式的不同,将服务请求发送给其中一台服务器承担。同时,服务器通过心跳线(目前往往采用建立私有网络的方式)侦测另一台服务器的工作状况。当一台服务器出现故障时,另一台服务器根据心跳侦测的情况做出判断,并进行切换,接管服务。对于用户而言,这一过程是全自动的,在很短时间内完成,从而对业务不会造成影响。由于使用共享的存储设备,因此两台服务器使用的实际上是一样的数据,由双机或集群软件对其进行管理。
(典型的双机热备产品,参见:)
对于纯软件的方式,则是通过支持镜像的双机软件,将数据可以实时复制到另一台服务器上,这样同样的数据就在两台服务器上各存在一份,如果一台服务器出现故障,可以及时切换到另一台服务器。
对于这种方式的深入分析,请参见:
纯软件方式还有另外一种情况,即服务器只是提供应用服务,而并不保存数据(比如只进行某些计算,做为应用服务器使用)。这种情况下同样也不需要使用共享的存储设备,而可以直接使用双机或集群软件即可。但这种情况其实与镜像无关,只不过是标准的双机热备的一种小的变化。
(四)纯软件方式的双机热备方案深入分析
数据库双机热备有两种典型的方式,一种是比较标准的,两台服务器通过一个共享的存储设备(一般是共享的磁盘阵列或存储区域网SAN),并且安装双机软件,实现双机热备,称为共享方式。另一种方式是通过纯软件的方式,一般称为纯软件方式或镜像方式(Mirror)。
对于共享方式,数据库放在共享的存储设备上。当一台服务器提供服务时,直接在存储设备上进行读写。而当系统切换后,另一台服务器也同样读取该存储设备上的数据。
对于纯软件的方式,通过镜像软件,将数据可以实时复制到另一台服务器上,这样同样的数据就在两台服务器上各存在一份,如果一台服务器出现故障,可以及时切换到另一台服务器。
纯软件方式有三大优点:
1.避免了磁盘阵列的单点故障:对于双机热备,本身即是防范由于单个设备的故障导致服务中断,但磁盘阵列恰恰又形成了一个新的单点。(比如,服务器的可靠系数是99.9%, 磁盘阵列的可靠系数是99.95%,则纯软双机的可靠系数是1-99.9%x99.9%=99.99%,而基于磁盘阵列的双机热备系统的可靠系数则会是略低于99.95%
2.节约投资:不需购买昂贵的磁盘阵列。
3.不受距离的限制:两台服务器不需受SCSI电缆的长度限制(光纤通道的磁盘阵列也不受距离限制,但投资会大得多)。这样,可以更灵活地部署服务器,包括通过物理位置的距离来提高安全性。
纯软件方式以前应用得较少,一方面是由于当时市场上比较流行的双机软件不支持纯软件方式,另一方面是由于少数支持纯软件方式的产品其可靠性不太令人放心。但随着NEC这样的大牌厂商的产品进入市场,应该说纯软件方式将逐渐成为一种方向。
从方案选择的角度,建议在进行双机热备时,如果投资充裕、数据量大(1T以上),可以采用共享的存储设备(如磁盘阵列)的方式,但应尽量选择高可靠性(如著名品牌的)设备,并且考虑选择双控制器的方案。否则,则更好的选择是纯软件方式。当然,这时就一定要选择成熟的、大厂商的经过考验的产品。
(五)双机、集群的配置模式:主从、互备、多点集群
在应用双机热备时,有多种应用模式,典型的包括主从、互备、多点集群三大类:
主从模式是最标准、最简单的双机热备,即是目前通常所说的active/standby方式。它使用两台服务器,一台作为主服务器(Active),运行应用系统来提供服务。另一台作为备机,安装完全一样的应用系统,但处于待机状态(Standby)。当active服务器出现故障的时候,通过软件诊测(一般是通过)将standby机器激活,保证应用在短时间内完全恢复正常使用。
双机互备,在双机热备的基础上,两个相对独立的应用在两台机器同时运行,但彼此均设为备机,当某一台服务器出现故障时,另一台服务器可以在短时间内将故障服务器的应用接管过来,从而保证了应用的持续性。这种方式实际上是双机热备的一种应用。它避免了两个应用使用四台服务器分别实现双机热备。
但双机互备存在着性能瓶颈,即如果进行切换后,在一台服务器上就有同时运行两个应用,有可能负载过大。并且,有些情况下会有不止两台服务器对外提供服务。在这种情况上,多点集群就显示出了其必要性。
多点集群可以理解为双机热备在技术上的提升。多机服务器可以组成一个集群。根据应用的实际情况,可以灵活地在这些服务器上进行部署,同时可以灵活地设置接管策略。比如,可以由一台服务器作为其他所有服务器的备机,也可以设置多重的接管关系,等等。这样,就可以充分地利用服务器的资源,同时保证系统的高可用性。
相关文章:
(六)如何选择与实施双机热备及高可用性方案?
建议采取以下的步骤与方法:
第一,确定对于双机热备或其他高可用性的要求。
在这一步骤要以应用为主导,进行认真的分析。应该明确以下事项:
第二,确定双机热备及其他高可用性方案的模式。
1. 决定要不要备、谁和谁备。采用数据库双机热备,应用服务器集群,是主从方式还是互备?亦或是多台服务器?
请参见:
2. 决定如何备。就双机热备而言,是采用共享存储方式、纯软件备份方式、备机方式,甚至什么都不采用?
请参见:
第三,选择确定具体的设备、软件的型号。
要特别注意的是,不同的软件、存储设备之间存在兼容性的问题,因此一定要统一考虑,并提前及时咨询专业人员。切忌出现采购了双机软件对相关的存储设备不兼容等问题。
请参见:
第四,实施。
第五,在双机热备或其他高可用性方案实施完成后,一定要进行测试。
第六,在使用阶段,要定期对双机热备或其他高可用性系统是否能够正常切换进行测试。
目前,市场上主要的基于Windows和Linux平台的双机软件包括、 等。
(七)双机热备、集群及高可用性软件产品的选择
在进行双机热备、集群及高可用性软件产品的选择时,可按以下步骤进行:
1. 明确应用的方式与要求:
是双机方式还是多点集群?或者是目前使用双机、以后可能升级到集群?(相关内容:)
如果是双机,是采用共享的存储设备,还是采用基于镜像的纯软件方式?(相关内容:)
2. 了解清楚应用环境:
使用什么操作系统?
运行什么应用?(比如,数据库的版本)
使用什么服务器?
使用什么存储设备?
如果考虑纯软件方式,则还有了解清楚:数据量的大小、数据写入的频率、应用的关键性与重要性(相关内容:)
3. 在此基础上,考虑以下因素,选择相应的软件产品:
产品是否能支持所要求的应用方式?
产品是否能支持所使用的应用环境?
产品的其他特性:
是买贵的、买性价比高的、还是买最便宜的?
是否存在合法的供货渠道?(直接关系到产品是否能得到长期可靠的服务!!!)
是否需要安装服务? 需要什么样的售后服务? 服务要求是否有保障?
如果可能会运行特别的应用系统(比如使用面较少的操作系统、数据库、自己开发的应用软件等),是否能得到原厂商在开发与调试一级的支持。(非常重要!!!)
常见产品: |
:支持多点集群及双机;远程监控;支持Unix |
:支持多点集群及双机 |
:双机热备、互备 |
(八)选择合适的双机和集群软件
首先要明确,本文所说的双机和集群软件,都是指需要对数据进行写操作的情况,比如数据库。如果仅仅是应用服务器,则应该选择。
对于双机和集群软件,选择的基本方法是,先处理可选项少的情况,再处理可选项多的情况,这样便于快速对号入座。
SCO UNIX: 只有LanderCluster支持。
SUN Solaris:只有PCL支持
Linux:
-无共享存储设备,低端数据库(如My SQL),数据量小(<500G),可以考虑.
-Oracle等数据库,较重要应用,或数据量较大,一定要使用共享存储设备(磁盘阵列柜或SAN)。
-在有共享存储设备的情况下,如果是双机,可以有多种选择,如, , ,。如果是多机,则建议考虑建议选择比较可靠的产品如。
Windows:
-无共享存储设备,一般的情况下可以考虑和
-基于SQL Server的数据库应用,负载大或要求实时切换,关键应用,可以考虑另外一种的方式。
-IBM EXP系列磁盘阵列:目前能可靠支持的是LanderCluster
-其他磁盘阵列柜:
多台服务器 可供选择的包括:LanderCluster, LifeKeeper
重要提示:双机热备、集群等,是一种高可用性方案,其目的是增加系统的可靠性,切勿贪图便宜,给后续应用和维护带来诸多麻烦。
chinaunix网友2008-07-18 09:38:48
LanderCluster产品概述 LanderCluster For Windows2000 是一个高可用集群软件包,目前支持的操作系统为Windows2000、Windows2003、Linux、SCO OpenServer/UnixWare7 等环境。 在该系统中,每台主机运行各自的应用系统,用户数据存放在共享存储子系统上。LanderCluster 的守护进程通过 EtherNet 监测整个集群的运行状态。由 PC 服务器、共享磁盘阵列子系统和LanderCluster集群软件包组成一个有效的高可用集群系统。 LanderCluster系列产品分为LanderCluster-DN和LanderCluster-MN: LanderCluster-DN双机高可用产品:是LanderCluster集群产品系列中的主流产品。支持Windows/Linux/SCO Unix等操作系统平台,具有稳定可靠、易于管理、开放性强、性价比高的特点,同时支持多语种、支持远程管理等功能,是您构建高可用环境的必要选择。 LanderCluster-MN多节点集群产品:是Land
chinaunix网友2008-07-18 09:26:09
常见产品: PCL HA集群软件:Linux和Solaris平台下集群的可靠选择,支持多点集群及双机;远程监控 LanderCluster集群软件:支持多点集群及双机;远程监控;支持SCO Unix LifeKeeper集群软件:支持多点集群及双机 RoseHA双机软件:双机热备、互备 其他相关领域产品 PCL SIS负衡均衡软件:以软件方式实现服务器的负衡均衡集群 ICX数据库路由软件:提供SQL Server数据库服务器的并行处理、负载均衡和热备份、实时切换 双机热备、集群及高可用性相关资料 系统高可用性、双机热备常见问题 双机热备、双机互备与双机双工的区别 双机软件与集群软件的异同 Web服务器和应用服务器的负载均衡 心跳故障检测过程说明 双机热备与数据备份的关系