首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Linux频道
Google
首页 入门 Linux编程 系统管理 网络管理 Linux认证 Unix/BSD Linux数据库 Linux集群 Linux手册 Linux下载 Ubuntu 论坛 专题 RSS
您现在的位置: 中国IT实验室 >> Linux >> 网络管理 >> Linux服务器 >> 正文

基于Linux的高可用解决方案

随着Linux在企业级环境中越来越广泛的被应用为服务器操作系统,越来越多的企业将应用构建于Linux之上,而这些应用中的绝大多数都是关键应用,需要得到24×7的运行保障。诚然,很多先进的IT技术已经大大加强了系统的高可用性,如RAIDUPS等,但这些无法从本质上提高服务器系统的可用性。

 

为了保证系统的高可用性,在通过冗余存储设备和网络设备、不间断电源来保证单机的可用性的同时,我们还需要通过双机或者多机互为备份方式,来保证在提供服务节点发生故障时,能快速,准确地将服务恢复。通过双机热备份软件,可以使服务的高可用率达到99.999%,也就是我们通常说的59,这意味着,一个有两台服务器做成的高可用性集群系统,每年服务的停机时间不超过5分钟,而且,所有的服务备份切换过程都是自动完成的,不需要人工干预。这大大降低了服务的管理成本和因为服务故障而造成的经济损失。所以高可用性集群软件在电信、银行等关键行业的关键应用中,发挥着极其重要的作用。

本文详细介绍了Skybility HA Server的主要特性和运行原理。它的目标读者是对Skybility HA Server感兴趣的高层技术人员。

 

  产品简介

 

Skybility HA Server是基于Linux的可用性集群解决方案,能够保障企业的关键应用提供24×7的服务。通过Skybility HA Server,您可以构建一个两节点的集群系统,于是,集群中的任一个节点就成为另一个节点的“热备份”,同时,每个节点又都能用作正常的Linux服务器。

 

在一个典型的配置中,Skybility HA Server集群的硬件由两台连网的服务器和一个共享存贮柜组成。在系统运行过程中,服务器之间通过客户网络或独享网络(可选配)、RS232连线(可选配)不断使用心跳机制相互监测,当发现其中一个节点由于某种原因发生故障时,无论软、硬件故障,另一个节点将接替故障节点的工作,从IP地址资源到应用程序,从而保障了整个系统的高可用性。同时,Skybility HA Server支持冗余的心跳路径和网络通讯路径,来保证故障检测和消息传递更安全可靠。

 

对于系统的安装和配置工作,Skybility HA Server在设计时就充分考虑到了易用性。从本地应用程序到远程浏览器的applet的基于java2的图形化的配置界面,系统管理员可以根据喜好自由选择。同时,所有的系统监测和控制都可以远程进行,能够适应各种复杂环境。

 

为了减少整个系统的复杂性,Skybility HA Server在同一个集群中只允许存在两个节点。这两个节点的硬件配置不必相同,应用也无需一致。例如,一个节点可以提供数据库服务,而另一个节点同时提供邮件服务。为您提供最大的投资回报率。

 

更为先进的是,Skybility HA Server提供了多个应用程序代理,如OracleLotus DominoIBM DB2等,提供了对常用应用程序更好的支持。当然,您也可以通过Skybility HA ServerApplication Agent API来定制自己的应用程序代理。Skybility HA Server提供更丰富的配置模板,方便用户配置,避免因为配置错误带来的问题。另外Skybility HA Server还提供开放的用户预警平台,用户可以自己定制或采用我们提供的解决方案来使用服务故障时的报警机制。

 

  设计原理及概念

 

不间断的提供有效、准确的服务是高可用性集群软件的设计目标。在保证用户数据完整性的前提下,当系统或服务失效时,及时的将服务切换到正常节点,同时采取必要措施,帮助失败节点能够恢复正常,这就是Skybility HA Server作为优秀高可用性集群软件所提供的功能。

 

;        主机及服务

 

