
双机热备
双机热备特指基于高可用系统中的两台伺服器的热备(或高可用),因两机高可用在国内使用较多,故得名双机热备,双机高可用按工作中的切换方式分为:主-备方式(Active-Standby方式)和双主机方式(Active-Active方式),主-备方式即指的是一台伺服器处于某种业务的激活状态(即Active状态),另一台伺服器处于该业务的备用状态(即Standby状态)。而双主机方式即指两种不同业务分别在两台伺服器上互为主备状态(即Active-Standby和Standby-Active状态)。
基本介绍
- 中文名:双机热备
- 外文名:Hot-standby
- 基于:高可用系统中的两台伺服器的热备
- 複製方式:保证主备伺服器的数据一致性
- 分区拦截技术:分区硬碟扇区拦截的技术
- 硬碟拦截技术:有效的硬碟拦截软体
- 方式:共享存储(磁碟阵列)的方式
方案
组成双机热备的方案主要的三种方式分别为:基于共享存储(磁碟阵列)的方式,全冗余方式和複製方式。
基于共享存储(磁碟阵列)的方式
共享存储方式主要通过磁碟阵列提供切换后,对数据完整性和连续性的保障。用户数据一般会放在磁碟阵列上,当主机宕机后,备机继续从磁碟阵列上取得原有数据。如下图所示这种方式因为使用一台存储设备,往往被业内人士称为磁碟单点故障。但一般来讲存储的安全性较高。所以如果忽略存储设备故障的情况下,这种方式也是业内採用最多的热备方式了。
传统的单存储方式

全冗余方式
全冗余方式就是双机双存储,基于单台存储的传统双机热备方式,确实存在存储单点故障的情况,为实现存储冗余,存储高可用也已经越来越多的被用户接受。我们从理解上可以看出,双机热备最早是为解决伺服器的计画性停机与非计画性宕机的解决方案,但是我们无法实现存储的计画性停机与非计画性宕机带来的伺服器停机,而存储作为双机热备中唯一存储数据的设备,它一旦发生故障往往会造成双机热备系统全面崩溃。
存储热备方式

随着科技的进步,云存储,云计算发展,对于存储热备已经进入了成熟及快速发展阶段,双机热备也随着技术的进步,进入到了没有单点故障的全冗余双机热备方式。如图:
这种方式的特点在于:
1、存储之间的数据複製不经过网路,而是由存储之间进行複製。
2、两个存储之间的複製是完全实时的,不存在任何时间延时。
3、主备存储之间的切换时间小于500ms,以确保系统存储时不产生延时。
4、硬碟盘符及分区不因为主备存储之间的切换而改变。
5、伺服器的切换,不影响存储之间的初始化,增量同步及数据複製。
6、某一存储设备的计画性停机,不影响整个伺服器双机热备系统的工作。
7、存储设备之间使用重複数据删除技术,完成增量同步工作。
8、真正的7X24小时或切换的全冗余方案。
複製方式
这种方式主要利用数据的同步方式,保证主备伺服器的数据一致性。
基于数据複製的方式有多种方法,其性能和安全也不尽相同,其主要方法有以下几种:
A、单纯的档案方式的拷贝不适用于资料库等套用,因为打开的档案是不能被複製的,如果要複製必须将资料库关闭,这显然是不可以的。以档案方式的複製主要适用于WEB页的更新,FTP上传套用,对主备机数据完整性,连续性要求不高的情况下使用。
数据同步方式

