1、Skyge HA 7.0技术白皮书北京神州天勤软件技术有限公司2011年 3月目 录概述 .- 3 -SKYGE HA 7.0功能简介 .- 4 -应用支持 .- 4 -SKYGE HA 7.0的技术特点 .- 5 -支持磁盘镜像功能 .- 5 -多条心跳保证系统一致性 .- 5 -可靠的故障时切换策略 .- 5 -智能的服务回迁以及多服务的负载分担 .- 5 -可以检测更多的故障 .- 6 -应用程序代理检查 .- 6 -图形管理工具 .- 6 -系统性能监控 .- 7 -详细的系统故障日志信息 .- 7 -SKYGE HA 7.0高可用功能设计原理 .- 8 -主机及服务 .- 8 -监测
2、 .- 8 -系统及通讯监测 .- 8 -服务监测 .- 9 -切换 .- 9 -Skyge HA 7.0技术白皮书北京神州天勤软件技术有限公司 - 3 -概述Skyge HA 7.0是 北 京 神 州 天 勤 信 息 技 术 有 限 公 司 推 出 的 为 满 足 企 业 级 关 键 应用 的 高 可 用 产 品 。 它 提 供 的 双 机 高 可 用 方 案 能 够 更 好 的 满 足 用 户 业 务 的 连 续 性 、更 加 可 靠 , 可 以 昼 夜 不 停 地 提 供 24x7的 服 务 ; 并 且 能 够 满 足 不 同 应 用 对 高 可 用 的要 求 。从 2006年 开 始
3、, 北 京 神 州 天 勤 信 息 技 术 有 限 公 司 着 手 自 主 研 发 高 可 用 系 列 产品 SkygeHA。 Skyge HA 7.0是 在 以 往 产 品 的 基 础 上 , 根 据 市 场 的 实 际 需 求 和企 业 级 用 户 多 年 实 践 经 验 的 总 结 , 依 据 已 有 成 熟 架 构 的 基 础 开 发 的 。 它 能 够 为LAMP( Linux、 Apache、 MySQL、 Perl PHP Python) 架 构 的 应 用 和 企 业 级 用 户 提供 更 加 可 靠 和 可 扩 展 的 服 务 。 Skyge HA 7.0提 供 了 更 好
4、的 可 靠 性 和 可 扩 展 性 , 更高 的 性 价 比 , 更 好 的 易 用 性 和 可 管 理 性 , 完 全 满 足 企 业 级 应 用 所 要 求 的RASM(Reliability, Availability, Scalability, Manageability)特 性 。Skyge HA 7.0可 支 持 市 场 上 常 见 的 主 流 操 作 系 统 平 台 , 适 用 于i386、 x86_64、 IA64、 openpower等 主 流 的 硬 件 平 台 。 做 为 第 三 方 HA软 件 , 由 于Skyge HA 7.0可 以 和 主 流 操 作 系 统 更 好
5、 的 配 合 , 使 得 从 操 作 系 统 到 Skyge HA 7.0软 件 构 建 的 高 可 用 解 决 方 案 更 加 的 可 靠 , 并 广 泛 服 务 于 电 信 、 银 行 、 政 府 等 行 业客 户 。Skyge HA 7.0技术白皮书北京神州天勤软件技术有限公司 - 4 -Skyge HA 7.0功能简介Skyge HA 7.0是 专 注 于 企 业 级 关 键 业 务 上 的 高 可 用 性 产 品 , 提 供 高 可 用 性 的双 机 集 群 系 统 。 当 集 群 中 的 某 个 节 点 由 于 软 件 或 硬 件 原 因 发 生 故 障 时 , 集 群 会 利用
6、资 源 切 换 的 方 法 保 证 整 个 系 统 继 续 对 外 提 供 服 务 , 从 而 为 企 业 24x7的 关 键 业 务应 用 提 供 了 强 大 的 保 障 。 Skyge HA 7.0提 供 对 各 种 应 用 程 序 的 支 持 , 包 括 各 种 数据 库 应 用 、 中 间 件 、 WEB应 用 等 等 , 而 其 简 便 的 安 装 和 设 置 、 详 细 的 日 志 信 息 ,减 轻 了 用 户 日 常 的 维 护 工 作 , 其 中 跨 平 台 的 远 程 管 理 和 监 控 使 得 系 统 具 有 更 灵 活的 特 性 。 此 外 , Skyge HA 7.0同
7、 时 提 供 图 形 化 界 面 和 命 令 行 界 面 两 种 配 置 管 理 工具 , 使 得 系 统 管 理 员 的 操 作 和 管 理 更 加 简 便 。应用支持当 我 们 通 过 硬 件 ( 服 务 器 、 交 换 机 、 共 享 存 储 等 ) 和 软 件 ( 操 作 系 统 平 台 、 HA系 统 软 件 、 应 用 软 件 等 ) 搭 建 一 个 高 可 用 群 集 环 境 的 时 候 , 首 先 我 们 需 要 明 确 的是 , 高 可 用 系 统 软 件 能 否 支 持 和 管 理 我 们 的 应 用 程 序 。 Skyge HA 7.0能 够 支 持 绝大 多 数 的 应
8、 用 程 序 , 支 持 的 典 型 应 用 程 序 类 型 如 下 : 通用的,无需修改的应用程序:Skyge HA 7.0 支持大多数的应用程序,这些应用大多数是能够接受几秒种的停机时间的业务。 数据库应用:Skyge HA 7.0 能够很好的支持各种数据库产品,包括Oracle,MySQL,Sybase和IBM DB2 数据库。 各种文件服务:Skyge HA 7.0 能够为各种类型的文件服务提供高可用集群功能,如NFS和SMB/CIFS (使用Samba)。 主流的商业应用软件:Skyge HA 7.0 能够很好的支持主流的商业应用软件,如SAP,Oracle Application
9、Server和Tuxedo,WebSphere等。 互联网和开放源代码的应用:Skyge HA 7.0 可以很好的支持各种流行的互联网应用软件和各种开放源代码产品,如Apache,Wu-ftp,vsftp等。Skyge HA 7.0技术白皮书北京神州天勤软件技术有限公司 - 5 - 邮件服务软件:如Sendmail和Domino。Skyge HA 7.0的技术特点支持磁盘镜像功能磁盘镜像功能,是一种不需要磁盘阵列的双机数据共享方案。它的基本原理是通过对两个节点各自的本地磁盘分区进行实时镜像操作,使得这两个本地磁盘对双方节点而言,可以当作一个虚拟的共享磁盘设备来使用。这个虚拟的RAID-1级别的
10、共享磁盘设备能够作为应用的共享设备,既可以当作共享的裸设备来使用,也可以在其上创建各种 Linux文件系统。Skyge HA 7.0本身提供磁盘镜像功能,使得共享数据的应用不需要磁盘阵列也能够搭建双机高可用方案。多条心跳保证系统一致性Skyge HA 7.0支持多条网线来同步中心节点与其他 N节点之间的心跳信息。多条网线通道,提供更高可靠性的硬件冗余方式,以保证相应的两个节点之间不会发生裂脑(Split-brain)现象。即使两节点之间的心跳通道都发生故障,Skyge HA 7.0还可以通过配置第三方参考 IP的方式,保证两个节点系统的一致性。Skyge HA 7.0支持配置多个第三方参考 I
11、P,避免了第三方参考 IP成为单一故障点。可靠的故障时切换策略无论是否配置第三方 IP,主节点所有的网络都发生故障时,仍能够保证服务切换到正常的备节点上,不影响对外正常提供服务。智能的服务回迁以及多服务的负载分担Skyge HA 7.0支持优先节点的设置,可以把一些服务设定到指定的优先节Skyge HA 7.0技术白皮书北京神州天勤软件技术有限公司 - 6 -点。当优先节点故障时,服务切换到另一个节点;而当优先节点又恢复时,服务会自动迁移到优先节点。这样可以让多个服务分别运行在两个节点上,使得服务的负载可以分担到两个节点上。可以检测更多的故障Skyge HA 7.0能够检测更多的系统故障,从而
12、增强了高可用性集群所提供的可靠性。故障类型 故障原因系统故障 硬件错误系统紊乱 系统软件错误存储不可访问 存储错误网络断开 网络错误集群进程故障 集群软件错误服务故障 服务应用程序错误应用程序代理检查Skyge HA 7.0通过使用应用程序代理检查某一服务是否运行。应用程序代理用于定期检查某一服务是否正常工作。如果服务没有正常运行,则相应地触发一次切换,使服务在另一节点被恢复。Skyge HA 7.0提供用于常用服务的应用程序代理,对于自身没有应用程序代理的服务则可以使用 Skyge HA 7.0提供的接口进行灵活的按需定制。图形管理工具Skyge HA 7.0提供了基于 web的 B/S架构
13、的图形配置管理工具,从而改善了集群的可管理性。Skyge HA 7.0技术白皮书北京神州天勤软件技术有限公司 - 7 -利用所提供的图形管理工具,可以方便地进行配置更改和状态监测。除了提供图形管理工具外,Skyge HA 7.0还提供有功能同样强大的命令行配置、监控管理工具。系统性能监控Skyge Emond是用来监控系统性能的软件,如:CPU、内存、硬盘利用率、网络流量情况等,通过性能曲线很容易及时观测到两个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到至关重要的作用。Skyge Emond 还提供了主动切换技术,在用户设置了所要监控的设备名称以及数值后,当Emond 检测到
14、所需要监控的设备达到了用户的预设值后,会主动将当前系统上运行的服务切换至另一个节点。详细的系统故障日志信息Skyge HA 7.0采用的日志函数和 Linux的 syslogd是一样的方式,在两个节点均有记录,每个守护进程都有自己的日志级别,可以在配置文件中指定。每一条记录的信息,包括有时间、日志级别、进程名称、进程 id、消息等内容,这样可以方便用户进行应用故障现场的保护以及故障后的分析定位。同时日志的级别可以动态进行设置调整,以根据实际需要调整输出日志的信息内容。默认情况下,系统已经将日志级别设置成较为详细的信息输出,包括 HA启动、停止过程,HA 事件触发原因,服务故障原因,服务切换过程
15、,服务手动操作记录等。为了更加便于用户在应用故障发生后快速定位故障原因,Skyge HA 7.0在图形配置管理界面中,将日志进行了分类提取,分为普通信息、警告信息和错误信息。Skyge HA 7.0技术白皮书北京神州天勤软件技术有限公司 - 8 -Skyge HA 7.0高可用功能设计原理不间断的提供有效、准确的服务是高可用集群软件的设计目标。在保证用户数据完整性的前提下,当系统或服务失效时,及时的将服务切换到正常节点,同时采取必要措施,帮助失败节点能够恢复正常,这就是 Skyge HA 7.0作为优秀高可用集群软件所提供的功能。主机及服务Skyge HA 7.0设计为双节点集群系统,集群软件
16、同时运行在两台主机上。对于主机上服务的配置,根据用户的需要,可以是一台主机提供服务,另一台主机待命的“主动被动”模式,也可以是两台主机同时提供不同服务,并且互为备份的“主动主动”模式。如果用户有两台同样高配置的服务器,并希望提供两种或两种以上的服务,则可以采用“主动主动”模式以提高系统利用率;如果用户有一台高配置的服务器和一台较低配置的服务器,希望建立高可用性服务,则可以采用“主动被动”模式,并把服务配置成“回切”型。监测Skyge HA 7.0对于主机系统级的失败,两台主机间通讯的失败和所提供服务的失败都能进行准确的实时监测。系统及通讯监测任何操作系统,都有出现死机或系统挂起的可能。系统挂起
17、和死机不同,系统挂起时对用户的输入不再有响应,好像被锁住一样,在有些情况下,系统挂起一段时间后,有可能重又继续工作。Skyge HA 7.0可以准确的检测到一台主机系统挂起或死机的发生,并把服务切换到正常工作的主机上。为了监测对等主机的状态, Skyge HA 7.0集群在两台主机之间可以建立Skyge HA 7.0技术白皮书北京神州天勤软件技术有限公司 - 9 -任意多条连接通路,这也被称为“心跳”(Heartbeat)。“心跳”方式为UDP/IP连接,可以使用多块网卡,在两台主机间建立多条点对点的 UDP/IP连接。使用多条连接,也就是利用冗余的硬件,提高主机间通讯的可靠性。只有当所有心跳
18、通路全部失败时,才认为两主机在通讯上失效,此时 Skyge HA 7.0会采取及时有效的应对措施。服务监测Skyge HA 7.0对于服务的状态也会定时进行监测,监测的时间间隔可由用户指定。Skyge HA 7.0提供一个“通用应用程序代理”,可以对各种服务进行一般性的监测。对于常用类型的服务,还有相应的“应用程序代理”可以实现具有针对性的服务监测功能。用户也可以自行编写应用程序代理,以满足特殊的需要。切换Skyge HA 7.0检测到一台主机上系统或服务的失败时,正常主机首先会建立 I/O屏障,保护共用存储设备上的数据不被失败节点修改。然后,会把故障主机上的服务切换到正常主机上,继续对外提供服务。可以把一个或多个 IP地址绑定在服务上,在服务切换时,IP 地址也随之切换到正常主机上,所以用户仅仅在服务切换的瞬间能感觉到极短时间的服务暂停。在服务切换的同时,如果故障主机上集群软件仍在运行,则在检测到 I/O屏障后,会把本机重启动,如果重启动后系统恢复正常,则重新加入集群,可以接管服务。这样,即使两台主机都发生故障,只要不在同一时刻发生,集群仍可保证提供服务。