Skybility HA Server设计为双节点集群系统,集群软件同时运行在两台主机上。对于主机上服务的配置,根据用户的需要,可以是一台主机提供服务,另一台主机待命的“主动被动”模式,也可以是两台主机同时提供不同服务,并且互为备份的“主动主动”模式。如果用户有两台同样高配置的服务器,并希望提供两种或两种以上的服务,则可以采用“主动主动”模式以提高系统利用率;如果用户有一台高配置的服务器和一台较低配置的服务器,希望建立高可用性服务,则可以采用“主动被动”模式,并把服务配置成“回切”型。在任意时刻,两台主机可以同时对外提供总和多达百种的高可用性服务。当一个服务发生故障切换时,不会影响到其他服务的正常运行。

  

 


 

 

 

 

Service B

192.168.1.2

Service B

192.168.1.2

Node A

Node B

Heartbeat

Service A

192.168.1.1

Service A

192.168.1.1

Shared Storage

  


  

;        监测

 

Skybility HA Server对于主机系统级的失败,两台主机间通讯的失败和所提供服务的失败都能进行准确的实时监测。

 

系统及通讯监测

 

任何操作系统,都有出现死机或系统挂起的可能。系统挂起和死机不同,系统挂起时对用户的输入不再有响应,好像被锁住一样,在有些情况下,系统挂起一段时间后,有可能重又继续工作。Skybility HA Server可以准确的检测到一台主机系统挂起或死机的发生,并把服务切换到正常工作的主机上。

 

为了监测对等主机的状态,Skybility HA Server集群在两台主机之间可以建立两种方式的任意多条连接通路,这也被称为“心跳”(Heartbeat)。“心跳”方式有UDP/IP连接和串行线连接两种。可以使用多块网卡,在两台主机间建立多条点对点的UDP/IP连接。如有多个串行口,则可以建立多条串行连接。

 

使用两种方式的多条连接,也就是利用冗余的硬件,提高主机间通讯的可靠性。只有当所有心跳通路全部失败时,才认为两主机在通讯上失效,此时Skybility HA Server会采取及时有效的应对措施。

 

服务监测

 

Skybility HA Server对于服务的状态也会定时进行监测,监测的时间间隔可由用户指定。       Skybility HA Server提供一个“通用应用程序代理”,可以对各种服务进行一般性的监测。对于常用类型的服务,还有相应的“应用程序代理”可以实现具有针对性的服务监测功能。用户也可以自行编写应用程序代理,以满足特殊的需要。

 

;        数据完整性

 

和其他同类产品相比,Skybility HA Server在设计时首要考虑的是对用户数据完整性的保护。在集群网络环境下,集群中的节点在接管失效节点提供的服务之前,首先必须确认失效节点不能再修改共用文件或数据库的内容,也就是要建立I/0屏障(I/O Fencing)。Skybility HA Server 使用“SCSI保留/释放”(可选)命令和“软件重置”方式实现了可靠的I/O屏障。另外,通过使用硬件级或者系统级的watchdog机制,能保证失效的服务器快速重起,从而更好的释放故障服务所使用的资源

 

;        切换

 

Skybility HA Server 检测到一台主机上的服务故障时,会迅速的在本地恢复服务或者释放服务资源,并切换至备份的主机,服务的保护机制非常灵活,用户可以按照自己的需要进行配置。当检测到一台主机失效时,正常主机首先会建立I/O屏障,保护共用存储设备上的数据不被失败节点修改。然后,会把故障主机上的服务切换到正常主机上,继续对外提供服务。可以把一个或多个IP地址绑定在服务上,在服务切换时,IP地址也随之切换到正常主机上,所以用户仅仅在服务切换的瞬间能感觉到极短时间的服务暂停。

 

在故障主机失效时,内部运行的硬件或者系统级watchdog机制能保证故障主机迅速重起,并完全释放服务资源。如果重启动后系统恢复正常,则重新加入集群,可以接管服务。这样,即使两台主机都发生故障,只要不在同一时刻发生,集群仍可保证提供服务。

 

安装及使用

 

;        系统安装和配置

 

