双机热备集群及高可用性入门.docx
《双机热备集群及高可用性入门.docx》由会员分享,可在线阅读,更多相关《双机热备集群及高可用性入门.docx(19页珍藏版)》请在冰豆网上搜索。
![双机热备集群及高可用性入门.docx](https://file1.bdocx.com/fileroot1/2023-4/19/3b2b7388-0b23-4c3f-8613-4bfdb4c5b3fd/3b2b7388-0b23-4c3f-8613-4bfdb4c5b3fd1.gif)
双机热备集群及高可用性入门
双机热备、集群及高可用性入门
什么是双机热备?
双机热备这一概念包括了广义与狭义两种意义。
从广义上讲,就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服务。
当一台服务器出现故障时,可以由另一台服务器承担服务任务,从而在不需要人工干预的情况下,自动保证系统能持续提供服务。
(相关文章:
为什么需要双机热备?
)
双机热备由备用的服务器解决了在主服务器故障时服务不中断的问题。
但在实际应用中,可能会出现多台服务器的情况,即服务器集群。
(相关文章:
双机软件与集群软件的异同)
双机热备一般情况下需要有共享的存储设备。
但某些情况下也可以使用两台独立的服务器。
(相关文章:
双机热备的实现模式)
实现双机热备,需要通过专业的集群软件或双机软件。
(相关文章:
双机与集群软件的选择)
从狭义上讲,双机热备特指基于active/standby方式的服务器热备。
服务器数据包括数据库数据同时往两台或多台服务器写,或者使用一个共享的存储设备。
在同一时间内只有一台服务器运行。
当其中运行着的一台服务器出现故障无法启动时,另一台备份服务器会通过软件诊测(一般是通过心跳诊断)将standby机器激活,保证应用在短时间内完全恢复正常使用。
(相关文章:
双机热备、双机互备与双机双工的区别 )
为什么要做双机热备?
双机热备针对的是服务器的故障。
服务器的故障可能由各种原因引起,如设备故障、操作系统故障、软件系统故障等等。
一般地讲,在技术人员在现场的情况下,恢复服务器正常可能需要10分钟、几小时甚至几天。
从实际经验上看,除非是简单地重启服务器(可能隐患仍然存在),否则往往需要几个小时以上。
而如果技术人员不在现场,则恢复服务的时间就更长了。
而对于一些重要系统而言,用户是很难忍受这样长时间的服务中断的。
因此,就需要通过双机热备,来避免长时间的服务中断,保证系统长期、可靠的服务。
决定是否使用双机热备,正确的方法是要分析一下系统的重要性以及对服务中断的容忍程度,以此决定是否使用双机热备。
即,你的用户能容忍多长时间恢复服务,如果服务不能恢复会造成多大的影响。
在考虑双机热备时,需要注意,一般意义上的双机热备都会有一个切换过程,这个切换过程可能是一分钟左右。
在切换过程中,服务是有可能短时间中断的。
但是,当切换完成后,服务将正常恢复。
因此,双机热备不是无缝、不中断的,但它能够保证在出现系统故障时,能够很快恢复正常的服务,业务不致受到影响。
而如果没有双机热备,则一旦出现服务器故障,可能会出现几个小时的服务中断,对业务的影响就可能会很严重。
另有一点需要强调,即服务器的故障与交换机、存储设备的故障不同,其概念要高得多。
原因在于服务器是比交换机、存储设备复杂得多的设备,同时也是既包括硬件、也包括操作系统、应用软件系统的复杂系统。
不仅设备故障可能引起服务中断,而且软件方面的问题也可能导致服务器不能正常工作。
还应指出的是,一些其他的防护措施如磁盘阵列(RAID)、数据备份虽然是非常重要的,但却不能代替双机热备的作用。
可参见相关文章:
双机热备与数据备份/Raid的关系
双机热备的实现模式 - 基于共享存储与纯软件方式
双机热备有两种实现模式,一种是基于共享的存储设备的方式,另一种是没有共享的存储设备的方式,一般称为纯软件方式。
基于存储共享的双机热备是双机热备的最标准方案。
对于这种方式,采用两台(或多台,参见:
双机与集群的异同)服务器,使用共享的存储设备(磁盘阵列柜或存储区域网SAN)。
两台服务器可以采用互备、主从、并行等不同的方式。
在工作过程中,两台服务器将以一个虚拟的IP地址对外提供服务,依工作方式的不同,将服务请求发送给其中一台服务器承担。
同时,服务器通过心跳线(目前往往采用建立私有网络的方式)侦测另一台服务器的工作状况。
当一台服务器出现故障时,另一台服务器根据心跳侦测的情况做出判断,并进行切换,接管服务。
对于用户而言,这一过程是全自动的,在很短时间内完成,从而对业务不会造成影响。
由于使用共享的存储设备,因此两台服务器使用的实际上是一样的数据,由双机或集群软件对其进行管理。
(典型的双机热备产品,参见:
LanderCluster集群软件)
对于纯软件的方式,则是通过支持镜像的双机软件,将数据可以实时复制到另一台服务器上,这样同样的数据就在两台服务器上各存在一份,如果一台服务器出现故障,可以及时切换到另一台服务器。
对于这种方式的深入分析,请参见:
纯软件方式的双机热备方案深入分析
纯软件方式还有另外一种情况,即服务器只是提供应用服务,而并不保存数据(比如只进行某些计算,做为应用服务器使用)。
这种情况下同样也不需要使用共享的存储设备,而可以直接使用双机或集群软件即可。
但这种情况其实与镜像无关,只不过是标准的双机热备的一种小的变化。
纯软件方式的双机热备方案深入分析
本文将对双机热备的纯软件方式进行深入分析。
数据库双机热备有两种典型的方式,一种是比较标准的,两台服务器通过一个共享的存储设备(一般是共享的磁盘阵列或存储区域网SAN),并且安装双机软件,实现双机热备,称为共享方式。
另一种方式是通过纯软件的方式,一般称为纯软件方式或镜像方式(Mirror)。
对于共享方式,数据库放在共享的存储设备上。
当一台服务器提供服务时,直接在存储设备上进行读写。
而当系统切换后,另一台服务器也同样读取该存储设备上的数据。
对于纯软件的方式,通过镜像软件,将数据可以实时复制到另一台服务器上,这样同样的数据就在两台服务器上各存在一份,如果一台服务器出现故障,可以及时切换到另一台服务器。
纯软件方式有三大优点:
1.避免了磁盘阵列的单点故障:
对于双机热备,本身即是防范由于单个设备的故障导致服务中断,但磁盘阵列恰恰又形成了一个新的单点。
(比如,服务器的可靠系数是99.9%, 磁盘阵列的可靠系数是99.95%,则纯软双机的可靠系数是1-99.9%x99.9%=99.99%,而基于磁盘阵列的双机热备系统的可靠系数则会是略低于99.95%
2.节约投资:
不需购买昂贵的磁盘阵列。
3.不受距离的限制:
两台服务器不需受SCSI电缆的长度限制(光纤通道的磁盘阵列也不受距离限制,但投资会大得多)。
这样,可以更灵活地部署服务器,包括通过物理位置的距离来提高安全性。
纯软件方式以前应用得较少,一方面是由于当时市场上比较流行的双机软件不支持纯软件方式,另一方面是由于少数支持纯软件方式的产品其可靠性不太令人放心。
但随着NEC这样的大牌厂商的产品进入市场,应该说纯软件方式将逐渐成为一种方向。
从方案选择的角度,建议在进行双机热备时,如果投资充裕、数据量大(1T以上),可以采用共享的存储设备(如磁盘阵列)的方式,但应尽量选择高可靠性(如著名品牌的)设备,并且考虑选择双控制器的方案。
否则,则更好的选择是纯软件方式。
当然,这时就一定要选择成熟的、大厂商的经过考验的产品。
双机、集群的配置模式:
主从、互备、多点集群
使用什么存储设备?
如果考虑纯软件方式,则还有了解清楚:
数据量的大小、数据写入的频率、应用的关键性与重要性(相关内容:
纯软件方式的双机热备方案深入分析)
3. 在此基础上,考虑以下因素,选择相应的软件产品:
产品是否能支持所要求的应用方式?
产品是否能支持所使用的应用环境?
产品的其他特性:
∙是否支持远程监控?
(可以使你不用非要经常跑到机房,才知道是否一台服务器宕机了)
∙界面语言。
(对双机软件,中文界面并不是非常重要,但也是一个因素。
同时,是否有中文手册等则可能非常重要)
∙安装的难易程度
是买贵的、买性价比高的、还是买最便宜的?
是否存在合法的供货渠道?
(直接关系到产品是否能得到长期可靠的服务!
!
!
)
是否需要安装服务?
需要什么样的售后服务?
服务要求是否有保障?
如果可能会运行特别的应用系统(比如使用面较少的操作系统、数据库、自己开发的应用软件等),是否能得到原厂商在开发与调试一级的支持。
(非常重要!
!
!
)
常见产品:
LanderCluster集群软件:
支持多点集群及双机;远程监控;支持Unix
LifeKeeper集群软件:
支持多点集群及双机
RoseHA双机软件:
双机热备、互备
选择合适的双机和集群软件
本文将避免深入的技术研究,以快速的方法,帮助你选择最合适的高可用性软件。
首先要明确,本文所说的双机和集群软件,都是指需要对数据进行写操作的情况,比如数据库。
如果仅仅是应用服务器,则应该选择负载均衡软件。
对于双机和集群软件,选择的基本方法是,先处理可选项少的情况,再处理可选项多的情况,这样便于快速对号入座。
SCOUNIX:
只有LanderCluster支持。
更多了解LanderCluster
SUNSolaris:
只有PCL支持 更多了解PCLHA软件
Linux:
-无共享存储设备,低端数据库(如MySQL),数据量小(<500G),可以考虑LifeKeeper.
-Oracle等数据库,较重要应用,或数据量较大,一定要使用共享存储设备(磁盘阵列柜或SAN)。
-在有共享存储设备的情况下,如果是双机,可以有多种选择,如PCLHA, ROSEHA, LifeKeeper,LanderCluster。
如果是多机,则建议考虑建议选择比较可靠的产品如PCLHA软件。
Windows:
-无共享存储设备,一般的情况下可以考虑LanderCluster和LifeKeeper
-基于SQLServer的数据库应用,负载大或要求实时切换,关键应用,可以考虑另外一种数据库负载均衡的方式。
-IBMEXP系列磁盘阵列:
目前能可靠支持的是LanderCluster 更多了解LanderCluster
-其他磁盘阵列柜:
∙多台服务器 可供选择的包括:
LanderCluster,LifeKeeper
∙两台服务器:
几乎所有产品均可支持,其中,ROSEHA价格合理,但要防止买到非正规渠道产品;LifeKeeper价格较贵(原因是其价格与纯软方式、多点版本没有差别),没有本地支持;LanderCluster支持远程监控,具有良好的本地支持,价格合理
重要提示:
双机热备、集群等,是一种高可用性方案,其目的是增加系统的可靠性,切勿贪图便宜,给后续应用和维护带来诸多麻烦。
常见产品:
PCLHA平台下集群的可靠选择,支持多点集群及双机;远程监控
PrimeCluster_HA应用与服务随时可用
PRIMECLUSTER拥有近20年的历史,它随着富士通西门子计算机公司在全球的业务开展,遍布各个行业和领域,在欧洲、中东、非洲和亚洲有着大量的成功案例。
支持多平台――PRIMECLUSTER支持Linux/Intel和Solaris/Sparc平台。
它在用户层面保持界面、操作方法、管理命令的统一,和OS,硬件平台无关。
高效、冗余的集群心跳协议――PRIMECLUSTER可拥有多达8条心跳线路;采用自有的ICF(InternodeCommunicationFacility)协议取代低效的IP协议
保护数据完整性――独有的ShutdownFacility机制,确保在集群脑裂(Brain-Split)的情况下用户数据的完整性,最完美的解决方案。
严谨的Online、Offline检查机制,确保应用只可能在一个节点上启动。
灵活的配置方案――HA模式最大支持8个节点,支持1:
1、N+1、N:
M配置模式,多节点多应用可在集群内灵活配置。
单一管理图形界面――PRIMECLUSTER采用基于浏览器的Java管理界面,可在单一节点上远程管理集群内所有节点。
向导化的配置工具――PCS配置工具能够自动生成资源树,简化配置步骤,自动检查配置的一致性和生成配置文件信息。
能够自动识别某些资源,如卷管理器、SAN网络和NAS。
对于Oracle、DB2、WebServer、SAP等应用拥有TurnKey解决方案
滚动升级――PRIMECLUSTER支持版本异构(甚至OS异构),从而支持滚动升级,最小限度减少停机时间。
动态配置――HA和负载均衡模式均支持动态配置,可以在不停止应用的情况下对配置进行修改并生效。
LanderCluster产品概述
LanderClusterForWindows2000 是一个高可用集群软件包,目前支持的操作系统为Windows2000、Windows2003、Linux、SCOOpenServer/UnixWare7 等环境。
在该系统中,每台主机运行各自的应用系统,用户数据存放在共享存储子系统上。
LanderCluster 的守护进程通过 EtherNet 监测整个集群的运行状态。
由 PC 服务器、共享磁盘阵列子系统和LanderCluster集群软件包组成一个有效的高可用集群系统。
LanderCluster系列产品分为LanderCluster-DN和LanderCluster-MN:
∙LanderCluster-DN双机高可用产品:
是LanderCluster集群产品系列中的主流产品。
支持Windows/Linux/SCOUnix等操作系统平台,具有稳定可靠、易于管理、开放性强、性价比高的特点,同时支持多语种、支持远程管理等功能,是您构建高可用环境的必要选择。
∙LanderCluster-MN多节点集群产品:
是LanderCluster集群产品系列中的旗舰产品。
支持两个以上节点的集群环境,支持WindowsServer/Linux/SCOUnix等操作系统平台,具有稳定可靠、易于管理、备援方式灵活多样、节点和任务的伸缩性强、保护用户投资、整合和优化用户系统环境、支持包括ISCSI存储环境等特点。
该产品能够支持八个以上节点的集群环境。
LifeKeeper软件介绍
美国SteelEye公司的LifeKeeper 是一种支持多种软(WindowNT, Windows2000, 多种Linux等)、硬件平台的高性能容错软件,最多可支持16台服务器集群。
Lifekeeper软件源于美国NCR公司及著名的AT&T贝尔实验室。
为企业、银行、政府等的信息服务,商务服务,政务服务等提供高可用性解决方案。
LifeKeeper属于高可用容错集群软件,运行于NT、Windows2000、Linux和NCRUnix平台。
同时支持纯软件镜像方式和共享磁盘阵列柜方式,并支持远程灾难实时复制备份恢复系统。
使用户的服务器、操作系统、数据库系统以及关键的数据及应用程序保持7天×24小时连续不间断,提供99.99%的高可用性。
软件包括核心部分和一些针对不同应用的ARK。
LifeKeeper的关键特点
1.不用增加任何额外硬件投资,纯软件方式实现双机容错,且对备机无硬件配置要求。
2.可支持Notes、Exchange、SQL Server、Sybase、Informix、Oracle 、SAP等多种系统的应用层热恢复。
3.是全球第一套基于NT操作系统的容错软件并同时支持LINUX平台。
支持远程灾难备份。
4.支持共享磁盘阵列柜和扩展镜像两种方式,给用户提供了选择上的灵活性,同时也能适应各种机型、网络结构、软件平台及应用系统。
5.LifeKeeper在扩展镜像或共享磁盘阵列任意方式下,均能实现两台服务器各自运行不同应用且相互热备份,即实现双Active运转模式。
6.使用共享磁盘阵列柜方式时,最多可以支持16个节点,远远大于其它类似系统所支持的2个节点数。
7.最大限度地保护用户端的应用连续性。
用户的硬件资源(如网卡),软件资源(如NT操作系统、数据库管理系统、数据库应用系统、电子邮件系统等)均能处于LifeKeeper的保护之下,当这些被保护资源出现技术故障时,LifeKeeper可随时实施系统资源切换。
如此,LifeKeeper真正实现了用户硬件或是软件资源发生故障时系统及应用层上的在线热切换。
8.LifeKeeper占用系统资源极少,不增加网络负荷,且不打扰任何具体应用系统的任何操作。
9.LifeKeeper真正实现无人值守,全自动地实现应用资源切换,且图形界面操作,简单方便。
10.自投入使用以来,已经历了大量交易高峰的实际考验,其执行效率很高且运行十分稳定可靠,全球市场占有率第一。
RoseHA双机热备软件概述
在双机热备的架构中,除了要考虑切换时间外,要根据每个系统的作业环境,包括网路系统是单网或是双网,数据库的安装和作业内容及用户端的设备是经由广域网路、区域网路接入不同用户有不同的需求,而要求有不同的切换模式,所以选择不同的切换模式,可以使用户端的改变达到最少的程度。
ROSEHA根据不同的行业及各行业不同的需求设计多种备援模式以弹性的调适用户的最佳组合及选择。
∙ROSEHA系统运作方式
在正常的运作情形之下,主机之间透过冗余侦测线路互相侦测,当任一主机有错误产生时,ROSEHA提供严谨的判断与分析,确认主机出错之后,才完全启动备援接管动作。
支持各种操作系统平台,包括WindowsNT/2000/2003、SCOOpenserver/Unixware、Linux、Solaris等。
RoseHA支持各种数据库:
MS-SQL、Oracle 、Informix、Sybase、Lotus/Nose、DB2等
接管动作包括
∙文件系统(FileSystem)
∙数据库(Database)
∙网络地址(IPAddress)
∙应用程序(AP)
∙系统环境(OS)
并行服务器产品及优势
并行服务器提供持续数据库可用性
企业对数据库的可用性要求最高。
在数据库恢复过程中不能访问数据是不能接受的。
Oracle并行服务器及真正应用集群可为定制集群实施提供额外选项。
与常规数据库应用相比,这些来自Oracle的选项能大幅度提高数据可用性及传输能力。
它们基于集群概念,提供更高的可用性,并支持更多以在线事务处理(OLTP )模式工作的用户。
不间断运行
根据这种方法,每个数据库系统在一个集群节点运行,平行访问共享数据。
由于数据库始终对各节点可用,某节点出现中断不会影响其他节点的工作。
在该故障节点上的应用或事务处理会在其他节点重新开始,而新的节点会对受系统故障影响的数据库事务处理进行重置。
该恢复操作在线进行,因此,工作能继续进行,不会中断。
按需增长
并行数据库在高可用性及扩展性方面具有极大的优势。
此外,管理一个大型数据库的成本要比管理网络内松散连接的多个服务器低。
管理员可将整个数据库看作一个逻辑单元,就像在一个大型服务器上管理这个数据库。
当对可用性、性能以及扩展性的需求超过一个简单的故障转移集群所能提供的范围时,可实施并行数据库。
将额外的系统节点添加到集群上不仅可提供额外的处理器,还可添加整个系统,包括内存、系统主线以及I/O 子系统。
这样,在快速响应时间内可支持更多的并行应用及用户。
最佳扩展性
PRIMECLUSTERHA系统不仅提供其应有的功能,还为数据库系统提供通讯界面。
该应用实施基于设计用于较短的等待时间的协议,支持集群与不同带宽(如快速以太网及千兆以太网)互联。
除保证数据库的持续可用性外,该并行方案还保证实现最佳升级,提高数据库的处理能力,从而实现最短的响应时间。
∙代理服务器与专用地址
SIS数据库路由软件:
提供SQLServer常见问题与方案选择
对于企业重要的应用系统而言,保证系统能持续、可靠地提供服务是非常重要的,因此就出现了对高可用性的需求和高可用性的解决方案。
对于如何选择高可用性的解决方案,特别是关于双机热备的方案选择,常见的有以下问题:
Q:
已经采取了RAID技术和数据备份技术,还有必要做双机吗?
A:
参见:
双机热备与数据备份及RAID的关系
Q:
高可用性的解决方案有哪些?
A:
从广义讲,高可用性包括一切避免系统服务中断的技术。
而一般所说的系统高可用性,往往特指服务器的双机或多机热备/容错。
Q:
什么时候需要双机热备?
A:
决定是否使用双机热备,正确的方法是要分析一下系统的重要性以及对服务中断的容忍程度,以此决定是否使用双机热备。
即,你的用户能容忍多长时间恢复服务,如果服务不能恢复会造成多大的影响。
Q:
双机热备、双机互备与双机双工三个概念都是什么意思?
有什么区别?
A:
参见:
双机热备、双机互备与双机双工的区别
Q:
双机热备方案与集群的区别?
A:
从概念上,双机热备是集群(Cluster)的一种。
集群一般包括两类,一类是纯粹应用服务器的集群,各个应用服务器都访问统一的数据库服务器,但彼些并不需要共享存储,这种集群是比较简单的,往往采取各个服务器同时提供服务的方式,并且往往同时采用负载均衡技术。
有关应用服务的集群,请参见:
谈Web服务器和应用服务器的负载均衡
另一类是数据库服务器(或其他需要访问存储数据的系统如Exchange、Notes)的集群。
集群可能包括多台服务器。
集群软件除了支持双机工作外,还可以支持多台服务器(MultiNode)工作,同时部署多个应用,并在多个服务器间灵活地设置接管策略。
请参见:
双机、集群的配置模式-主从、互备、多点集群 双机软件与集群软件的异同
Q:
数据库服务的高可用性有几种方式?
A:
最简单的,是采用备机的方式。
这其实不属于高可用性的范围,但可以将出现故障后恢复服务的时间控制在几十分钟的量级,而且备机平时还可用作其他用途。
这种方式是一种低成本的简单方案,对于不是非常重要的应用比较适合。
它不适用于重要应用,但是除非你的应用停上几天都无所谓,否则至少要有这一级别的保护措施。
第二种是通过软件方式实现双机热备。
即不采用共享的存储设备,而是数据不再单点存储,本机数据可以向多台主机做实时的数据复制。
这种方式的优点是节省了昂贵的存储设备投资。
缺点是或者会产生数据的差异,或者会影响数据库的速度。
比如,如果在服务中断时切换到备机,则可能有少量已经在主机完成的事务在备机上尚未实现。
而与备份数据的恢复不同,备机启动后,后续的操作已经进行,因此丢失的事务就很难补上。
因此,这种方式适用于对于丢失少量数据不是非常敏感的系统。
有关这种方式的深入探讨,可参见:
镜像与HA-数据库双机热备的两种方式
第三种是基于共享存储设备和双机软件实现双机热备。
这是标准的方法,能够在无人值守的情况下提供秒级的切换,并且不会丢失数据。
当然,投资会比较高。
Q:
数据库双机热备时,双机是同时工作吗?
A:
在一般的中小规模应用中,数据库的双机热备都是主/备方式,主服务器工作时另一台等待,在主服务器出现故障时借助双机软件自动切换至另一台服务器。
而有些大规模应用为充分利用设备,可以采用并行服务的方式,两台服务器同时提供服务,如Oracle的RAC(OracleRealApplicationCluster),以及支持SQLServer并行服务的数据库路由器软件ICX
Q:
如何选择与实施系统高可用性方案?
A:
参见:
如何选择与实施系统高可用性方案?
双机热备、双机互备与双机双工的区别
双机热备即是目前通常所说的active/standby方式,服务器数据包括数据库数据同时往两台或多台服务器写,或者使用一个共享的存储设备。
当active服务器出现故障的时候,通过软件诊测(一般是通过心跳诊断)将standby机器激活,保证应用在短时间内完全恢复正常使用。
双机互备,在双机热备的基础上,两个相对独立的应用在两台机器同时运行,但彼此均