HA高可用

概述

GreatTurbo HA 是专注于Linux 上的高可用性产品,提供高可用性的双机集群系统。当集群中的某个节点由于软件或硬件原因发生故障时,集群会利用资源切换的方法保证整个系统继续对外提供服务,从而为企业24x7的关键业务应用提供了强大的保障。GreatTurbo HA10 提供对各种应用程序的支持,包括各种数据库应用、WEB 应用、Mail 应用等等。而其简便的安装和设置、详细的日志信息,减轻了用户日常的维护工作,其中跨平台的远程管理和监控使得系统具有更灵活的特性。此外,GreatTurbo HA10 同时提供图形化界面和命令行界面两种配置管理工具,使得系统管理员的操作和管理更加方便。

    GreatTurbo HA  是专注于Linux 上的高可用性产品,提供高可用性的双机集群系统。当集群中的某个节点由于软件或硬件原因发生故障时,集群会利用资源切换的方法保证整个系统继续对外提供服务,从而为企业24x7 的关键业务应用提供了强大的保障。GreatTurbo HA  提供对各种应用程序的支持,包括各种数据库应用、WEB 应用、Mail 应用等等。而其简便的安装和设置、详细的日志信息,减轻了用户日常的维护工作,其中跨平台的远程管理和监控使得系统具有更灵活的特性。此外,GreatTurbo HA  同时提供图形化界面和命令行界面两种配置管理工具,使得系统管理员的操作和管理更加方便。

    当我们通过硬件(服务器、交换机、电子开关等)和软件(操作系统平台、HA系统软件、应用软件等)搭建一个高可用群集环境的时候,首先我们需要明确的是,高可用系统软件能否支持和管理我们的应用程序。GreatTurbo HA  能够支持绝大多数的Linux 环境下的应用程序,支持的典型应用程序类型如下:
      通用的,无需修改的应用程序:GreatTurbo HA 支持大多数Linux平台的应用程序,这些应用大多数是能够接受几秒种的停机时间的业务。
      数据库应用:GreatTurbo HA 能够很好的支持各种数据库产品,包括Oracle8i/9i/10g/11g、MySQL、Sybase和IBM DB2数据库。
      各种文件服务:GreatTurbo HA 能够为各种类型的文件服务提供高可用集群功能,如NFS和SMB/CIFS (使用Samba)。
      主流的商业应用软件:GreatTurbo HA 能够很好的支持主流的商业应用软件,如SAP、Oracle Application Server和Tuxedo。
      互联网和开放源代码的应用:GreatTurbo HA 可以很好的支持各种流行的互联网应用软件和各种开放源代码产品,如Apache、Wu-ftp、VSFTP等。
      邮件服务软件:如Sendmail和Domino。

GreatTurbo HA  技术特点
        支持磁盘镜像功能
    磁盘镜像功能,是一种不需要磁盘阵列的双机数据共享方案。它的基本原理是通过对两个节点各自的本地磁盘分区进行实时镜像操作,使得这两个本地磁盘对双方节 点而言,可以当作一个虚拟的共享磁盘设备来使用,这个虚拟的RAID-1级别的共享磁盘设备,能够作为应用的共享设备,既可以当作共享的裸设备来使用,也 可以在其上创建各种Linux 文件系统。GreatTurbo HA  本身提供磁盘镜像功能,使得共享数据的应用不需要磁盘阵列也能够搭建双机高可用方案。
     提供多种类型的磁盘阵列支持
    对于需要磁盘阵列的一些应用,如数据库应用等,需要专业的硬件磁盘阵列来保证性能。而GreatTurbo HA  能够支持绝大多数的磁盘阵列设备。目前业界使用的磁盘阵列时,一般分两种情况:第一种是带独立RAID 处理器的磁盘阵列,主流厂商的SCSI 或光纤磁盘阵列都可以适用于GreatTurboHA 的要求。第二种是使用主机RAID 卡和磁盘柜(磁盘柜是指不具备硬件RAID处理器的磁盘盒)的方式,这种磁盘设备通过双机的硬件RAID卡clustering技术和RAID 的用户接口工具等,也可以满足GreatTurbo HA 的共享数据存
