成都市爱科科技实业有限公司AccosoftTechnology&IndustryLTD.爱科科技Accosoft双机热备方案成都市爱科科技实业有限公司AccosoftTechnology&IndustryLTD.爱科科技Accosoft一.需求分析目前大多服务器应用都是运行在单独一台服务器上面,同时所有数据也存放于此服务器上。由于近年来企业发展迅速,业务数据量越来越大,对数据库等应用系统的安全性要求也越来越高,基于这两点,提出了对数据库应用系统做成双机热备系统。双机热备针对的是服务器的临时故障所做的一种备份技术,通过双机热备,来避免长时间的服务中断,保证系统长期、可靠的服务。二.技术介绍1.集群技术双机热备是集群技术的一种方式。集群(Cluster)技术是指一组相互独立的计算机,利用高速通信网络组成一个计算机系统,每个群集节点(即集群中的每台计算机)都是运行其自己进程的一个独立服务器。这些进程可以彼此通信,对网络客户机来说就像是形成了一个单一系统,协同起来向用户提供应用程序、系统资源和数据,并以单一系统的模式加以管理。一个客户端(Client)与集群相互作用时,集群像是一个独立的服务器。计算机集群技术的出发点是为了提供更高的可用性、可管理性、可伸缩性的计算机系统。一个集群包含多台拥有共享数据存储空间的服务器,各服务器通过内部局域网相互通信。当一个节点发生故障时,它所运行的应用程序将由其他节点自动接管。其中,只有两个节点的高可用集群又称为双机热备,即使用两台服务器互相备份。当一台服务器出现故障时,可由另一台服务器承担服务任务,从而在不需要人工干预的情况下,自动保证系统能持续对外提供服务。可见,双机热备是集群技术中最简单的一种。德林T3系统数据库服务器也将选用这种集群方式。成都市爱科科技实业有限公司AccosoftTechnology&IndustryLTD.爱科科技Accosoft2.系统的工作原理双工方式(Active/Active)数据存储于才磁盘阵列上。在Active/Active的工作模式下,2台服务器都作为活动主机。当Server1发生故障时(包括各种软硬件故障),Server2通过心跳路径侦测到Server1的故障并自动接管所有Server1上的资源(如IP地址、数据库服务或其他应用程序、用户数据、计算机名等等)和共享磁盘上的数据,并继续运行数据库服务和相关应用程序。对于客户端来说这种接管过程是不可见的,用户感觉不到这种故障切换,可以继续使用备份服务器提供的服务。待Server1修复后,可通过双机软件选择手工或自动方式将所有已切换到Server2的资源切换回到Server1,并且恢复对共享磁盘上数据的访问。同理,当Server2发生故障时,Server1也会按照上述工作原理进行自动接管。(两台主机同时运行各自的服务工作,且相互监测对方的情况。当一台主机宕机时,另外一台主机立即接管它的工作,保证工作不间断。譬如:A机运行SQL数据库应用,B机运行IIS网站应用。)主从方式(Active/Standby)主机工作,从机处于监控准备状态。当主机宕机时,从机接管从机的工作,待主机恢复正常后,按使用者的预定以自动或手动的方式将服务切换到主机上运行。3.双机热备适用对象一般应用服务器是要长年累月工作的,且为了工作上需要,其应用服务器备份工作就绝对少不了。为了避免服务器故障产生数据丢失等现象,都会采用RAID技术和数据备份技术。但是数据备份只能解决系统出现问题后的恢复;而RAID技术,又只能解决硬盘的问题。我们知道,无论是硬件还是软件问题,都会造成应用服务的中断,而RAID及数据备份技术恰恰就不能解决避免服务中断的问题。要恢复服务器,再轻微的问题或者强悍的技术支持,服务器都要中断一段时间,对于一些德林公司需要随时实时在线远程访问的用户而言,服务器应用停止就等于丢失金钱,损失可大可小,所以是很难忍受服务中断的。因此,就需要通成都市爱科科技实业有限公司AccosoftTechnology&IndustryLTD.爱科科技Accosoft过双机热备,来避免长时间的服务中断,保证系统长期、可靠的服务。4.实现方案双机热备有两种实现模式,一种是基于共享的存储设备的方式,另一种是没有共享的存储设备的方式,一般称为纯软件方式。1)基于共享的存储设备的方式基于存储共享的双机热备是双机热备的最标准方案。对于这种方式,采用两台服务器(数据库同时运行在两台服务器上),使用共享的存储设备磁盘阵列(数据库系统的数据都存放在该磁盘阵列中)。两台服务器可以采用互备、主从、并行等不同的方式。在工作过程中,两台服务器将以一个虚拟的IP地址对外提供服务,依工作方式的不同,将服务请求发送给其中一台服务器承担。同时,服务器通过心跳线(目前往往采用建立私有网络的方式)侦测另一台服务器的工作状况。当一台服务器出现故障时,另一台服务器根据心跳侦测的情况做出判断,并进行切换,接管服务。对于用户而言,这一过程是全自动的,在很短时间内完成,从而对业务不会造成影响。由于使用共享的存储设备,因此两台服务器使用的实际上是一样的数据,由双机或集群软件对其进行管理。优点:对于共享方式,数据库放在共享的存储设备上。当一台服务器提供服务时,直接在存储设备上进行读写。而当系统切换后,另一台服务器也同样读取该存储设备上的数据。它可以在无人值守的情况下提供快速的切换,保证不会有数据丢失现象。成都市爱科科技实业有限公司AccosoftTechnology&IndustryLTD.爱科科技Accosoft缺点:增加了昂贵的存储设备投资,对于有实力的企业,可优先考虑该方式。2)纯软件方式纯软件的方式,通过双机镜像软件,将数据可以实时复制到另一台服务器上,这样同样的数据就在两台服务器上各存在一份,如果一台服务器出现故障,可以及时切换到另一台服务器。优点:a.避免了磁盘阵列的单点故障:对于双机热备,本身即是防范由于单个设备的故障导致服务中断,但磁盘阵列恰恰又形成了一个新的单点。(比如,服务器的可靠系数是99.9%,磁盘阵列的可靠系数是99.95%,则纯软双机的可靠系数是1-99.9%x99.9%=99.99%,而基于磁盘阵列的双机热备系统的可靠系数则会是略低于99.95%b.节约投资:不需购买昂贵的磁盘阵列。c.不受距离的限制:两台服务器不需受SCSI电缆的长度限制(光纤通道的磁盘阵列也不受距离限制,但投资会大得多)。这样,可以更灵活地部署服务器,包括通过物理位置的距离来提高安全性。缺点:a.可靠性相对较差,两服务器间的数据实时复制是一个比较脆弱的环节。b.一旦某台服务器出现中断,恢复后还要进行比较复杂的数据同步恢复。并且,这个时段系统处于无保护状态。c.没有事务机制,由于其复制是在文件和磁盘层进行的,复制是否成功不会影响数据库事务操作,因此有出现数据不完整变化的情况,这个存在着相当成都市爱科科技实业有限公司AccosoftTechnology&IndustryLTD.爱科科技Accosoft的风险。这里我们选择第一种方案,也就是基于共享的存储设备的双机热备方式。5.双机集群软件搭建双机热备当然少不了集群软件。软件包括心跳监测部分和资源接管部分,心跳监测可以通过网线和串口进行,而且支持冗余链路,它们之间相互发送报文来告诉对方自己当前的状态,如果在指定的时间内未收到对方发送的报文,那么就认为对方失效,这时需启动资源接管模块来接管运行在对方主机上的资源或者服务。6.推荐配置项目型号配置数量服务器华为RH22882*E5-26306核/2.30G/15M/95W,2*300GSAS15K,32GDDR3,配置HBA卡,带远程管理网口2台磁盘阵列华为S2200T双控,12盘位,6*300GSAS15K1台双机软件ROSEHAROSEHA1套三.ROSEHA双机软件RoseHA双机系统的两台服务器(主机)都与磁盘阵列(共享存储)系统直接连接,用户的操作系统、应用软件和RoseHA高可用软件分别安装在两台主机上,数据库等共享数据存放在存储系统上,两台主机之间通过私用心跳网络连接。配置好的系统主机开始工作后,RoseHA软件开始监控系统,通过私用网络传递的心跳信息,每台主机上的RoseHA软件都可监控另一台主机的状态。当工作主机发生故障时,心跳信息就会产生变化,这种变化可以通过私用网络被RoseHA软件捕捉。当捕捉到这种变化后RoseHA就会控成都市爱科科技实业有限公司AccosoftTechnology&IndustryLTD.爱科科技Accosoft制系统进行主机切换,即备份机启动和工作主机一样的应用程序接管工作主机的工作(包括提供TCP/IP网络服务、存储系统的存取等服务)并进行报警,提示管理人员对故障主机进行维修。当维修完毕后,可以根据RoseHA的设定自动或手动再切换回来,也可以不切换,此时维修好的主机就作为备份机,双机系统继续工作。RoseHA实现容错功能的关键在于,对客户端来说主机是透明的,当系统发生错误而进行切换时,即主机的切换在客户端看来没有变化,所有基于主机的应用都仍然正常运行。RoseHA采用了虚拟IP地址映射技术来实现此功能。客户端通过虚拟地址和工作主机通讯,无论系统是否发生切换,虚拟地址始终指向工作主机。在进行网络服务时,RoseHA提供一个逻辑的虚拟地址,任何一个客户端需要请求服务时只需要使用这个虚拟地址。正常运行时,虚拟地址及网络服务由主服务器提供。当主服务器出现故障时,RoseHA会将虚拟地址转移到另外一台服务器的网卡上,继续提供网络服务。切换完成后,在客户端看来系统并没有出现故障,网络服务仍然可以使用。除IP地址外,HA还可以提供虚拟的计算机别名供客户端访问。对于数据库服务,当有主服务器出现故障时,另外一台服务器就会自动接管,同时启动数据库和应用程序,使用户数据库可以正常操作。RoseHA主要功能特点友好的界面RoseHA提供了友好直观的图形安装界面和监控管理界面。通过直观而又方便的JavaApplet管理界面,用户可以交互式地对集群系统进行配置、监控和管理,并可以利用Applet的网络特性,通过网络对系统进行远程管理,实时地显示出主机系统及服务的状态灵活的Active-Active模式和Active-Standby模式RoseHA支持Active-Active模式和Active-Standby模式。用户可指定每台服务器的作用(activeorstandby),指定要监控的服务和硬件部分,定义指定的服务发生故障后要采取的进一步行动(如是否重新启动该服务、允许的最大启动时间等)。支持多条心跳路径可以将网线和RS-232串口线作为在RoseHA软件的心跳路径。配置多条心跳路径可以避免系统的单点故障。支持虚拟MAC地址在网络环境中,每个IP与唯一的MAC绑定在一起。而传统的集群结构下,将致使集群的活动IP在不同时刻绑定不同的MAC地址,导致跨网段通信出问题。为了集群软件更好的支持这种网络安全级别较高的网络环境,RoseHA提供了支持虚拟MAC地址的功能,使集群环境IP地址实现与唯一MAC地址绑定。自动切换当系统出现故障时(如:系统宕机、HA进程/应用进程被杀掉、RS-232、SCSI、光纤、网络线缆断开),RoseHA将确定故障原因,并采取相应对策,并将这些应用切换到备份服务器上。而故障服务器中未受影响的应用不会被切换,既不会受任何影响。不需要系统管理员干预。自动检测在集群系统的每一台服务器内,RoseHA具有两个核心进程,它们互相监控,如果其中一个进程失败,另一个进程会立即进行恢复。成都市爱科科技实业有限公司AccosoftTechnology&IndustryLTD.爱科科技Accosoft服务器可靠性在主服务器出现故障(如掉电或宕机)时,另外一台服务器接管故障服务器上运行的所有的关键性应用。网络可靠性如果服务器的网络部分发生故障,会导致客户不能连接和访问到服务器,这同样是致命的故障。如果该服务器配备了冗余的网络接口,RoseHA会使用它来恢复网络连接。在没有