B、利用资料库所带有複製功能,比如SQLServer2000或2005所带的定阅複製,这种方式用户要根据自己的套用小心使用,原因主要是:
(1)SQLServer的定阅複製会在用户表上增加栏位,对那些套用软体编程要求较高,如果在套用软体端书写时未明确指定栏位的用户,而使用此功能会造成应用程式无法正常工作。
(2)数据滞留,这个限制怕也是最要命的,因为SQLServer在数据传输过程中数据并非实时的到达主备机,而是数据先写到主机,再写到备机,如此一来,备机的数据往往来不及更新,此时如果发生切换,备机的数据将不完整,也不连续,如果用户发现已写入的数据在备机找不到,重新写入的话,则主机修复后,就会发生主备机数据严重冲突,资料库会乱掉。
(3)複杂套用切莫使用定阅複製来做双机热备,包括数据结构中存储过程的处理,触发器和序列,一旦发生冲突,修改起来非常麻烦。
(4)伺服器性能降低,对于大一点的资料库,SQLServer2000或2005所带的定阅複製会造成伺服器资料库运行缓慢。
总之SQLServer2000或2005所带的定阅複製主要还是套用于数据快照服务,切莫用他来做双机热备中的数据同步。
C:硬碟数据拦截,目前国际国内,比较成熟的双机热备软体通常会使用硬碟数据拦截的技术,通常称为镜像软体即Mirror软体,这种技术当前已非常成熟,拦截的方式也不尽相同。
(1)分区拦截技术,以Pluswell热备份产品为例,他採用的是一种分区硬碟扇区拦截的技术,通过驱动级的拦截方式,将数据写往硬碟的数据提取,并首先写到备用伺服器,以保证备用伺服器的数据最新,然后再将数据回写到主机硬碟。这种方式将绝对保证,主备机资料库的数据完全一致,无论发生哪种切换,都能保证资料库的完整性与连续性。由于採用分区拦截技术,所以用户可以根据需要在一块硬碟上划分适合大小的分区来完成数据同步工作。
(2)硬碟拦截技术,以Symantec的Co-Standby为例,也是一种有效的硬碟拦截软体,他的拦截主要基于一整块硬碟,往往在硬碟初始化时需要消耗大量的时间。
双机热备中需要指出的几个概念
工作原理
故障隔离,简单的讲,高可用(热备)就是一种利用故障点转移的方式来保障业务连续性。其业务的恢复不是在原伺服器,而是在备用伺服器。热备不具有修复故障伺服器的功能,而只是将故障隔离。
概念辨析
Active-Active方式指的是业务方式而不是伺服器状态,如果是同一种套用是不能完成Active-Active方式的。例如热备的两台伺服器都是sqlserver资料库,那也是指的不同的资料库实例。相同的资料库实例是不可能在热备这一级实现Active-Active方式,这与Active-Active方式的原理相违背,简单的讲Active-Active方式就是两个不同的业务使用Active-Standby方式运行于两台伺服器上,使两个业务同时实现双机热备。
故障检测
故障检测是双机热备的任务,不同的双机检测点的多少决定了双机热备软体在功能和性能上的优劣,并不是所有的软体都具有相同的检测功能,以PlusWell双机热备软体为例,其提供的是一种全系统检测能力,即检测分为系统级、套用级、网路级三个方面。系统级检测主要通过双机热备软体之间的心跳提供系统的检测功能,套用级提供用户应用程式、资料库等的检测功能,网路级的检测提供对网卡的检测及可选的对网路路径的检测功能,因此称为全故障检测能力。
伺服器资源
双机热备的资源指某种业务运行过程中所依赖的最小的关联服务,不同的双机软体所提供的资源多少也不相同,当然提供的可切换资源越多,软体套用的範围也越广,在双机热备中提到的伺服器资源主要包括,可切换的网路IP资源、计算机名、磁碟卷资源、伺服器进程等。
切换种类
双机热备的切换一般分为手动切换和故障切换,即计画性切换(即人为切换)和非计画性切换(即故障切换)。需要大家注意的是并不是所有资源都具有可切换性,以PlusWell热备份软体为例他提供了:(1)本地资源监控,即不可切换的资源,(2)普通资源,即可以在主备机切换的资源。(3)快速资源,指的是快速切换的资源,
一般情况下的双机切换时间为1-5分钟,而快速切换的时间为3-5秒种。用户应根据自己的需求及业务特点来选择相关的切换服务,从价格成本上来说,切换的时间越短费用也越高。
备份介绍
热备份指的是:high available即高可用,而备份指的是Backup,即数据备份的一种,这是两种不同的概念,应对的产品也是两种功能上完全不同的产品。热备份主要保障业务的连续性,实现的方法是故障点的转移,而备份,主要目的是(为了防止数据丢失,而做的一份拷贝)所以备份强调的是数据恢复而不是套用的故障转移。
产品分类
国外产品
Rose HA
RoseHA/RoseMirrorHA双机热备软体
NEC ExpressCluster
微软MSCS
Symantec VCS
Legato
LifeKeeperEMC Autostart
红帽RHCS
国内产品
REYUN HA-mirror数据镜像软体
REYUN HA 双机热备软体
Moebius For SQL Server负载均衡集群
REYUN Cluster集群热备份软体
Lander Cluster联鼎集群软体
DBTwin For SQL Server资料库集群
PlusWell 集群软体
EterneCluster集群软体
ServHA Cluster双机集群软体
ATang 集群软体
eubase集群软体
ENASCluster-DN/ENASMirrorHA双机热备软体
ENASCluser/ENAS-MN多机集群软体
开源软体
Linux Heartbeat