一、双机、集群软件选择的基本方法 


先处理可选项少的情况,再处理可选项多的情况,这样便于快速对号入座。 

1、SCO UNIX: 只有LanderCluster支持。 

2、Windows + SQL Server: 需要考虑并行、负载均衡、实时切换等问题:只有ICX支持。 

3、无磁盘阵列柜的情况:从性价比、可靠性等方面考虑,LanderCluster具有明显优势。 

4、已经购买磁盘阵列柜:采取主/备方式(一台工作另一台不工作)。 

5、Windows/Linux,已经购买了磁盘阵列柜: IBM EXP系列磁盘阵列, 

- Windows 目前能可靠支持的是LanderCluster,- Linux目前能可靠支持的是NEC Express Cluster。 

6、 Windows/Linux,无磁盘阵列柜 (即纯软件方式):Windows + SQL Server:从性价比、可靠性等方面考虑,ICX具有明显优势。 

7、其他磁盘阵列柜: 

1)多台服务器 可供选择的包括:LanderCluster, NEC ExpressCluster, LifeKeeper 其中LanderCluster和NEC ExpressCluster支持远程监控,具有良好的本地支持,LanderCluster的性价比有明显优势,NEC则因与纯软件方式价格无差别; 

2)当前两台,以后可能升到多服务器,多数据库,多平台集群,SAN及Iscsi环境:LanderCluster具有明显优势; 

3)仅两台服务器:几乎所有产品均可支持; 

4)数据库小于50G:从无柜纯软方面考虑,NEC ExpressCluster是主要的选择; 


  二、数据库双机热备方式 

数据库双机热备有两种典型的方式,一种是比较标准的,两台服务器通过一个共享的存储设备(一般是共享的磁盘阵列或存储区域网SAN),并且安装双机软件,实现双机热备,称为共享方式。另一种方式是通过纯软件的方式,一般称为纯软件方式或镜像方式(Mirror)。 

对于共享方式,数据库放在共享的存储设备上。当一台服务器提供服务时,直接在存储设备上进行读写。而当系统切换后,另一台服务器也同样读取该存储设备上的数据。 

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


  三、纯软件方式优点 

1、避免了磁盘阵列的单点故障:对于双机热备,本身即是防范由于单个设备的故障导致服务中断,但磁盘阵列恰恰又形成了一个新的单点。(比如,服务器的可靠系数是99.9%, 磁盘阵列的可靠系数是99.95%,则纯软双机的可靠系数是1-99.9%x99.9%=99.99%,而基于磁盘阵列的双机热备系统的可靠系数则会是略低于99.95% 

2、节约投资:不需购买昂贵的磁盘阵列。 

3、不受距离的限制:两台服务器不需受SCSI电缆的长度限制(光纤通道的磁盘阵列也不受距离限制,但投资会大得多)。这样,可以更灵活地部署服务器,包括通过物理位置的距离来提高安全性。 

纯软件方式以前应用得较少,一方面是由于当时市场上比较流行的双机软件不支持纯软件方式,另一方面是由于少数支持纯软件方式的产品其可靠性不太令人放心。但随着NEC,LanderSoft这样的大牌厂商的产品进入市场,应该说纯软件方式将逐渐成为一种方向。 

从方案选择的角度,建议在进行双机热备时,如果投资充裕、数据量大(1T以上),可以采用共享的存储设备(如磁盘阵列)的方式,但应尽量选择高可靠性(如著名品牌的)设备,并且考虑选择双控制器的方案。否则,则更好的选择是纯软件方式。当然,这时就一定要选择成熟的、大厂商的经过考验的产品。 


 四、双机热备、集群软件产品选择 

1、明确应用的方式与要求: 

是双机方式还是多点集群?或者是目前使用双机、以后可能升级到集群? 

如果是双机,是采用共享的存储设备,还是采用基于镜像的纯软件方式? 

2、了解清楚应用环境: 

使用什么操作系统? 

运行什么应用(比如,数据库的版本)? 

使用什么服务器? 

使用什么存储设备? 

如果考虑纯软件方式,则还有了解清楚。数据量的大小、数据写入的频率、应用的关键性与重要性(相关内容:纯软件方式的双机热备方案深入分析 ) 。 

3、在此基础上,考虑以下因素,选择相应的软件产品: 

产品是否能支持所要求的应用方式? 

产品是否能支持所使用的应用环境? 

产品的其他特性: 是否支持远程监控(可以使你不用非要经常跑到机房,才知道是否一台服务器宕机了)?界面语言(对双机软件,中文界面并不是非常重要,但也是一个因素。同时,是否有中文手册等则可能非常重要)。安装的难易程度 。 

4、常见产品: 
 
1)LanderCluster集群软件:支持多点集群及双机,远程监控,支持Unix,支持ISCSI,支持多数据库; 

2)NEC ExpressCluster集群软件:支持纯软件方式(镜像),多点集群及双机,远程监控; 

3)LifeKeeper集群软件 :支持多点集群及双机; 

4)RoseHA双机软件:双机热备、互备; 


 五、双机、集群软件差别 

在双机热备应用方面,有两大类软件产品。一类是双机软件(HA),另一类则称作集群软件(Cluster),这两类软件是有差异的。 

它们都是为实现系统的高可用性服务的,都解决了一台服务器出现故障时,由其他服务器接管应用,从而持续可靠地提供服务的问题。 

它们都是通过心跳技术在进行系统检测。 

但是,双机软件只能支持两台服务器以主从方式或互备方式工作。而集群软件除了支持双机工作外,还可以支持多台服务器(Multi Node)工作,同时部署多个应用,并在多个服务器间灵活地设置接管策略。 

在两种情况下需要使用集群软件:一是有超过两个应用,本身就需要部署三台或更多的服务器。二是只有两个应用,但每个应用的负载均较大,不宜采用双机互备的方式,而是需要由第三台服务器来作为这两个应用的备机。 

一般地讲,集群软件具有更多的技术含量,具备更高的可靠性。同时,往往价格(平均到每台服务器)也高于双机软件。 

在选择产品时,应根据应用的实际情况来确定。最理想的方式,则是在应用数量少、负载不是很大时先使用双机软件,然后在应用数量增多、负载增大时平滑过渡到集群软件。