信息中心双机热备解决方案在信息化的今天,计算机系统稳定的运行,对信息业务不间断起着举足轻重的角色。特别是在特殊行业中,瞬间的宕机有可能会给各项业务带来非常严重的损失,造成不可预知的后果。一、信息中心现有设备状况分析信息中心现有的运行环境多为单机单点服务。即每台服务器只运行自己的服务,一旦服务器发生任何故障,服务将会立刻停止,从而导致业务的停滞甚至造成重要数据的丢失。有些服务器采用备机的方式,这其实不属于高可用性的范围,但可以将出现故障后恢复服务的时间控制在几十分钟的量级,而且备机平时还可用作其他用途。这种方式是一种低成本的简单方案,对于不是非常重要的应用比较适合。它不适用于重要应用。二、方案实现目标就目前信息中心应用要求,我们建议使用双机热备的方式来实现对服务及信息的实时保护。即当某一台服务器出现故障时,另一台服务器可以在短时间内将故障服务器的应用接管过来,从而保证了应用的持续性。三、双机热备概念的提出双机热备这一概念包括了广义与狭义两种意义。从广义上讲,就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服务。当一台服务器出现故障时,可以由另一台服务器承担服务任务,从而在不需要人工干预的情况下,自动保证系统能持续提供服务。双机热备由备用的服务器解决了在主服务器故障时服务不中断的问题。但在实际应用中,可能会出现多台服务器的情况,即服务器集群。双机热备一般情况下需要有共享的存储设备。但某些情况下也可以使用两台独立的服务器。实现双机热备,需要通过专业的集群软件或双机软件。从狭义上讲,双机热备特指基于active/standby方式的服务器热备。服务器数据包括数据库数据同时往两台或多台服务器写,或者使用一个共享的存储设备。在同一时间内只有一台服务器运行。当其中运行着的一台服务器出现故障无法启动时,另一台备份服务器会通过软件诊测(一般是通过心跳诊断)将standby机器激活,保证应用在短时间内完全恢复正常使用。四、双机软件与集群软件的异同在双机热备应用方面,有两大类软件产品。一类是双机软件(HA),另一类则称作集群软件(Cluster)。它们都是为实现系统的高可用性服务的,都解决了一台服务器出现故障时,由其他服务器接管应用,从而持续可靠地提供服务的问题。它们都是通过心跳技术在进行系统检测。但是,双机软件只能支持两台服务器以主从方式或互备方式工作。而集群软件除了支持双机工作外,还可以支持多台服务器(MultiNode)工作,同时部署多个应用,并在多个服务器间灵活地设置接管策略。在两种情况下需要使用集群软件:一是有超过两个应用,本身就需要部署三台或更多的服务器。二是只有两个应用,但每个应用的负载均较大,不宜采用双机互备的方式,而是需要由第三台服务器来作为这两个应用的备机。一般地讲,集群软件具有更多的技术含量,具备更高的可靠性。同时,往往价格(平均到每台服务器)也高于双机软件。在选择产品时,应根据应用的实际情况来确定。最理想的方式,则是在应用数量少、负载不是很大时先使用双机软件,然后在应用数量增多、负载增大时平滑过渡到集群软件。五、双机、集群的配置模式在应用双机热备时,有多种应用模式,典型的包括主从、互备、多点集群三大类:主从模式是最标准、最简单的双机热备,即是目前通常所说的active/standby方式。它使用两台服务器,一台作为主服务器(Active),运行应用系统来提供服务。另一台作为备机,安装完全一样的应用系统,但处于待机状态(Standby)。当active服务器出现故障的时候,通过软件诊测(一般是通过心跳诊断)将standby机器激活,保证应用在短时间内完全恢复正常使用。双机互备,在双机热备的基础上,两个相对独立的应用在两台机器同时运行,但彼此均设为备机,当某一台服务器出现故障时,另一台服务器可以在短时间内将故障服务器的应用接管过来,从而保证了应用的持续性。这种方式实际上是双机热备的一种应用。它避免了两个应用使用四台服务器分别实现双机热备。但双机互备存在着性能瓶颈,即如果进行切换后,在一台服务器上就有同时运行两个应用,有可能负载过大。并且,有些情况下会有不止两台服务器对外提供服务。在这种情况上,多点集群就显示出了其必要性。多点集群可以理解为双机热备在技术上的提升。多机服务器可以组成一个集群。根据应用的实际情况,可以灵活地在这些服务器上进行部署,同时可以灵活地设置接管策略。比如,可以由一台服务器作为其他所有服务器的备机,也可以设置多重的接管关系,等等。这样,就可以充分地利用服务器的资源,同时保证系统的高可用性。六、纯软件方式的双机热备方案分析数据库双机热备有两种典型的方式,一种是比较标准的,两台服务器通过一个共享的存储设备(一般是共享的磁盘阵列或存储区域网SAN),并且安装双机软件,实现双机热备,称为共享方式。另一种方式是通过纯软件的方式,一般称为纯软件方式或镜像方式(Mirror)。对于共享方式,数据库放在共享的存储设备上。当一台服务器提供服务时,直接在存储设备上进行读写。而当系统切换后,另一台服务器也同样读取该存储设备上的数据。对于纯软件的方式,通过镜像软件,将数据可以实时复制到另一台服务器上,这样同样的数据就在两台服务器上各存在一份,如果一台服务器出现故障,可以及时切换到另一台服务器。纯软件方式有三大优点:1、避免了磁盘阵列的单点故障:对于双机热备,本身即是防范由于单个设备的故障导致服务中断,但磁盘阵列恰恰又形成了一个新的单点。(比如,服务器的可靠系数是99.9%,磁盘阵列的可靠系数是99.95%,则纯软双机的可靠系数是99.9%x99.9%=99.99%,而基于磁盘阵列的双机热备系统的可靠系数则会是略低于99.95%。2、节约投资:不需购买昂贵的磁盘阵列。3、不受距离的限制:两台服务器不需受SCSI电缆的长度限制(光纤通道的磁盘阵列也不受距离限制,但投资会大得多)。这样,可以更灵活地部署服务器,包括通过物理位置的距离来提高安全性。从方案选择的角度,建议在进行双机热备时,如果投资充裕、数据量大(500GB以上),可以采用共享的存储设备(如磁盘阵列)的方式,但应尽量选择高可靠性(如著名品牌的)设备,并且考虑选择双控制器的方案。否则,则更好的选择是纯软件方式。当然,这时就一定要选择成熟的、大厂商的经过考验的产品。对于实现纯软件方式双机热备,我们推荐使用LegatoAutostart软件。七、LegatoAutoStart软件介绍LegatoAutoStart是新一代群集软件,它可以对应用程序进行监视、修复、重新启动和故障排除,从而为系统提供前所未有的保护,保证系统上的应用程序、数据和网络资源不会受到任何外在因素影响而中断服务。LegatoAutoStart所独有的恢复应用程序特性,能及时地切换故障应用程序到其他指定的服务器上。除了能保证故障应用的可用性外,还确保了原服务器的其它应用程序不受故障和切换影响而继续运行。另外,创新的Peer-to-Peer结构,能群集多达一百台服务器,共同组成一个强大而灵活的群集组。AutoStart面向应用的集群技术,保证了集群中的任何一个服务器在作为某一应用主服务器的同时,可以作为运行于其它服务器中应用的后备服务器。在这样的结构下,集群内运行的关键性应用在故障不断发生的情况下,仍可以通过服务器之间连续的切换,保证应用的连续性。AutoStart同时提供单故障应用程序切换及服务器切换。当服务器或应用程序出现故障时,AutoStart立即切换故障的服务组到其它服务器上,使原服务器及其它的应用程序得以继续运行而不受影响,提供回忆系统复原所需的时间。八、LegatoAutoStart高可用性群集系统关键特性1、单一系统映象(SingleSystemImages)。即将整个集群环境中的资源视为一个整体。AutoStart使用单一的配置数据库(复制多份以避免单点失效)、统一的管理规则和集中的应用脚本将整个系统中的资源形成一个资源集,或者说将整个分布式系统形成一个系统。由此带来了更高的资源可用性和更简便的管理和使用。2、面向应用的群集及自动切换AutoStart面向应用的集群技术,保证了集群中的任何一个服务器在作为某一应用主服务器的同时,可以作为运行于其它服务器中应用的后备服务器。在这样的结构下,集群内运行的关键性应用在故障不断发生的情况下,仍可以通过服务器之间连续的切换,保证应用的连续性。3、应用程序的恢复AutoStart同时提供单故障应用程序切换及服务器切换。当服务器或应用程序出现故障时,AutoStart立即切换故障的服务组到其它服务器上,使原服务器及其它的应用程序得以继续运行而不受影响,回忆系统复原所需的时间。4、中央管理、方便使用AutoStart的命令中心提供一个由JAVA编写的图形用户界面(GUI),让用户轻松地管理群集组内部服务器及所载的应用程序。这不但能以生动形式显示群集组内各服务器,服务组及应用程序的情况,也能监察在其它地区运行的AutoStart。Legato的SNMP模块更能兼容其它SNMP配置集成,保障了对网络管理的投资,改善系统的管理能力和降低管理成本九、基于存储共享的双机热备方案通过软件方式实现双机热备。即不采用共享的存储设备,而是数据不再单点存储,本机数据可以向多台主机做实时的数据复制。这种方式的优点是节省了昂贵的存储设备投资。缺点是或者会产生数据的差异,或者会影响数据库的速度。比如,如果在服务中断时切换到备机,则可能有少量已经在主机完成的事务在备机上尚未实现。而与备份数据的恢复不同,备机启动后,后续的操作已经进行,因此丢失的事务就很难补上。因此,这种方式适用于对于丢失少量数据不是非常敏感的系统。基于共享存储设备和双机软件实现双机热备。这是标准的方法,能够在无人值守的情况下提供秒级的切换,并且不会丢失数据。当然,投资会比较高。对于这种方式,采用两台(或多台)服务器,使用共享的存储设备(磁盘阵列柜或存储区域网SAN)。两台服务器可以采用互备、主从、并行等不同的方式。在工作过程中,两台服务器将以一个虚拟的IP地址对外提供服务,依工作方式的不同,将服务请求发送给其中一台服务器承担。同时,服务器通过心跳线(目前往往采用建立私有网络的方式)侦测另一台服务器的工作状况。当一台服务器出现故障时,另一台服务器根据心跳侦测的情况做出判断,并进行切换,接管服务。对于用户而言,这一过程是全自动的,在很短时间内完成,从而对业务不会造成影响。由于使用共享的存储设备,因此两台服务器使用的实际上是一样的数据,由双机或集群软件对其进行管理。十、两种双机热备方式工作原理对比1、共享磁盘阵列方式工作原理:使用共享磁盘阵列柜方式的两台(或多台)服务器的数据同时存放在一个磁盘阵列柜里,因此不需要进行数据复制,只需在服务器停机时将此服务器的工作转移至另外一台服务器。工作较为简单,但由于数据存储在同一磁盘阵列柜里,一旦磁盘阵列柜的数据损坏则数据全部丢失,磁盘阵列柜厂家对这种现象称为单点崩溃,而且由于服务器与磁盘阵列柜之间通常使用SCSI线连接因此受到距离的限制。同时需注意此种解决方案的软件(包括操作系统、数据库软件)必须是企业版软件。SharedDisk2、纯软件方式工作原理:使用纯软件方式的热备不需要磁盘阵列柜,它将数据存储于各自服务器内,通过镜像引擎将数据进行实时复制,当有故障发生时设定的服务器接管相应的工作。数据存储于不同服务器内避免了单点崩溃的可能性,增加了数据的安全性及系统的可用性。服务器之间通过直联线连接所以服务器之间的连接受距离的限制较小。数据存储在各自服务器硬盘内,平时服务器之间的应用各不影响,提高了服务器正常使用时的效率。纯软件方式由于使用了镜像引擎在服务器上的软件(包括操作系统、数据库)可以使用标准版而非企业版。十一、两种双机热备方式软硬件需求对比共享磁盘阵列方式容灾方案中,对硬件的要求比较高。而就软件方式来说可以节省很大成本。LegatoAutoStar共享磁盘阵列方式软件LegatoAutoStartROSEHA/VeritasVCS/WindowsCluster硬件设备