Skybility HA Server需要安装在Linux系统之上,对于Linux的要求是Kernel 2.2.18或以上并安装Raw I/OSCSI Reset。当然,您可能对于自己安装这些软件包没有经验,所以我们强烈推荐您使用Suse Linux Enterprise server 8或更高版本。因为这些软件包已经缺省附带于操作系统之中,而且Skybility HA Server已经在其上进行过严格的认证工作。整个安装和配置过程将十分轻松和简单。

 

通常来讲,整个系统的安装过程分为下面几个主要步骤:

l         安装及连接系统硬件,如连接共享存贮柜,连接独享网络(可选),连接RS232通讯连线(可选)等。

l         在两个节点上分别安装Linux操作系统,如Suse Linux Enterprise server

l         在共享存贮柜上配置和初始化硬盘分区,并建立文件系统,推荐采用日志文件系统,推荐使用Suse Linux Enterprise Server。因为它非常良好的支持了EXT3Reiser FS日志文件系统。

l         安装Skybility HA Server软件。

l         使用命令行或图形化管理工具配置集群服务。

 

Skybility HA Server产品包装盒内附有快速安装指南为您快速导航,而每一步在用户手册中都有详细说明。

 

;        硬件环境

系统可以运行在IA32IA64PPCPPC64架构的机器上,在Open Power 720机器上也作过测试,测试结果也满足要求。

;        系统监测和管理

 

l         易管理性是衡量集群系统性能的一个重要指标。Skybility HA Server提供了全功能的跨平台的图形化控制界面来简化管理。

 

1.  图形化的管理工具基于java2开发,可以在Xwindow中运行,也可以在远程的浏览器上运行,方便用户管理和监控。

 

 

;        客户端

 

正如所有其他高可用性系统一样,Skybility HA Server对于客户端是透明的,即客户端并不了解也无需了解集群系统。当集群内部发生服务切换操作时,对于面向非连接的服务,如WEB服务,客户端完全感觉不到切换动作的发生;而对于面向连接的服务,如数据库服务,客户端会接到警报,在以秒为时间单位的切换动作完成后,如果客户端有自动重连功能,将自动重新连接到服务器,如果没有,用户也只需重新登录即可继续正常工作。

 

LVS配合使用

 

您能够将Skybility HA ServerLVS配合使用来构建完整的电子商务站点,这样,在获得数据完整性和应用程序可用性的同时,您的系统还将会拥有强大的负载均衡能力。

 

下述结构示意图描述了您如何将Skybility HA Server应用到一个LVS环境中。这是一个三层架构的方案,第一层由LVS构建Web请求负载分流系统,第二层由多个Web服务器组成,负责处理这些Web请求,第三层采用Skybility HA Server和数据库服务器,负责响应Web服务器对数据库的请求。

 

 

 

在这个环境中,所有客户端请求都来自Internet,出于安全的考虑,站点应该配置一个防火墙系统,当然,您可以使用Linux服务器来构建防火墙,并且使用Skybility HA Server来构建高可用性的防火墙。

 

对于LVS组成的流量负载分流系统,其功能是将所有Web请求分流到不同的Web服务器,是整个Web系统的性能得到提升,而且可以根据实际需求动态的向集群内添加Web服务器。对于负责分配流量的节点,其本身也有备份节点来保证高可用性。

 

目前,动态内容的网页已经非常普遍。您可以将所有动态资料都保存在数据库内,并且使用Skybility HA Server对数据库服务器本身做高可用性的集群。

 

       这样,整个系统将会获得极高的可用性以及负载均衡能力,而这些正是电子商务站点必不可少的。

【责编:Kittoy】
中国IT教育
相关产品和培训
文章评论
 友情推荐链接
 专题推荐

 ·防范Linux病毒 打造没有病毒的乐土…
 ·Linux Shell编程实用指南…
 ·Linux日志分析与管理
 ·揭密Linux内存管理
 ·邮件服务Sendmail应用配置
 ·Linux 安全管理…
 ·Linux 下DNS服务器架设攻略…
 ·Linux 下的路由的配置与应用…
 ·专题:Apache实用手册
 ·全面剖析Linux文件系统
 今日更新
 认证培训
 频道精选
 Windows频道导航