取的需求,常见的这种类型的“磁盘阵列”的典型产品有IBM EXP400、DELL220S、HP MSA500-G2 等。
       多种硬件心跳保证系统一致性
    GreatTurbo HA  同时支持直连网线和串口的方式来同步HA 两个节点之间的心跳信息。可同时支持多条直连网线和串口线作为Channel,提供更高可靠性的硬件冗余方式,以保证两个节点之间不会发生Split- brain 现象,即使两节点之间的Channel 都发生故障,GreatTurbo HA  还可以通过第三方参考IP 的方式,保证两个节点系统的一致性。
        支持STONITH 技术
    stonith(shut the other node in the head),就是把故障节点重启,以保证资源被完全释放。stonith 的方式有两种,一种是通过电子开关(power switch)来重启对方;(另外一种是通过网络发送命令来重启对方。但是后者通常不起作用)。有一些厂家的服务器有类似的管理界面(一种硬件设备),也 可以用来作为stonith的工具,比如IBM xServer 的RSA(Remote Supervisor Adapter)和Intel 的IPMI,GreatTurbo HA  也可以支持。
        支持Watchdog Timers
    GreatTurbo HA 支持三种类型的看门狗定时器为系统提供了一个稳健的I/Obarrier。最简单的就是Linux 内核自带的通过中断处理来实现的软件softdog 定时器,它被GreatTurbo HA 用来控制后台程序的执行。Linux 内核也支持一种硬件NMI (non-maskable interrupt) 看门狗,这种硬件看门狗通常需要专门服务器硬件支持 (常用的是主板上的Intel 810 TCO 芯片组)。NMI 看门狗在没有检测到一个稳定正常的中断发生时就会触发节点服务器的重启动。最后一种,就是传统的硬件看门狗定时器,它是一种 PCI 设备,在市面上很常见。当PCI 设备的驱动没有正常的复位时,它就会强迫系统关闭或重启。
    智能的服务回迁以及多服务的负载分担
    GreatTurbo HA  支持优先节点的设置,可以把一些服务设定到指定的优先节点,当优先节点故障时,服务切换到另一个节点,而当优先节点又恢复时,服务会自动迁移到优先节点。 这样可以让多个服务分别运行在两个节点上,使得服务的负载可以分担到两个节点上。
     可以检测更多的故障
    GreatTurbo HA  能够检测更多的系统故障,从而增强了高可用性集群所提供的可靠性。
     系统故障: 硬件错误
    系统紊乱: 统软件错误
     存储不可访问: 存贮错误
     网络断开: 网络错误
     集群进程故障: 集群软件错误
     服务故障: 服务应用程序错误。
     应用程序代理检查
    GreatTurbo HA 通过使用应用程序代理检查某一服务是否运行。应用程序代理用于定期检查某一服务是正常工作。如果服务没有正常运行,则相应地触发一次切换,使服务在另一节 点被恢复。GreatTurbo HA 提供所有用于常用服务的应用程序代理,对于自身没有应用程序代理程序的服务则可以使用GreatTurbo HA  提供的通用代理。请同时参见本文中的“应用程序代理API”一节。
     应用程序代理API
    应用程序代理API 是一种在应用程序代理或服务检查程序和GreatTurboHA 服务进程之间的接口,在GreatTurbo HA 用户手册中有详细介绍。按照此接口的规范,您可以为您的特定服务编写定制的应用程序代理。编写定制的应用程序代理的好处在于它可以为应用程序提供更精确的 服务检查以及更快的切换。
          图形管理工具
    GreatTurbo HA  通过提供基于Java 技术的图形管理工具而改善了集群的可管理性。支持本地和远程的监控和管理,支持Linux/Windows 客户端的管理。利用所提供的图形管理工具,可以方便地进行配置更改和状态监测。除了提供图形管理工具外,GreatTurbo HA  还提供有功能同样强大的命令行配置和监控管理工具。
        更好的日志文件系统支持
    GreatTurbo HA 支持与日志文件系统诸如Reiser 和Ext3 等的协同工作。这些日志文件系统特别适用于GreatTurbo HA , 因为它们消除了诸如Ext2 等文件系统中所化费的耗时的文件系统检查从而减少了切换时间。当系统装载时,日志文件系统仅仅要求恢复其日志。当一种日志文件系统被用于共享存贮 时,GreatTurbo HA 能够自动地进行确认,跳过不需要的FSCK 文件系统检查,并立即装载文件系统用于文件系统日志的恢复。
         更详细的系统故障日志信息
    GreatTurbo HA  采用的日志函数和Linux 的syslogd 是一样的方式,在两个节点均有记录,每个守护进程都有自己的日志级别,可以在配置文件中指定。每一条记录的信息,包括有时间、日志级别、进程名称、进程 id、消息等内容,这样可以方便用户进行应用故障现场的保护以及故障后的分析定位。同时日志的级别可以动态进行设置调整,以根据实际需要调整输出日志的信 息内容。默认情况下,系统已经将日志级别设置成较为详细的信息输出,包括HA 启动、停止过,HA 事件触发原因,服务故障原因,服务切换过程,服务手动操作记录等。同时GreatTurbo HA 还提供日志收集工具,自动收集系统以及HA 相关信息,以便于更方便的进行故障定位。
      GreatTurbo HA 的使用限制
       GreatTurbo HA只支持主流Linux 平台的双节点高可用。
       GreatTurbo HA暂不支持并行处理的应用。也就是说不支持同一个应用在两个节点同时并发运行的应用。例如:Oracle 9i RAC。
       GreatTurbo HA  的稳定性需要OS 提供支撑。如果当操作系统宕机时,可能会出现因OS 没有彻底释放资源而导致HA 系统丧失高可用功能。在这种情况下,除非有额外的硬件设备,否则GreatTurbo HA  并不能够完全保证能够自动恢复操作系统。此时需要用户手工干预操作系统,对崩溃的操作系统进行复位操作。也就是说,当OS 宕机时(尽管这种可能性很小),如果用户没有以下硬件作为保障,仍然有可能会出现用户业务中断的可能:
    1)采用电子开关。
    2)服务器节点采用支持硬件watchdog 功能的主板。
     配置 GreatTurbo HA 的两台计算机节点的心跳方式时,必须保证至少一条心跳通道正常工作。如果两台节点之间的所有心跳通道都发生故障而不能正常连通,有可能会导致 GreatTurbo HA11 发生裂脑(split-brain),发生裂脑后,GreatTurbo HA 有可能会导致用户的资源不一致。为了完全杜绝裂脑现象的发生,可以采取如下方法:
    1)采用电子开关。
    2)使用第三方参考 IP,有关第三方参考IP 的介绍将在第三章详述。其中第一种办法是使用硬件的办法,由于电子开关是额外的电子硬件设备,需要用户自行购买,所以实际中采用这种方式并不多;而第二种 方式是软件的方法,可以保证GreatTurbo HA 发生裂脑时,用户的资源不受损失,但是需要用户提供另一个永久性正常工作的参考性IP 地址。
© 2016 GreatOpenSource INC. All rights reserved.京ICP备06057874号 京公网安备11010102001661号