精华 探讨关于双机、集群软件选择的基本方法

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


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


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)工作,同时部署多个应用,并在多个服务器间灵活地设置接管策略。


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


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


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


点击此处,参与该话题的讨论