双机热备这一概念包括了广义与狭义两种意义。
从广义上讲,就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服务。当一台服务器出现故障时,可以由另一台服务器承担服务任务,从而在不需要人工干预的情况下,自动保证系统能持续提供服务。
双机热备由备用的服务器解决了在主服务器故障时服务不中断的问题。但在实际应用中,可能会出现多台服务器的情况,即服务器集群。
双机热备一般情况下需要有共享的存储设备。但某些情况下也可以使用两台独立的服务器。
实现双机热备,需要通过专业的集群软件或双机软件。
从狭义上讲,双机热备特指基于active/standby方式的服务器热备。服务器数据包括数据库数据同时往两台或多台服务器写,或者使用一个共享的存储设备。在同一时间内只有一台服务器运行。当其中运行着的一台服务器出现故障无法启动时,另一台备份服务器会通过软件诊测(一般是通过心跳诊断)将 standby机器激活,保证应用在短时间内完全恢复正常使用。(相关文章:双机热备、双机互备与双机双工的区别) 。
我们可以通过典型的双机热备软件PCL HA来看一下双机热备的典型模式:
-Active/Active模式
-Active/Standby模式
而实际上,双机热备可能会扩展为多机的集群:多机集群模式
双机热备一般都是用于有数据库或其他数据的应用。而对于数据之前的应用服务器(或其他没有写数据操作的服务),则应该归入负载均衡领域
双机热备有两种实现模式,一种是基于共享的存储设备的方式,另一种是没有共享的存储设备的方式,一般称为纯软件方式。
基于存储共享的双机热备是双机热备的最标准方案。
对于这种方式,采用两台服务器,使用共享的存储设备(磁盘阵列柜或存储区域网SAN)。两台服务器可以采用互备、主从、并行等不同的方式。在工作过程中,两台服务器将以一个虚拟的IP地址对外提供服务,依工作方式的不同,将服务请求发送给其中一台服务器承担。同时,服务器通过心跳线(目前往往采用建立私有网络的方式)侦测另一台服务器的工作状况。当一台服务器出现故障时,另一台服务器根据心跳侦测的情况做出判断,并进行切换,接管服务。对于用户而言,这一过程是全自动的,在很短时间内完成,从而对业务不会造成影响。由于使用共享的存储设备,因此两台服务器使用的实际上是一样的数据,由双机或集群软件对其进行管理。
对于纯软件的方式,则是通过支持镜像的双机软件,将数据可以实时复制到另一台服务器上,这样同样的数据就在两台服务器上各存在一份,如果一台服务器出现故障,可以及时切换到另一台服务器。
纯软件方式还有另外一种情况,即服务器只是提供应用服务,而并不保存数据(比如只进行某些计算,做为应用服务器使用)。这种情况下同样也不需要使用共享的存储设备,这种情况应该纳入负载均衡领域,
阅读(1974) | 评论(0) | 转发(0) |