双机热备

一曲冷凌霜 提交于 2019-12-20 23:50:22

    这段时间我们公司因要上新的系统,财务的,很重要,于是在讨论双机热备的问题。不过看样子可能要变成双机互备了。看了一些介绍,顺便给大家介绍介绍。
一、双机热备的概念.

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

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

   双机热备由备用的服务器解决了在主服务器故障时服务不中断的问题。但在实际应用中,可能会出现多台服务器的情况,即服务器集群。

   双机热备一般情况下需要有共享的存储设备。但某些情况下也可以使用两台独立的服务器。

   实现双机热备,需要通过专业的集群软件或双机软件。

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

二、双机热备的实现模式

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

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

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

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

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

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

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

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

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

另外,还有一个重点问题,是关于数据库服务器双机的,一起写出来:

    1、数据库服务的高可用性有以下几种方式:

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

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

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

      如果有钱,而且数据够重要,建议采用最后一种方法。如果没钱,数据比较重要,建议采用A;我个人觉得B的方案有个很大的问题就在于服务器出现问题后,在切换过程中可能会出现数据差异,这个对财务系统比较致命。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!