Turbolinux TurboHA6.5 User Guide

TurboHA6.5
用户手册
版权所有 (c) 2005
北京拓林思软件有限公司
前言 .................................................................................................................1
TurboHA 的历史 ................................................1 本用户手册使用说明 .............................................1
第一章 TurboHA6.5 介绍...............................................................................2
1.1 TurboHA6.5 简介 ............................................2
1.2 应用支持 ...................................................2
1.3 TurboHA6.5 技术特点 ........................................3
1.3.1 支持磁盘镜像功能......................................3
1.3.2 提供多种类型的磁盘阵列支持............................3
1.3.3 多种硬件心跳保证系统一致性............................3
1.3.4 支持 STONITH 技术....................................4
1.3.5 支持Watchdog Timers .................................4
1.3.6 智能的服务回迁以及多服务的负载分担....................4
1.3.7 可以检测更多的故障....................................4
1.3.8 应用程序代理检查......................................5
1.3.9 应用程序代理 API......................................5
1.3.10 图形管理工具 ........................................5
1.3.11 更好的日志文件系统支持 ..............................5
1.3.12 更详细的系统故障日志信息 ............................6
1.4 TurboHA6.5 的使用限制 ......................................6
1.5 TurboHA6.5 的相关术语 ......................................7
第二章 硬件安装和操作系统的配置 .............................................................10
2.1 选择硬件配置 ..............................................10
2.1.1 集群硬件表...........................................14
2.1.2 最低集群配置举例.....................................20
2.1.3 无单点故障配置举例...................................22
2.2 集群系统的设置步骤 ........................................24
2.2.1 安装基本系统硬件.....................................25
2.2.2 安装控制台交换机.....................................27
2.2.3 安装网络交换机或集线器...............................28
2.3 安装和配置 Linux 发行版 OS .................................28
2.3.1 安装 Turbolinux Server OS.............................29
2.3.2 编辑/etc/hosts 文件 ...................................30
2.3.3 显示控制台启动信息...................................31
2.3.4 确定内核中已配置的设备...............................34
2.4 安装和连接集群硬件的步骤 ..................................35
2.4.1 配置心跳通道.........................................36
2.4.2 配置电子开关.........................................37
2.4.3 配置 UPS 系统 .......................................39
2.4.4 配置共享磁盘存储器...................................41
2.4.4.1 设置多启始端 SCSI总线 .........................46
  I 
2.4.4.2 设置单启始端 SCSI总线 .........................49 2.4.4.3 设置单启始端光纤通道互连 ......................52 2.4.4.4 创建文件系统 ..................................53
2.4.5 配置磁盘镜像存储器...................................54
第三章 安装 TurboHA6.5.............................................................................55
3.1 安装 TurboHA6.5...........................................55
3.1.1 确认您所使用的 TurboHA6.5 产品的类型.................55
3.1.2 安装 TurboHA6.5 .....................................55
3.1.3 安装 guiadmin 客户端 .................................57
3.2 注册 TurboHA6.5...........................................58
3.3 升级 TurboHA..............................................62
3.3.1 TurboHA 6.0 6.5 的升级 .........................62
3.3.2 TurboHA 6.5 的升级...................................62
第四章 卸载 TurboHA6.5.............................................................................64
4.1 卸载 TurboHA6.5...........................................64
4.2 卸载 drbd..................................................65
4.3 卸载 guiadmin 客户端 .......................................66
第五章 配置 TurboHA6.5.............................................................................67
5.1 member_config 工具说明 ....................................67
5.2 配置 TurboHA6.5...........................................68
5.2.1 选择其中一节点进行初始化配置.........................68
5.2.2 在对方节点上同步配置.................................75
5.2.3 利用备份的配置文件配置 TurboHA6.5 ...................75
5.3 运行 TurboHA6.5...........................................76
5.4 停止 TurboHA6.5...........................................77
第六章 配置和管理工具说明........................................................................78
6.1 cluadmin 工具 ..............................................78
6.2 guiadmin 工具 ..............................................85
6.2.1 guiadmin 介绍 ........................................85
6.2.2 guiadmin 模块介绍 ....................................86
6.2.3 登陆密码的设定 .......................................88
第七章 配置和管理 TurboHA6.5 的服务.......................................................89
7.1 配置服务前的准备工作 ......................................89
7.1.1 收集服务信息.........................................89
7.1.2 创建服务脚本.........................................91
7.1.3 应用代理 API.........................................96
7.1.3.1 检测脚本 ......................................97 7.1.3.2 TurboHA6.5提供的代理 .........................99
7.1.4 配置服务的磁盘存储设备..............................100 7.1.4.1 配置共享磁盘设备 .............................101 7.1.4.2 配置磁盘镜像设备 .............................101
7.2 用文本工具 cluadmin 配置和管理服务 ........................110
7.2.1 添加服务............................................110
7.2.2 显示服务配置........................................117
  II 
7.2.3 修改服务............................................119
7.2.4 删除服务............................................120
7.2.5 禁用服务............................................120
7.2.6 启用服务............................................121
7.2.7 切换服务............................................122
7.3 用图形工具 guiadmin 配置和管理服务 ........................122
7.3.1 添加服务............................................124
7.3.1.1 添网络数据(Service Network Data).............127 7.3.1.2 修改网络数据(Service Network Data)...........128 7.3.1.3 添加服务的设备数据 ...........................129 7.3.1.4 修改服务的设备数据 ...........................129 7.3.1.5 查看服务的 Nbd设备数据 .......................130
7.3.2 显示服务配置........................................130
7.3.3 修改服务............................................130
7.3.4 删除服务............................................130
7.3.5 禁用服务............................................130
7.3.6 启用服务............................................131
7.3.7 切换服务............................................131
7.4 配置典型应用的服务 .......................................131
7.4.1 配置 Oracle 服务.....................................131
7.4.2 配置 MySQL 服务 ....................................141
7.4.3 配置 DB2 服务.......................................150
7.4.4 配置 Apache 服务....................................158
7.4.5 配置 Domino 服务....................................168
7.4.6 配置 Informix 服务 ...................................174
7.4.7 配置 Sybase 服务....................................179
7.4.8 配置Websphere 服务 ................................184
7.5 处理错误状态下的服务 .....................................189
第八章 集群管理........................................................................................192
8.1 使用文本界面进行集群管理 .................................192
8.1.1 显示集群和服务的状态................................192
8.1.2 启动和停止集群软件..................................197
8.1.3 修改集群配置........................................198
8.1.4 备份和恢复集群数据库................................198
8.1.5 修改集群事件日志....................................199
8.1.6 更新集群软件........................................201
8.1.7 重新加载集群数据库..................................202
8.1.8 修改集群名称........................................203
8.1.9 重新初始化集群......................................203
8.1.10 删除集群中的成员 ..................................204
8.1.11 修改集群 watchdog 的超时时间 .......................205
8.1.12 修改集群的心跳属性 ................................205
8.1.13 修改集群告警邮件属性 ..............................207
8.2 使用图形界面进行集群管理 .................................208
  III 
8.2.1 显示集群和服务的状态................................208
8.2.2 如何在集群系统上运行 guiadmin.......................209
8.2.3 如何从远程系统上运行 guiadmin.......................209
8.2.4 配置、修改心跳(heartbeat)参数 .....................210
8.2.5 配置、修改集群进程日志级别..........................210
8.2.6 配置、修改邮件提示参数..............................211
8.2.7 配置、修改 watchdog 信息 ............................212
8.2.8 显示节点的配置信息..................................212
第九章 集群的维护 ....................................................................................214
9.1 TurboHA6.5 的日志信息 ....................................214
9.2 Log 收集工具的使用方法....................................214
9.3 FAQ......................................................216
9.4 诊断和纠正集群中的故障 ...................................220
9.5 联系拓林思软件有限公司 ...................................223
附录 A 补充硬件信息.................................................................................224
A.1 设置 Cyclades 终端服务器..................................224
A.1.1 设置路由器的 IP 地址 ................................225 A.1.2 设置网络和终端端口参数 .............................227 A.1.3 配置 Turbolinux,以向控制台端口发送控制台信息 .......232
A.1.4 连接到控制台端口 ...................................234 A.2 设置 RPS-10 电子开关 .....................................235 A.3 SCSI 总线配置要求 ........................................236
A.3.1 SCSI 总线终端.......................................238
A.3.2 SCSI 总线长度.......................................240
A.3.3 SCSI 标识号.........................................240
附录 B 补充软件信息.................................................................................242
B.1 集群通信机制.............................................242 B.2 集群守护进程(Daemon) .................................243 B.3 故障切换和恢复情形.......................................244
B.3.1 系统挂起(Hang)...................................244
B.3.2 系统紧急(Panic) ..................................245
B.3.4 网络连接完全故障 ...................................245
B.3.5 远程电子开关连接故障 ...............................246
B.3.6 集群 Daemon 故障...................................246 B.4 集群数据库选项...........................................246 B.5 磁盘镜像配置.............................................248
B.5.1 介绍 ...............................................248
B.5.2 兼容性 .............................................250
B.5.3 Linux kernel2.4 版本 drbd 的配置文件...................250
B.5.4 Linux kernel2.6 版本 drbd 的配置文件...................252
B.5.5 drbd 的启动和停止 ...................................255
B.5.6 Linux kernel2.4 版本/proc/drbd.........................255
B.5.7 Linux kernel2.6 版本/proc/drbd.........................256
B.5.8 有关 drbd Q&A....................................258
  IV 
B.6 调整 Oracle 服务 ..........................................259
  V 
TurboHA6.5 用户手册    
前言
TurboHA的历史
TurboHA6.5是北京拓林思软件有限公司推出的、为满足Linux平台电信级和企 业级应用的高可用产品。TurboHA6.5提供的双机高可用方案能够更好的满足用户 业务的连续性,并且能够满足不同应用对高可用的要求。
2001年以来,北京拓林思软件有限公司先后推出了两个系列的HA产品: TurboHA6.0TurboHA6.5TurboHA6.5 是TurboHA6.0的升级版,于 2004 年7 月发布。TurboHA6.5提供更好的可靠性、更高的性价比、更好的易用性和可管理 性,完全满足企业级应用所要求的RASM(Reliability、Availability、Scalability、
Manageability)特性。同时TurboHA6.5支持磁盘镜像功能,使得用户应用和 TurboHA6.5软件可以不需要磁盘阵列来提供高可用服务。
TurboHA6.5可支持Turbolinux发布的所有操作系统平台(TDS7.0、TELS8.0 TDS7.1、TDS10),由于TurboHA6.5可以和Turbolinux操作系统更好的配合,使
得从操作系统到TurboHA6.5软件构建的高可用解决方案更加的可靠,并广泛服务 于电信、银行、政府等行业客户。
本用户手册使用说明
TurboHA6.5 用户手册》是帮助用户了解、使用和维护TurboHA6.5 的文档 手册,文档中详细阐述了TurboHA6.5的技术特点、系统软硬件环境、安装、配置、 管理、维护、FAQ 等各个方面。
如果用户第一次使用 TurboHA6.5,建议仔细阅读本手册,以便于对 TurboHA6.5进行详细的了解。
如果用户已经对TurboHA6.5 有所了解,可以直接阅读《TurboHA6.5 快速安 装文档》进行安装配置。
  1 
TurboHA6.5 用户手册    
第一章 TurboHA6.5介绍
1.1 TurboHA6.5简介
TurboHA6.5是专注于Linux上的高可用性产品,提供高可用性的双机集群系 统。当集群中的某个节点由于软件或硬件原因发生故障时,集群会利用资源切换的 方法保证整个系统继续对外提供服务,从而为企业 24x7的关键业务应用提供了强 大的保障。TurboHA6.5提供对各种应用程序的支持,包括各种数据库应用、WEB 应用、Mail应用等等。而其简便的安装和设置、详细的日志信息,减轻了用户日常 的维护工作,其中跨平台的远程管理和监控使得系统具有更灵活的特性。此外, TurboHA6.5同时提供图形化界面和命令行界面两种配置管理工具,使得系统管理 员的操作和管理更加方便。
1.2 应用支持
当我们通过硬件(服务器、交换机、电子开关等)和软件(操作系统平台、HA 系统软件、应用软件等)搭建一个高可用群集环境的时候,首先我们需要明确的是, 高可用系统软件能否支持和管理我们的应用程序。TurboHA6.5 能够支持绝大多数Linux环境下的应用程序,支持的典型应用程序类型如下:
Ø 通用的,无需修改的应用程序:TurboHA6.5支持大多数Linux平台的应用程
序,这些应用大多数是能够接受几秒种的停机时间的业务。
Ø 数据库应用:TurboHA6.5能够很好的支持各种数据库产品,包括Oracle
8i/9i/10gMySQLSybaseIBM DB2数据库。
Ø 各种文件服务:TurboHA6.5能够为各种类型的文件服务提供高可用集群功
能,如NFSSMB/CIFS (使用Samba)
Ø 主流的商业应用软件:TurboHA6.5能够很好的支持主流的商业应用软件,
SAPOracle Application ServerTuxedo
Ø 互联网和开放源代码的应用:TurboHA6.5可以很好的支持各种流行的互联
网应用软件和各种开放源代码产品,如ApacheWu-ftpVSFTP等。
  2 
TurboHA6.5 用户手册    
Ø 邮件服务软件:如SendmailDomino
1.3 TurboHA6.5技术特点
1.3.1 支持磁盘镜像功能
磁盘镜像功能,是一种不需要磁盘阵列的双机数据共享方案。它的基本原理 是通过对两个节点各自的本地磁盘分区进行实时镜像操作,使得这两个本地磁盘 对双方节点而言,可以当作一个虚拟的共享磁盘设备来使用,这个虚拟的 RAID-1 级别的共享磁盘设备,能够作为应用的共享设备,既可以当作共享的裸设备来使 用,也可以在其上创建各种 Linux 文件系统。TurboHA6.5 本身提供磁盘镜像功 能,使得共享数据的应用不需要磁盘阵列也能够搭建双机高可用方案。
1.3.2 提供多种类型的磁盘阵列支持
对于需要磁盘阵列的一些应用,如数据库应用等,需要专业的硬件磁盘阵列 来保证性能。而 TurboHA6.5 能够支持绝大多数的磁盘阵列设备。
目前业界使用的磁盘阵列时,一般分两种情况:第一种是带独立 RAID 处理 器的磁盘阵列,主流厂商的 SCSI 或光纤磁盘阵列都可以适用于 TurboHA6.5 的 要求。第二种是使用主机 RAID 卡和磁盘柜(磁盘柜是指不具备硬件 RAID 处理 器的磁盘盒)的方式,这种磁盘设备通过双机的硬件 RAID clustering 技术和 RAID 的用户接口工具等,也可以满足 TurboHA6.5 的共享数据存取的需求,常 见的这种类型的“磁盘阵列”的典型产品有 IBM EXP400DELL 220SHP MSA500-G2 等。
1.3.3 多种硬件心跳保证系统一致性
TurboHA6.5 同时支持直连网线和串口的方式来同步 HA 两个节点之间的心 跳信息。可同时支持多条直连网线和串口线作为 Channel,提供更高可靠性的硬 件冗余方式,以保证两个节点之间不会发生 Split-brain 现象,即使两节点之间的 Channel 都发生故障,TurboHA6.5 还可以通过第三方参考 IP 的方式,保证两个 节点系统的一致性。
  3 
TurboHA6.5 用户手册    
1.3.4 支持 STONITH技术
stonith(shut the other node in the head),就是把故障节点重启,以保证资 源被完全释放。stonith 的方式有两种,一种是通过电子开关(power switch)来重 启对方;(另外一种是通过网络发送命令来重启对方。但是后者通常不起作用)。 有一些厂家的服务器有类似的管理界面(一种硬件设备),也可以用来作为stonith 的工具,比如IBM xServer的RSA(Remote Supervisor Adapter)和Intel 的IPMI, TurboHA6.5 也可以支持。
1.3.5 支持 Watchdog Timers
TurboHA 支持三种类型的看门狗定时器为系统提供了一个稳健的 I/O barrier。最简单的就是 Linux 内核自带的通过中断处理来实现的软件 softdog 时器,它被 TurboHA 用来控制后台程序的执行。
Linux 内核也支持一种硬件 NMI (non-maskable interrupt) 看门狗,这种硬
件看门狗通常需要专门服务器硬件支持 (常用的是主板上的 Intel 810 TCO 芯片 组)。NMI 看门狗在没有检测到一个稳定正常的中断发生时就会触发节点服务器 的重启动。
最后一种,就是传统的硬件看门狗定时器,它是一种 PCI 设备,在市面上 很常见。当 PCI 设备的驱动没有正常的复位时,它就会强迫系统关闭或重启。
1.3.6 智能的服务回迁以及多服务的负载分担
TurboHA6.5 支持优先节点的设置,可以把一些服务设定到指定的优先节点, 当优先节点故障时,服务切换到另一个节点,而当优先节点又恢复时,服务会自 动迁移到优先节点。这样可以让多个服务分别运行在两个节点上,使得服务的负 载可以分担到两个节点上。
1.3.7 可以检测更多的故障
TurboHA 6.5 能够检测更多的系统故障,从而增强了高可用性集群所提供 的可靠性。 Ø 系统故障: 硬件错误
  4 
TurboHA6.5 用户手册    
Ø 系统紊乱: 统软件错误 Ø 存储不可访问: 存贮错误 Ø 网络断开: 网络错误 Ø 集群进程故障: 集群软件错误 Ø 服务故障: 服务应用程序错误。
1.3.8 应用程序代理检查
TurboHA 6.5 通过使用应用程序代理检查某一服务是否运行。应用程序代 理用于定期检查某一服务是正常工作。如果服务没有正常运行,则相应地触发一 次切换,使服务在另一节点被恢复。TurboHA 6.5 提供所有用于常用服务的应用 程序代理,对于自身没有应用程序代理程序的服务则可以使用 TurboHA 6.5 提 供的通用代理。请同时参见本文中的“应用程序代理 API”一节。
1.3.9 应用程序代理 API
应用程序代理 API 是一种在应用程序代理或服务检查程序和 TurboHA 服务 进程之间的接口,在 TurboHA 6.5 用户手册中有详细介绍。按照此接口的规范, 您可以为您的特定服务编写定制的应用程序代理。编写定制的应用程序代理的好 处在于它可以为应用程序提供更精确的服务检查以及更快的切换。
1.3.10 图形管理工具
TurboHA 6.5 通过提供基于Java 技术的图形管理工具而改善了集群的可管 理性。支持本地和远程的监控和管理,支持 Linux/Windows 客户端的管理。
利用所提供的图形管理工具,可以方便地进行配置更改和状态监测。除了提 供图形管理工具外,TurboHA 6.5还提供有功能同样强大的命令行配置和监控管 理工具。
1.3.11 更好的日志文件系统支持
TurboHA 6.5 支持与日志文件系统诸如 Reiser Ext3 等的协同工作。这些 日志文件系统特别适用于 TurboHA 6.5, 因为它们消除了诸如 Ext2 等文件系统 中所化费的耗时的文件系统检查从而减少了切换时间。当系统装载时,日志文件
  5 
TurboHA6.5 用户手册    
系统仅仅要求恢复其日志。当一种日志文件系统被用于共享存贮时,TurboHA
6.5 能够自动地进行确认,跳过不需要的 FSCK 文件系统检查,并立即装载文件 系统用于文件系统日志的恢复。
1.3.12 更详细的系统故障日志信息
TurboHA 6.5 采用的日志函数和 Linux syslogd 是一样的方式,在两个节 点均有记录,每个守护进程都有自己的日志级别,可以在配置文件中指定。每一 条记录的信息,包括有时间、日志级别、进程名称、进程 id、消息等内容,这样 可以方便用户进行应用故障现场的保护以及故障后的分析定位。同时日志的级别 可以动态进行设置调整,以根据实际需要调整输出日志的信息内容。默认情况下, 系统已经将日志级别设置成较为详细的信息输出,包括 HA 启动、停止过程,
HA 事件触发原因,服务故障原因,服务切换过程,服务手动操作记录等。同时 TurboHA6.5 还提供日志收集工具,自动收集系统以及 HA 相关信息,以便于更 方便的进行故障定位。
1.4 TurboHA6.5的使用限制
² TurboHA6.5 只支持主流 Linux 平台的双节点高可用。 ² TurboHA6.5 暂不支持并行处理的应用。也就是说不支持同一个应用在两个
节点同时并发运行的应用。例如:Oracle 9i RAC
² TurboHA6.5 的稳定性需要 OS 提供支撑。如果当操作系统宕机时,可能会
出现因 OS 没有彻底释放资源而导致 HA 系统丧失高可用功能。在这种情况 下,除非有额外的硬件设备,否则TurboHA6.5 并不能够完全保证能够自动 恢复操作系统。此时需要用户手工干预操作系统,对崩溃的操作系统进行复 位操作。也就是说,当 OS 宕机时(尽管这种可能性很小),如果用户没有 以下硬件作为保障,仍然有可能会出现用户业务中断的可能:
1)采用电子开关。 2)服务器节点采用支持硬件 watchdog 功能的主板。
² 配置 TurboHA6.5 的两台计算机节点的心跳方式时,必须保证至少一条心跳
通道正常工作。如果两台节点之间的所有心跳通道都发生故障而不能正常连
  6 
TurboHA6.5 用户手册    
通,有可能会导致 TurboHA6.5 发生裂脑(split-brain),发生裂脑后, TurboHA6.5 有可能会导致用户的资源不一致。为了完全杜绝裂脑现象的发 生,可以采取如下方法:
1 采用电子开关。 2 使用第三方参考 IP,有关第三方参考 IP 的介绍将在第三章详述。
其中第一种办法是使用硬件的办法,由于电子开关是额外的电子硬件 设备,需要用户自行购买,所以实际中采用这种方式并不多;而第二种方 式是软件的方法,可以保证 TurboHA6.5 发生裂脑时,用户的资源不受损 失,但是需要用户提供另一个永久性正常工作的参考性 IP 地址。
1.5 TurboHA6.5的相关术语
节点 : 指运行TurboHA6.5 程序的计算机。
服务 : 也叫做资源组,指用户应用相关的一组资源的集合,包括用户应用的 进程资源,磁盘资源,网卡资源,浮动IP 资源,drbd 镜像资源等。服务可以是其 中几种资源或者全部资源的组合。服务也可以为空,即不包括任何资源。通常用户 的一个应用与TurboHA6.5 的一个服务对应。
主节点 : 指服务运行所在的节点。
备节点 : 指完全没有服务运行的节点。如果主节点发生任何故障,服务就会 从主节点迁移到备节点。此时的备节点也就转变成主节点,此前的主节点也就转变 成备节点。
主备方式 常见的主备方式有Active-Standby、Active-Active。Active-Standby 是指服务仅在一个节点上运行。Active-Active是指在两个节点都有服务运行。也就 是说,Active-Active 方式时都是主节点,也都是备节点,互为主备关系。
优先节点(preferred node): 指服务将优先运行的节点。当配置一个服务时, 可以给这个服务设定优先节点。一般有两种情况建议配置优先节点,一种情况是当 两个服务器节点的硬件配置不一样时,应当将服务的优先节点设定为硬件配置较好 的节点;另一种情况是当需要配置多个服务且应用的负载较重,而且希望两个服务 分别在两个节点上运行以分担负载时,可以给这两个服务分别各设定一个节点作为 优先节点。
  7 
TurboHA6.5 用户手册    
例如:假设服务s 配置的优先节点是节点A,并且将服务s A 节点启动,当 A 节点发生故障时,服务s 会迁移到B 节点,后来当A 节点恢复之后,服务s 会因A 节点设置成优先节点而自动回迁移到A 节点。
当然,配置优先节点带来的弊病是,会导致服务多迁移一次。
服务的迁移(relocate): 是指服务在一个节点发生故障之后,服务先在故障 节点进行服务的停止以释放服务的所有资源,然后在另一节点启动服务,使服务继 续可用的过程。
服务迁移的时间 :是指服务不可用的时间,也就是服务正在恢复之中但尚不可 用的时间段。
例如:服务在A 节点发生故障的时刻为T(a),服务自动迁移到B 节点并在B 节点成功运行的时刻为T(b),那么服务的迁移时间T(relocate)=T(b)-T(a)。另一方面, 从整个迁移的子过程来看,服务迁移的时间(近似等于)≈服务在A 节点检测到错 误的时间+服务在A 节点停止的时间+服务在B 节点启动的时间。其中,服务的启 动/停止时间是由用户的应用来决定的,一般不能够进行调整,而服务检测到错误的 时间可以通过TurboHA的配置参数来进行调整。
服务检测到错误的时间 = 服务检查的间隔时间(check interval) * 服务连续 检查到错误的次数(check count)。Check interval 和 check count参数可以在配 置服务的检测脚本时进行指定。这样,只有当TurboHA检测到连续出错次数达到指 定的次数后,TurboHA才认为服务确实出错。服务确实出错后,会自动触发TurboHA 进行服务的迁移。
裂脑(split-brain): 所谓裂脑,是指HA的节点之间彼此失去了联系,但是 单个节点的HA 仍然运行正常。发生裂脑的充要条件是:1. HA 的两个节点之间的 所有心跳通道都发生了故障,导致HA 的两个节点失去了任何联系。2. 两个节点的 HA软件正在正常运行。
裂脑带来的直接后果是导致两个节点都会各自启动并运行同一个服务,竞争同 一个服务的资源,这样有可能会导致资源(尤其是共享数据)被损坏。
drbd(磁盘镜像设备) : 是指对两个节点各自大小相同的本地磁盘分区进行 实时镜像操作,使得这两个本地磁盘对双方节点而言,可以当作一个虚拟的共享磁
  8 
TurboHA6.5 用户手册    
盘阵列来使用,这个虚拟的共享磁盘阵列就叫做 drbd设备,可以把drbd当作普通 的磁盘设备来使用。
Watchdog(看门狗) Watchdog分为硬件级和软件级两种。硬件级watchdog 是用来保障操作系统自动恢复的一种手段,如果服务器节点的主板支持watchdog 功能,那么在TurboHA6.5 中可以进行相应的配置,当操作系统发生死机等不响应 情况,主板就会将操作系统自动重启恢复,而无需人工干预,这一点对于“24 * 7” 方式运行的服务器而言非常有用。而软件级的watchdog可以用来保证TurboHA程 序的健壮性但并不能保障操作系统的自动重启恢复。所以硬件级的watchdog更加 实用。
  9 
TurboHA6.5 用户手册    
第二章 硬件安装和操作系统的配置
设置硬件配置和安装 Linux 发行版时需按以下步骤操作:
1. 选择满足您的应用要求和用户要求的集群硬件配置。
2. 设置并连接集群系统和可选的控制台交换机、网络交换机或网络集线器。
3. 在集群系统节点上安装和配置 Turbolinux 操作系统。
4. 设置其余的集群硬件组件,并将其连接到集群系统。
在设置硬件配置和安装 Linux 发行版之后,您就可以安装集群软件了。
2.1 选择硬件配置
TurboHA 6.5 允许您使用商用软件来设置集群配置,以满足您的应用和用户 对性能、可用性和数据完整性的要求。可供选择的硬件范围很广,从低成本的最 低配置(只包括运行集群所需的组件)到高端配置(包括冗余心跳通道、硬件 RAID 和电子开关)一应俱全。
无论您使用那种配置,都需要在集群中使用高质量的硬件,因为硬件故障往 往是造成系统停机的主要原因。
尽管所有的集群配置都提供一定的可用性,但有些配置能够避免所有的单点 故障。此外,所有的集群配置都提供数据完整性,但有些配置可以提供任何故障 情形下的数据保护。因此,您必须完全了解自己计算环境的需求和不同硬件配置 的数据完整性特性,以选择符合要求的硬件。
在选择集群硬件配置时,需要考虑以下几个方面:
您的应用和用户的性能要求
  10 
选择一种可提供足够内存、CPU I/O 资源的硬件配置,还应确
保该配置可以满足未来工作负载增长的需要。
成本限制
您所选择的硬件配置还必须能够满足预算要求。例如,具有多个 I/O 端口的系统通常比扩展能力较低的低端系统更为昂贵。TurbHA 6 支持 一整套存储设备,从单磁盘到多端口、独立式 RAID 控制器无所不包。
可用性要求
如果您的计算环境需要最高的可用性(如生产环境),那么您可以 设置能够防范所有单点故障(包括磁盘、存储互连、心跳通道和电源故
TurboHA6.5 用户手册    
障)集群硬件配置。对于那些可容忍可用性出现中断的环境而言(如开 发环境),可能不需要这样的保护。请参见配置心跳通道配置 UPS
系统配置共享磁盘存储器,了解关于使用冗余硬件实现高可用性的更
多信息。
在所有故障条件下保持数据完整性。
在集群配置中使用电子开关可确保服务数据能够在各种故障条件 下得到保护。电子开关可在故障切换过程中,在重启另一个集群系统的 服务之前,先对该集群系统进行加电重启。电子开关可以防止未响应系 统(“挂起”)在服务故障切换后恢复响应(“解除挂起”)时可能引 起的数据损坏,并对已从另一个集群系统(服务节点)中接收 I/O 的磁 盘做 I/O 操作。
如果存储设备支持 SCSI 保留命令,那么集群还可使用 SCSI 保留 来提供故障条件下的数据保护。通过使用 SCSI 保留,系统可以阻止另 一个系统访问存储器,直至另一个系统重启并进入已知状态为止。
如果未使用电子开关,也不支持 SCSI 保留,那么集群将通过一种 “软件重启动”机制来提供数据完整性。“软件重启动”依靠故障系统
  11 
TurboHA6.5 用户手册    
对网络信息的响应功能。如果未通过网络收到通知,则不发生故障切换。 通过支持无电子开关和无 SCSI 保留型配置,TurboHA6.5 可以支持所 有不同类型的共享存储器。您可以灵活地选择最佳的解决方案,来满足 您对价格、数据完整性和可用性方面的要求。
最低硬件配置仅包括集群操作所需的硬件组件,具体如下:
两台运行集群服务的服务器
提供心跳通道和客户机网络访问的以太网连接
请参见最低集群配置举例查看这种类型的硬件配置。
最低硬件配置是最为经济高效的一种集群配置;但是它会出现多种单点故 障。比如,如果网络连接中断,两个集群节点不能互相通信,那么就不能通过网 络实现服务。此外,最低配置中也不包括电子开关,后者可以防范任何故障条件 下的数据损坏。因此,只有开发环境适合使用最低集群配置。
为提高可用性和防范组件故障,以及确保各种故障条件下的数据完整性,您 可以适当扩展最低配置。下表描述了您可以如何提高可用性和确保数据完整性:
防范目标 采取措施
磁盘故障 使用硬件 RAID 在多个磁盘间复制数据
存储互连故障 使用带有多条 SCSI 总线或光纤通道互连的 RAID 阵列配置
RAID 控制器故障 使用双 RAID 控制器提供到磁盘数据的冗余访问能力
心跳通道故障 在集群系统间建立点对点以太网或串行连接
电源故障 使用冗余不间断电源(UPS)系统
所有故障情况下的数据损坏 使用电子开关或 SCSI保留命令
1.对策
  12 
TurboHA6.5 用户手册    
无单点故障硬件可在任何故障情况下确保数据的完整性,其配置包括以下组
件:
两台服务器:运行集群服务
系统间的以太网连接:提供心跳通道和客户机网络接入
双控制器 RAID 阵列,用以复制服务数据;应支持 SCSI 保留命令,这样
即无需使用电子开关。
两个电子开关,可使两个集群系统在故障切换过程中互相重启电源。
集群系统间的点对点以太网连接,负责提供冗余的以太网心跳通道。
集群系统间的点对点以太网连接,负责提供串行心跳通道。
两套 UPS 系统,负责提供高可用性电源。
关于此类硬件配置的举例,请参见无单点故障配置举例
集群硬件配置还包括其它计算环境中常见的可选硬件组件。例如,您还可以 添加网络交换机或网络集线器和控制台交换机,前者可以将集群系统连接到网 络,后者可简化多系统的管理,使您无需为每个集群系统单独配备监视器、鼠标 和键盘。
终端服务器是一类控制台交换机,通过它您可以连接到串行控制台并远程管 理多个系统。或者为了经济考虑,您可以使用 KVM(键盘、显示器和鼠标)交 换机,在多个系统之间共享一套键盘、监视器和鼠标。KVM 交换机适合于通过 图形化用户界面(GUI)执行管理任务的配置情形。
选择集群系统时,要确保它配有所需的 PCI 插槽、网络插槽、和硬件配置 所需要的串行口插槽。比如:无单点故障配置需要多个串行口和以太网端口。所 选的集群系统最好有两个以上的串行口。更多详情,请参见安装基本系统硬件
  13 
TurboHA6.5 用户手册    
2.1.1 集群硬件表
使用以下列表,确认集群配置所需的硬件组件。虽然在某些情况下集群可以 和其它产品一起使用,但我们仍要在列表中列出经过集群测试的专用产品。
硬件 数量 说明 要求
集群系统
2
TurboHA 6.5 支持 IA-32 硬件平台集群系统必须提供
足够的集群硬件配置所需的 PCI 插槽、网络插槽和串 行口。在每个集群系统中,磁盘设备的名称必须一致, 所以推荐使用具有相同 I/O 子系统的系统。另外,推 荐使用 CPU 速度为 450 Mhz ,内存为 256 MB 的系 统。详见安装基本系统硬件
2. 集群系统硬件
硬件 数量 说明 要求
电子开关
2
电子开关能让每个集群系统对其它集群系统进行重 启电源。推荐使用RPS-10 电子开关(美国为 M/HD 模 式 , 欧 洲 为 M/EC 模 式 ) , 可 从
www.wti.com/rps-10.htm 获得。关于如何在集群中 使用电子开关,请参见配置电子开关
空 调 制 解 调器线缆
加载托架
2
直接串行口线缆用于连接集群系统的串行口和电子 开关。这种串行连接可以让每个集群系统都能对另 一个系统重启电源。有的电子开关需要不同的线缆。
1
部分电子开关支持机架安装式配置。 只有使用机架
3. 电子开关硬件
  14 
只有使用电子 开关时才需要
安装式电子开 关时才需要
TurboHA6.5 用户手册    
硬件 数量 说明 要求
外部磁盘存 储附件
1
对于生产环境,我们推荐使用单启始端 SCSI 总线或单启始端光纤通道互连来连 接集群系统和单控制器(或双控制器) RAID 阵列。如果要使用单启始端总线或 互连, RAID 控制器必须有多个主机端 口,并能同时访问主机端口的所有逻辑单 元。如果某个逻辑单元能在两个控制器之 间进行故障切换,则该过程对操作系统必 须是透明的。
对于开发环境来讲,您可以使用多启始端 SCSI 总线或多启始端光纤通道互连来连 接集群系统和 JBOD 存储附件;单端口
否。但为了确保数据完 整性,强烈推荐使用。 如果有该硬件,我们推 荐采用 SCSI 保留支 持,将其作为最简单的 故障切换并保障数据 完整性的解决方案。
主机总线适 配器
2
RAID 阵列、或 RAID 控制器不能访问存
储附件端口上的所有逻辑端口。
您不能在集群中使用基于主机的产品、基 于适配器的产品或软件RAID 产品,因为 这些产品通常不能很好地配合多系统接 入共享存储器。
详见配置共享磁盘存储器
如果要连接共享磁盘存储器,您必须在每 个集群系统的 PCI 插槽中安装一个并行 SCSI 或一个光纤通道主机总线适配器。
对于并行 SCSI 来讲,可以采用低电压差
只有采用了外部磁盘 存储附件时才需要
分(LVD)主机总线适配器。适配器带有
  15 
TurboHA6.5 用户手册    
硬件 数量 说明 要求
HD68 VHDCI 连接器。如果您需要支 持热插拔功能,就必须禁用主机总线适配 器的板载终端。推荐使用的并行 SCSI 主 机总线适配器有:
Adaptec 2940U2W2916029160LP 39160 3950U2
采用英特尔 L440GX+主板的 Adaptec AIC-7896
SCSI 线缆
2
Qlogic QLA1080 QLA12160
Tekram Ultra2 DC-390U2W
LSI Logic SYM22915
推荐使用的光纤通道主机总线适配器为 Qlogic QLA2200
关于设备特性与配置信息,请参见主机总
线适配器的特性与配置要求及自适应主 机总线适配器的要求
68 SCSI线缆将每台主机总线适配器 都连接到存储附件端口上。线缆带有
只用于并行 SCSI
HD68 VHDCI 接头。
外 部 SCSI LVD 主动式 终结器
2
如果要支持热插拔功能,请将一个外部的 LVD 主动式终结器连接到已禁用内部终 端的主机总线适配器上。这样,您就可以 在不影响总线操作的情况下,将适配器从
  16 
只有并行SCSI保留配 置才需要具备外部终 端热插拔功能
TurboHA6.5 用户手册    
硬件 数量 说明 要求
终结器上断开。终结器配有 HD68 VHDCI 接头。
我们推荐使用带有 HD68 接头的外部直 通式终结器。您可从通过以下途径得到:
Technical Cable Concepts Inc.350 Lear Avenue Costa Mesa California 92626714-835-1081)。
或者请访问 www.techcable.com 网站同 他们取得联系。部件说明和编号为:
TERM SSM/F LVD/SE Ext Beige 396868-LVD/SE
SCSI 终结器
光纤通道集 线器或交换 机
光纤通道线缆 2 到 6 光纤通道线缆用于将主机总线适配器连
2
1 2 除非您有带两个端口的存储附件,否则必
对于使用“out”端口并和单启始端SCSI 总线连在一起的 RAID 存储附件(如: Flashdisk RAID 磁盘阵列)来讲,要终 止总线,就得把终结器连接到“out”端 口上。
须配备光纤通道集线器或交换机。集群系 统中的主机总线适配器可直接连在不同 的端口。
仅在采用SCSI配置和 需要终止时使用。
仅当采用了某些光纤 通道配置时才需要。
仅当采用了光纤通道 接到存储附件端口、光纤通道集线器或光 纤通道交换机。如果采用了集线器或交换 机,则需要额外的线缆把集线器或交换机 连接到存储适配器端口。
4. 共享磁盘存储硬件
  17 
配置的时候才需要,
TurboHA6.5 用户手册    
硬件 数量 说明 要求
网络接口 每个网络连接 1个 每个 网络连接需要一个安装在集群系统上的
网络接口。有关在集群中使用该驱动的信息请 参见 Tulip 网络驱动器的要求
网络交换机或 集线器
网络线缆 每个网络接口
使用1 根网络线 缆
1
网络交换机或集线器可使您将多个系统连接
到某个网络上。
通用的网络线缆(比如,带有RJ45 连接器的 线缆)可将每个网络接口连接到某台网络交换 机或网络集线器上。
5. 网络硬件
硬件 数量 说明 要求
网络接口 每个通道 2个 每条以太网心跳通道需要两个集群系统上
各安装一个网络接口。
网络交叉线缆 每个通道使
1
网络交叉线缆可将一个集群系统上的某网 络接口直接连接到另一个集群系统上的对 应网络接口上,从而创建一条以太网心跳 通道。
6. 点对点以太网心跳通道硬件
只在冗余以太网 心跳通道时才需 要
  18 
TurboHA6.5 用户手册    
硬件 数量 说明 要求
串行卡 每个串行通
道使用 2
空 调 制 解 调器线缆
每个通道使 用 1
每个串行心跳通道在两个集群系统上各需要一个串 行口。您可使用多端口串行 PCI 卡来扩展串行口容 量。推荐您使用的多端口卡包括以下几种:
Vision Systems VScom 200H PCI 卡,它提供有两 个串行口,详情请访问 www.vscom.de(如欲了解 更多信息,请访问Vscom 多端口串行卡)。
Cyclades-4YoPCI+卡,它提供有四个串行口,详情 请访问 www.cyclades.com
空调制解调器线缆可将一个集群系统上的某个串行 口直接连接到另一个集群系统上的某个对应串行 口,从而创建一条串行心跳通道。
只 对 串 行 心 跳 通 道 要求
7. 点对点串行心跳通道硬件
硬件 数量 说明 要求
终端服务器
RJ45 DB9
1
一台终端服务器可帮助您从远程位置管理大量系 统。推荐您使用的终端服务器包括以下几种:
Cyclades 终端服务器, www.cyclades.com 上提 供。
NetReach Model CMS-16,由 Western Telematic公 司提供推,请访问 www.wti.com/cms.htm
2
RJ45DB9 交叉线缆将每个集群系统上的串行口连
只对终端服
交叉线缆
接到一个与之对应的 Cyclades 终端服务器上。其它 类型的终端服务器可能需要不同的线缆。
  19 
务器要求
TurboHA6.5 用户手册    
硬件 数量 说明 要求
网络线缆
KVM 1
1
网络线缆可将一台终端服务器连接到与之对应的网 络交换机或集线器上。
KVM 可使多个系统共享一套键盘、显示器和鼠标。 推荐您使用的 KVM Cybex Switchview,详情请访 问 www.cybex.com.。将系统连接到交换机的线缆取 决于 KVM 的类型。
8. 控制台交换机硬件
硬件
UPS 系统 1 或 2 个 不间断的电源(UPS)系统 可提供一种高可用
Quantity
说明 要求
性电源。最理想选择是将用于共享存储附件和
只对终端服 务器要求
强烈推荐您使用
两个电子开关的电源线连接到冗余 UPS 系统 上。此外,UPS 系统必须能在足够长的时间段 内提供电压。
推荐您使用的 UPS 系统是 APC Smart-UPS 1000VA/670W,由 www.apc.com 网站提供。
9. UPS 系统硬件
2.1.2 最低集群配置举例
下表中介绍的硬件组件可以用来设置最低集群配置(使用一条多启始端 SCSI 总线并支持热插拔功能)。这种配置不能保证所有故障条件下的数据完整 性,因为它不包含电子开关。注意,这只是一个配置范例;您可以使用其它硬件 设置一种最低配置。
  20 
两台服务器 每个集群系统包括以下硬件:
用于客户机访问的网络接口及以太网心跳通道
TurboHA6.5 用户手册    
两条带有 RJ45 接头的网 络线缆
网络线缆用于将每个集群系统上的网络接口连接到用于客户机 访问和以太网心跳的网络。
10. 最低集群硬件配置举例
下图显示了最低集群硬件配置,包括以上表格中提到硬件和多启始端 SCSI 总线,同样也支持热插拔。被圈住的“T”表示内部(板载)或外部 SCSI 总线 终止。“T”上画斜杠表示终止已经被禁止。
带有热插拔的集群硬件最低配置
  21 
TurboHA6.5 用户手册    
2.1.3 无单点故障配置举例
下面表格中的组件,用于设置无单点故障集群配置,它包括两个单启始端 SCSI 总线和电子开关,以保证在所有故障条件下数据的完整性。注意,下面只 是一个范例,您也可以使用其它硬件设置无单点故障配置。
两个服务器 每个集群系统包括以下硬件:
两个网络接口:
点对点以太网心跳通道客户机网络接入以及以太网心跳连接
3 个串行口:
把点对点串行心跳通道远程电子开关连接到终端服务器。
一个 Tekram Ultra2 DC-390U2W 适配器(终端已启用),用于共 享磁盘存储器连接。
一个网络交换机 使用网络交换机,您可以把多个系统连接到网络中。
一个 Cyclades 终端服 务器
3 条网络线缆 网络线缆可以把位于每个集群系统上的终端服务器和网络接口连接
2RJ45DB9 接头
的双绞线
一条网络双绞线 网络双绞线可以把两个集群系统的网络接口连接在一起,创建一条
使用终端服务器,您就可以在中心位置管理远程系统。
到网络交换机。
RJ45 接头到 DB9 接头的双绞线可以把每个集群系统的串行口连接 到 Cyclades 终端服务器。
点对点以太网心跳通道。
2 RPS-10 电子开 在重启服务之前,电子开关允许每个集群系统给对方集群系统重启
电源。每个集群系统的电源线要连接在自己的电子开关上。
  22 
TurboHA6.5 用户手册    
3 条直接串行口线缆 直接串行口线缆可以把每个集群系统的串行口连接到为其他集群系
统提供电源的电子开关上。通过这种连接,每个集群系统都能让对 方集群系统进行重启电源。
空调制解调器线缆可将一台集群系统的串行口连接到另一台集群系 统的响应串行口上,以此构成一个点到点的串行心跳通道。
带 双 控 制 器 的 FlashDisk RAID 磁盘 阵列
2 HD68 SCSI 线缆 HD68 线缆可把每个主机总线适配器都连接到 RAID 附件的“in”端
2 个终结器 连接 RAID 附件的每个“out”端口的终结器可以终止双方单启始端
冗余 UPS 系统 UPS 系统能提供高可用性电源。电子开关和 RAID 附件的电源线应
RAID 控制器可以防止磁盘和控制器发生故障。 RAID 控制器可 以向主机端口所有逻辑单元提供同时接入。
口,以构成两条单启始端SCSI 总线。
SCSI 总线。
接在两个 UPS 系统上。
11 无单点故障配置举例
下图为无单点故障硬件配置的一个例子。该配置中包含了上表中所描述的硬 件:两条单启始端 SCSI 总线以及在任何故障状态下都能保证数据完整性的电子 开关。
  23 
TurboHA6.5 用户手册    
无单点故障配置举例
2.2 集群系统的设置步骤
硬件组件识别完成以后,依照选择硬件配置中的说明来安装基本的集群系统 硬件,并将系统连接到可选控制台交换机和网络交换机(或网络集线器)上。请 遵循如下步骤:
1. 在两个集群系统中均安装所需的网络适配器、串行卡和主机总线适配器。 参见安装基本系统硬件,了解更多关于该步骤的相关信息。
2. 安装可选控制台交换机,并把它连接到每台集群系统上。参见安装控制台
交换机,了解更多关于该步骤的相关信息。
  24 
TurboHA6.5 用户手册    
如果您没有采用控制台交换机,那么将每台系统都连接到一个控制台终端 上。
3. 安装可选网络交换机或集线器,并使用网线将它连接到集群系统和终端服 务器上(如果可用的话)。参见安装网络交换机或集线器,了解更多关于 此步骤的相关信息。
如果您没有使用网络交换机或集线器,就用网线将每台系统和终端服务器 (如果可用的话)连接到网络上。
在完成上个步骤后,即可按照安装和配置 Linux 发行版的步骤的描述来安
Linux 发行版 OS
2.2.1 安装基本系统硬件
集群系统必须提供您应用程序所需的 CPU 处理能力和内存我们建议每套系
统至少应配备 450Mhz(或更高)CPU 256MB 内存。
此外,集群系统还必须提供您硬件配置所需的 SCSI 适配器、网络接口和串 行口。系统应配备一定数量的预装串行口、网络端口以及 PCI 扩展插槽。下表 将有助您确定自己的集群系统需要多大的容量:
集群硬件组件 串行口 网络接口插槽 PCI 插槽
远程电子开关连接(可选) 一个
到共享磁盘存储器的 SCSI 总线(可
每条总线
选)
提供客户机访问和以太网心跳通道的 网络连接
点对点以太网心跳通道(可选)
  25 
每条网络连接配备 一条
每条通道配备一条
配备一条
TurboHA6.5 用户手册    
集群硬件组件 串行口 网络接口插槽 PCI 插槽
点对点串行心跳通道(可选) 每条通道配备
一条
终端服务器连接(可选) 一条
12.集群硬件组件
大多数系统都至少具备一个串行口,最好选择具有两个以上串行口的系统。 如果您的系统具有图形显示功能,您可以将串行控制台端口用于串行心跳通道或 者电子开关连接。如果要扩展串行口容量,您可以使用具有多个串行口的串行 PCI 卡。
此外,您必须注意不要将本地系统盘和共享磁盘安装在同一条SCSI总线上。 要解决这一问题,您可以使用双通道 SCSI 适配器(如 Adaptec 3950-系列串行 卡),将内部设备安装在其中一条通道上,将共享磁盘安装在另一条通道上,或 者您也可使用多个 SCSI 接口卡。
具体安装细节请请参见厂商提供的系统文档。关于如何在集群中使用主机总 线适配器、多串行口卡以及 Tulip 网络驱动程序,请请参见补充硬件信息
下图显示了集群系统的样板机房以及标准集群配置的外部电缆连接。
  26 
TurboHA6.5 用户手册    
标准集群系统的外部电缆连接
2.2.2 安装控制台交换机
虽然集群操作不是必须都要使用控制台交换机,但是使用它能够方便您进行 系统管理,让您不必为每个集群系统都单独配备显示器、鼠标和键盘。控制台交 换机分为几种不同类型。
例如,您可以通过终端服务器连接到串行控制台,远程管理多个系统。为了 降低成本,您还可以使用 KVM(键盘、显示器、鼠标)交换机,在多个系统间 共用一套键盘、显示器和鼠标。KVM 交换机非常适合于通过图形用户界面(GUI 执行系统管理任务的配置情形。
如本手册中未另外提供专门的集群安装详细指导,请依照厂商提供的文档安 装控制台交换机。
安装完控制台交换机后,再把它连接到各个集群系统上。
  27 
TurboHA6.5 用户手册    
2.2.3 安装网络交换机或集线器
虽然集群操作并不是必须使用网络交换机或者集线器,但使用它能够方便您 的集群和客户机系统网络操作。
请依照厂商提供的文档来安装网络交换机或者集线器。
装完网络交换机集线器后,请使用通常的网线把它连接到各个集群系统上。 如果您使用了终端服务器,请使用网线把它连接到网络交换机或者网络集线器 上。
2.3 安装和配置 Linux 发行版OS
完成基本硬件的安装之后,请分别在两个集群系统上安装 Linux 发行版,并 确保它们能够识别所连接的设备。请遵循如下步骤:
1. 依照安装 Linux 发行版中所描述的内核要求和指导在两个集群系统上安Linux 发行版。
2. 重新启动集群系统。
3. 如果您使用终端服务器,请配置 Linux 向控制台端口发送控制台信息。
如果您使用的是 Cyclades 终端服务器,请请参见配置 TurboLinux,以
向控制台端口发送控制台信息来获得有关此项操作的更多信息。
4. 编辑每个集群系统中的/etc/hosts 文件,并把集群中用到的 IP 地址包含在 内。请参见编辑/etc/hosts 文件来获得有关此项操作的更多信息。
5. 减小内核交替启动超时限制,降低系统的启动时间。请参见降低内核交替
启动超时限制来获得有关此项操作的更多信息。
6. 确保登录程序没有使用用于心跳通道或远程电子开关连接(如果有的话) 的串行口。为此,您可以编辑/etc/inittab 文件,使用数字标记(#)来分 别注释对应于串行通道和远程电子开关串行口的启动行。然后,调用 init q 命令。
  28 
TurboHA6.5 用户手册    
7. 确认两个系统都检测到了所有已安装的硬件:
o 使用 dmesg 命令显示控制台启动信息。请参见显示控制台启动信
,了解有关此项操作的更多信息。
o 使用 cat /proc/devices 命令来显示内核中配置的设备。请参见确定
内核中已配置的设备,了解有关此项操作的更多信息。
8. 使用 ping 命令将测试数据包从一个系统发送到另一个系统,以确定集群 系统可以和所有的网络接口进行通讯。
2.3.1 安装 Turbolinux Server OS
您可以安装 Turbolinux Server 7.0 以上简体中文版。在安装 Linux 发行版之 前,您先要获得集群系统和端对端以太网心跳接口的 IP 地址。端对端以太网接 口的 IP 地址可以是专有 IP 地址,如:10.0.0.x
在安装 Turbolinux Server 时,请注意以下事项:
不要将系统文件系统(例如:/、/usr、/tmp、和/var)放在共享磁盘上。
将/tmp 和/var 放在不同的文件系统中。
启动顺序
您的引导盘必须是系统中第一个识别的磁盘,IDE 磁盘通常先于 SCSI 磁盘 被识别为/dev/hda。如果您的引导磁盘是IDE 型而您的共享磁盘是 SCSI 型,那 么您的系统就不存在启动顺序的问题,您可以跳过这一段。
如果您的引导磁盘和您的共享磁盘都是 SCSI 设备,那么您可能需要修改 SCSI 控制器的启动顺序才能确保您的系统盘比共享磁盘先被识别。引导磁盘必 须始终被识别为/dev/sda。要改变 SCSI 控制器的启动顺序,您可以:改变主板 BIOS 中关于 PCI 扫描顺序的设置,将共享存储控制器的 BIOS 设置改为不将其 作为引导设备,或者改变插件板在您主板 PCI 插槽中的位置次序。
  29 
TurboHA6.5 用户手册    
2.3.2 编辑/etc/hosts 文件
/etc/hosts 文件中包含 IP 地址到主机名的转换表。在每个集群系统中,该文 件都必需包含以下内容项:
两个集群系统使用的 IP 地址及其对应的主机名称。
以太网心跳连接(可以是专有 IP 地址)使用的 IP 地址及其对应的主机名
称。
下面是一个/etc/hosts 文件举例:
127.0.0.1 localhost.localdomain localhost
193.186.1.81 cluster2.linux.com cluster2
10.0.0.1 ecluster2.linux.com ecluster2
193.186.1.82 cluster3.linux.com cluster3
10.0.0.2 ecluster3.linux.com ecluster3
13. /etc/hosts
您可以使用 DNS 替代/etc/hosts 文件来解析您网络上的主机名称。
上面的举例显示了两个集群系统的IP地址和主机名称(cluster2cluster3) 以及每个集群系统(ecluster2 ecluster3)中点对点心跳连接所用以太网接口 的 IP 地址和主机名。
下面是在一个集群系统中使用 ifconfig 命令的部分输出结果:
Link encap:Ethernet HWaddr 00:00:BC:11:76:93 inet addr:192.186.1.81 Bcast:192.186.1.245 Mask:255.255.255.0
eth0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:65508254 errors:225 dropped:0 overruns:2 frame:0
  30 
eth1
TurboHA6.5 用户手册    
TX packets:40364135 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 Interrupt:19 Base address:0xfce0
Link encap:Ethernet HWaddr 00:00:BC:11:76:92 inet addr:10.0.0.1 Bcast:10.0.0.245 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 Interrupt:18 Base address:0xfcc0
14. #ifconfig
上例中显示了一个集群系统中的两个网络接口:eth0(集群系统的网络接口)eth1(点对点心跳连接网络接口)。
编辑 Root $PATH 变量:我们推荐您在新安装的或者现有的 Turbolinux Server 中,编辑 root $PATH 变量来将/opt/cluster/bin 添加到 bashrc $PATH 中。
2.3.3 显示控制台启动信息
使用 dmesg 命令来显示控制台启动信息。请参见dmesg8manpage了 解更多信息。
下面的 dmesg 命令输出显示系统在启动过程中识别出 1 个串行扩展卡:
May 22 140210 storage3 kernelCyclades driver 2.3.2.5 2000/01/19 143533 May 22 140210 storage3 kernelbuilt May 8 2000 124012 May 22 140210 storage3 kernelCyclom-Y/PCI #10xd0002000-0xd0005fff, IRQ9,
  31 
TurboHA6.5 用户手册    
4 channels starting from port 0.
下面的 dmesg 命令输出显示在系统上检测到 2 条外部 SCSI 总线和 9 个磁 盘:
May 22 14 02 10 storage3 kernel scsi0 Adaptec AHA274x/284x/294xEISA/VLB/PCI-Fast SCSI5.1.28/3.2.4
May 22 140210 storage3 kernel May 22 14 02 10 storage3 kernel scsi1 Adaptec AHA274x/284x/294x EISA/VLB/PCI-Fast SCSI5.1.28/3.2.4 May 22 140210 storage3 kernel May 22 140210 storage3 kernelscsi2 hosts. May 22 14:02:11 storage3 kernel:Vendor:SEAGATE Model:ST39236LW Rev: 0004 May 22 140211 storage3 kernelDetected scsi disk sda at scsi0, channel 0, id 0, lun 0 May 22 14:02:11 storage3 kernel:Vendor:SEAGATE Model:ST318203LC Rev: 0001 May 22 140211 storage3 kernelDetected scsi disk sdb at scsi1, channel 0, id 0, lun 0 May 22 14:02:11 storage3 kernel:Vendor:SEAGATE Model:ST318203LC Rev: 0001 May 22 140211 storage3 kernelDetected scsi disk sdc at scsi1, channel 0, id 1, lun 0 May 22 14:02:11 storage3 kernel:Vendor:SEAGATE Model:ST318203LC Rev: 0001 May 22 140211 storage3 kernelDetected scsi disk sdd at scsi1, channel 0, id 2, lun 0 May 22 14:02:11 storage3 kernel:Vendor:SEAGATE Model:ST318203LC Rev: 0001 May 22 140211 storage3 kernelDetected scsi disk sde at scsi1, channel 0, id 3, lun 0 May 22 14:02:11 storage3 kernel:Vendor:SEAGATE Model:ST318203LC Rev: 0001 May 22 1402:11 storage3 kernel:Detected scsi disk sdf at scsi1, channel 0, id 8, lun 0
  32 
TurboHA6.5 用户手册    
May 22 14:02:11 storage3 kernel:Vendor:SEAGATE Model:ST318203LC Rev: 0001 May 22 140211 storage3 kernelDetected scsi disk sdg at scsi1, channel 0, id 9, lun 0 May 22 14:02:11 storage3 kernel:Vendor:SEAGATE Model:ST318203LC Rev: 0001 May 22 14:02:11 storage3 kernel:Detected scsi disk sdh at scsi1, channel 0, id 10, lun 0 May 22 14:02:11 storage3 kernel:Vendor:SEAGATE Model:ST318203LC Rev: 0001 May 22 140211 storage3 kernelDetected scsi disk sdi at scsi1, channel 0, id 11, lun 0 May 22 140211 storage3 kernelVendorDell Model8 BAY U2W CU Rev 0205 May 22 140211 storage3 kernelTypeProcessor ANSI SCSI revision 03 May 22 14:02:11 storage3 kernel:scsi1:channel 0 target 15 lun 1 request sense failed, performing reset. May 22 140211 storage3 kernelSCSI bus is being reset for host 1 channel 0. May 22 140211 storage3 kernelscsidetected 9 SCSI disks total.
下面的 dmesg 命令输出显示在系统上检测到 1 Quad 以太网卡:
May 22 140211 storage3 kernel3c59x.cv0.99H 11/17/98 Donald Becker http //cesdis.gsfc.nasa.gov/linux/drivers/vortex.html May 22 14 02 11 storage3 kernel tulip.c v0.91g-ppc 7/16/99 becker@cesdis.gsfc.nasa.gov May 22 140211 storage3 kerneleth0Digital DS21140 Tulip rev 34 at 0x9800, 00 00BC117693, IRQ 5. May 22 140212 storage3 kerneleth1Digital DS21140 Tulip rev 34 at 0x9400, 00 00BC117692, IRQ 9. May 22 140212 storage3 kerneleth2Digital DS21140 Tulip rev 34 at 0x9000, 00 00BC117691, IRQ 11. May 22 140212 storage3 kerneleth3Digital DS21140 Tulip rev 34 at 0x8800, 00
  33 
TurboHA6.5 用户手册    
00BC117690, IRQ 10.
2.3.4 确定内核中已配置的设备
在每个集群系统上使用 cat /proc/devices 命令,确认所安装的设备(包括串 行口和网络接口)是否已在内核中配置完成。例如:
# cat /proc/devices Character devices 1 mem 2 pty 3 ttyp 4 ttyS [1] 5 cua 7 vcs 10 misc 19 ttyC [2] 20 cub 128 ptm 136 pts 162 raw [3] Block devices 2 fd 3 ide0 8 sd [4] 65 sd #
上例中显示了如下内容:   34 
TurboHA6.5 用户手册    
[1] Onboard serial portsttyS [2] Serial expansion cardttyC [3] Raw devicesraw [4] SCSI devicessd
2.4 安装和连接集群硬件的步骤
Linux 发行版安装完毕之后,您就可以安装集群硬件组件了,然后确认 集群系统是否识别出了所有已连接的设备。注:具体安装步骤取决于配置类型。 请参见选择硬件配置,了解关于集群配置的更多信息。
请按照下列步骤来安装集群硬件:
1. 关闭集群系统,并断开电源。
2. 设置点对点以太网和串行心跳通道(如果需要的话)。请参见配置心跳通
,了解有关此项操作的更多信息。
3. 如果您使用的是电子开关,在设备安装完成后,将各个集群系统连接到电
子开关上。注:在集群中使用电子开关,您也许要设定循环地址或拨动开 关。请参见配置电子开关,了解有关此项操作的更多信息。
此外,我们推荐将各电子开关(如果没有使用电子开关的话,此处应为电 源线)连接到不同的 UPS 系统上。请参见配置 UPS 系统,了解有关使 用 UPS 系统的更多信息。
4. 依照厂商的说明书来安装共享磁盘,并将集群系统连接到外部存储设备 上,注意确保满足多启始端或者单启始端 SCSI 总线的配置要求。请参见 配置共享磁盘,了解有关此项操作的更多信息。
此外,我们建议您将存储设备连接到冗余 UPS 系统上。请参见配置 UPS
系统,了解关于使用可选 UPS 系统的更多信息。
  35 
TurboHA6.5 用户手册    
5. 接通硬件电源,启动每个集群系统。在启动过程中,进入 BIOS 工具,依 照如下方法修改系统设置:
o SCSI 总线上的每条主机总线适配器指定一个唯一的 SCSI 标识
号。请参见 SCSI 标识号,了解有关此项操作的更多信息。
o 根据您的存储器配置,启用或停用各主机总线适配器的板载终端。
请参见配置共享磁盘和 SCSI 总线终端,了解有关此项操作的更多 信息。
o 如果您的主机总线适配器能够正确进行总线复位并且内核为
2.2.18 或者更高版本,那么您就可以把总线复位保持在启用状态。
2.2.18Adaptec 驱动程序不支持总线复位和当前 TurboLinux 发行 版包括 2.2.18 版本或者更高版本的内核。
o 启用集群系统的加电自动启动特性。
如果您的共享存储器使用的是 Adaptec 主机总线适配器,请参见 Adaptec
主机总线适配器的要求,了解配置信息。
1. 退出 BIOS 工具,继续启动每个系统。检查启动信息,确认 Linux 内核是 否已经配置完成,并能够识别整套共享磁盘。您也可以使用 dmesg 命令 来显示控制台启动信息。请参见显示控制台启动信息,了解更多关于本命 令的相关信息。
2. 使用 ping 命令向各个网络接口发送数据包,确认集群系统是否可以与每 个点对点以太网心跳连接进行通信。
2.4.1 配置心跳通道
集群系统使用心跳通道来互相通信,并确定集群系统的状态。例如,如果一 个集群系统停止通过心跳通道来更新其时间戳,另一个集群系统就会检查心跳通 道的状态以决定是否需要进行故障切换。
每个集群必须包括至少一条心跳通道,您可以将一条以太网连接既用于客户 机访问,又用于心跳通道。然而,我们建议您还是另外安装别的心跳通道以提高
  36 
TurboHA6.5 用户手册    
系统的可用性。除了一条或多条串行心跳通道之外,您还可以安装冗余以太网心 跳通道。
例如,如果您拥有一条以太网通道和一条串行心跳通道,那么即使以太网通 道电缆断开,集群系统仍然可以通过串行心跳通道来检查状态。
要建立冗余以太网心跳通道,您可以使用一个双绞线来将一个集群系统上的 网络接口连接到另一个集群系统的网络接口上。
要建立串行心跳通道,使用一条串行空调制解调器电缆将一个集群系统的串 行口连接到另一个集群系统的串行口上即可。确保连接到集群系统上对应的串行 口,不要连接到将用于远程电子开关连接的串行口上。
2.4.2 配置电子开关
电子开关使集群系统在故障切换过程中可先对对方集群系统重启电源,随后 再重启其服务。远程系统停用能力可确保任何故障情况下数据的完整性。我们建 议生产环境下应在集群配置中使用电子开关,无电子开关配置仅供用于开发环 境。
在使用电子开关的集群配置中,每个集群系统的电源线均连接到各自的电子 开关上。此外,两个集群系统通常还使用串行口连接的方式远程连接到对方的电 子开关上。一旦发生故障切换,集群系统可使用该连接在重启服务之前,先对另 一个集群系统重启电源。
电子开关可以防止未响应(“挂起”)系统在故障切换后恢复响应(“解除 挂起”)时可能会产生的数据损坏,并对正从另一个集群系统接收 I/O 数据的磁 盘做 I/O 操作。
  37 
TurboHA6.5 用户手册    
此外,如果一个集群系统中的 quorum daemon 发生故障,该系统将不能够 再监视 quorum partition。如果您在集群中没有使用电子开关,这种故障会造成 服务运行在不止一个集群系统中,最终导致数据损坏。
我们推荐您使用电子开关或者集群中的SCSI保留功能来确保故障切换后数 据的完整性。SCSI 保留应优先考虑,应为它无需额外的硬件成本和安装工作。 请查阅有关 SCSI 保留的共享存储器配置部分。如果您决定使用电子开关,则必 须指定-p 选项来启用。
此时,如果集群系统正在进行页面交换或者系统工作负载较高,它会“挂起” 几秒钟。这种情况下,不会进行故障切换,因为另一个集群系统并不能断定“挂 起”系统是否关闭。
集群系统可能会因为硬件故障或者内核错误而挂起。如果发生这种情况,另 一个集群系统会察觉到“挂起”的系统不再更新其 quorum partitions 上的时间 戳,也不再响应心跳通道上的 ping 命令了。
如果集群系统断定挂起的系统已关闭,在采用电子开关的情形中,该集群系 统会在重启其服务之前,先对挂起系统进行重启电源。这就使得挂起系统能够得 以“干干净净”地重启,防止发生 I/O 指定与服务数据损坏错误。
如果在集群中没有使用电子开关,那么当集群系统断定某个挂起系统已关闭 后,将在 quorum partitions 上将故障系统的状态设定为 DOWN,然后重新启动 挂起系统的服务。如果挂起系统解除挂起,它会注意到自己的状态为 DOWN, 因而启动系统重启。这样就最大限度缩短了两个集群系统向同一磁盘发送数据的 时间间隔,但是这种方式并不能提供电子开关能够保障的数据完整性。如果挂起 系统一直不恢复响应,那么您将不得不人工重启系统。
如果您使用电子开关,请参照厂商的说明书来安装硬件。此外,要在集群中 使用电子开关,您可能还需要执行一些特殊的操作。请参见设置 RPS-10 电子开
关,了解更多关于如何在集群中使用 RPS-10 电子开关的信息。注:如果本手册
  38 
TurboHA6.5 用户手册    
中也提供有同样的操作信息,以本手册为准。在安装集群软件时要记得在 member_config 命令中指定-p 选项。
安装完电子开关之后,执行下列步骤,将它们连接到集群系统中:
1. 将每个集群系统的电源线连接到电子开关上。
2. 将每个集群系统的一个串行口连接到向另外一个集群系统供电的电子开
关的串行口上。串行口连接所用的电缆与电子开关的类型有关。例如,如 果您使用的是 RPS-10 型电子开关,则选择空调制解调器电缆。
3. 将每个电子开关的电源线接到电源上。我们建议您将各个电子开关连接到 不同的 UPS 系统上。请参见配置 UPS 系统,了解更多信息。
当您安装完集群软件后,在启动集群前,请先对电子开关进行测试以确保每 个集群系统都能对另一个系统进行电源重启。请参见测试电子开关,了解更多信 息。
2.4.3 配置 UPS 系统
不间断电源(UPS)系统可在发生停电事故时继续供电,以避免系统停机。 虽然使用 UPS 系统对集群操作来说不是必需的,但我们仍然建议您这样做。为 了获得最高的可用性,请将电子开关(或者电源线-没有使用电子开关时)和磁 盘存储子系统都连接到冗余 UPS 系统上。此外,每个 UPS 系统必须连接它自 身的电源电路中。
同时,您还要确保每个 UPS 系统都能够为其连接设备提供充足的电力。一 旦发生停电,UPS 系统必须保持适当长时间的连续供电。
冗余 UPS 系统可以提供高度可用的电源。一旦发生停电,集群设备的功率 负载会在多个 UPS 系统之间进行分配。这样,即使一个 UPS 系统发生故障, 集群应用也依然可用。
  39 
TurboHA6.5 用户手册    
如果您的磁盘存储子系统备有两套电源,各自有着独立的电源线,那么您需 要设置两台 UPS 系统,每台均连接一个电子开关(或一个集群系统的电源线, 如果没有采用电子开关的话)和存储子系统的一条电源线。
下图显示的是冗余 UPS 系统配置。
冗余 UPS 系统配置
您也可以将电子开关(或两个集群系统的电源线)和磁盘存储子系统连接到 同一个 UPS 系统上。这是最为经济高效的一致配置,能够有效防范各种电源故 障。但是一旦发生停电,单个 UPS 系统就会成为可能的单点故障点。此外,一 台 UPS 系统也许不能为所有连接设备提供足够长时间的供电。
下图显示的是单个 UPS 系统配置。
  40 
TurboHA6.5 用户手册    
单个 UPS 系统配置
许多 UPS 系统产品,包括 Linux应用程序,可以通过串行口连接来监视 UPS 系统的运行状态。如果电池电量过低,监视软件就会启动彻底的系统关闭。一旦 发生这种情况,集群软件会正确关闭,因为它受 System V 运行级脚本(如 /etc/rc.d/init.d/cluster)的控制。
请参见厂商提供的 UPS 文档,了解更多安装信息。
2.4.4 配置共享磁盘存储器
在集群中,共享磁盘存储器用于保存服务数据。因为该存储器必须保证对两 个集群系统随时可用,因而不能安装在依赖某个系统才可用的磁盘上。请参见厂 商提供的文档,了解更多产品与安装信息。
当您在集群中设置共享磁盘存储器时应注意以下事项:
硬件 RAID JBOD
JBOD(“简单磁盘组〔just a bunch of disks〕”)存储是一种低
成本存储解决方案。但是数据的可用性不是很高。如果 JBOD 中的某 一磁盘发生故障,所有使用该磁盘的集群服务都会变得不可用。因此, 只有在开发环境中才会使用 JBOD
基于控制器的硬件 RAID 比起 JBOD 存储来讲,价格比较高,但是它可以 避免磁盘故障造成的影响。此外,双控制器 RAID 阵列还可以避免因控制 器故障而造成的影响。我们强烈建议您使用 RAID 1(镜像),确保为您 的服务数据和 quorum partitions 提供最高的可用性。
另外,您也可以采用奇偶校验 RAID 来提高可用性。quorum partitions 不能采用 RAID 0(带区)。我们推荐在产品环境下使用 RAID 来实现高可用性。
  41 
TurboHA6.5 用户手册    
注:您不能在集群中使用基于主机的 RAID、基于适配器的 RAID 或者软件 RAID,因为这些产品通常不能正确地处理到共享存储器的多 系统访问。
多启始端 SCSI 总线或光纤通道互连与单启始端总线或互连
多启始端 SCSI 总线或光纤通道互连连接多个集群系统。带有一个 主机端口和多个并行 SCSI 磁盘的 RAID 控制器必须使用多启始端总线 或互连来将两个主机总线适配器连接到存储器上。这种配置不支持主机 隔离。因此,只有开发环境才采用多启始端总线。
单启始端 SCSI 总线者光纤通道互连仅连接一个集群系统,提供主 机隔离功能,与多启始端总线相比,有着更好的性能。单启始端总线或 互连可确保每个集群系统都受到保护,免受因另一个集群系统的工作负 载、初始化、或者维修所带来的影响。
有共享逻辑单元的并发访问,那么您可以设置两条单启始端总线或互连 来将每个集群系统都连接到 RAID 阵列上。如果一个逻辑单元可以从一 个控制器故障切换到另一个控制器,该过程对于操作系统来讲必须保持 透明。我们推荐在生产环境中使用单启始端总线或互连。
热插拔
您可以在不影响总线运行的情况下从多启始端SCSI总线或者多启始端 或光纤通道互连上断开设备。这样一来,您就能够在保持使用总线或互
如果您的 RAID 阵列具有多个主机端口,并能提供从这些端口到所
在某些情况下,您还可以设置支持热插拔的共享存储器配置,它使
连的服务之可用性的同时,轻松执行设备维护工作了。
例如,通过采用外部终端器来以主机总线适配器的方式代替板载终 端作为 SCSI 总线的终端,您可以从适配器上将 SCSI 电缆和终端器从 适配器上断开,同时保持总线的终止状态。
  42 
但是,如果您采用的是光纤通道总线或者交换机,热插拔功能就没 有太大必要了,因为网络集线器或交换机允许在某个设备断开后仍然保 持互连的可用性。另外,如果您使用的是单启始端 SCSI 总线或者光纤 通道互连,也没有必要使用热插拔功能,因为该专用总线在您断开设备 时不需要保持可用性。
SCSI 保留
为了确保故障切换后的数据完整性,我们建议为每个电子开关或者 共享存储器配备 SCSI 保留支持能力。TurboHA 6.5 在没有电子开关和 SCSI 保留的情况下也可以工作,但是故障切换能力会降低为“软件重 启动”(请参见下面部分)。因此我们强烈建议在每个 TurboHA 6.5
TurboHA6.5 用户手册    
集群中都使用电子开关或者 SCSI 保留,或者两者均使用。默认情况下, 在您运行 member_config 并为共享存储磁盘指定 SG 设备时就会用到
SCSI 保留。
SCSI 保留是一种比较简单经济的数据完整性保护方法,因为它无
需额外的硬件支持,但同时有一些“折扣”需要注意:1} SCSI 保留仅 提供 I/O 隔离或者数据保护,也就是说,它会阻断故障节点到共享存储 器的访问,却不复位故障节点。2} SCSI 保留要求每个集群系统内核都 包含“SCSI 保留”补丁,以避免集群系统在总线复位时错误地清除掉 了 SCSI 保留。最新的 Turbolinux 2.2.18 内核包含有“SCSI 保留”补 丁。3} 共享存储器必须支持 SCSI 保留。TurboHA 6.5 中有一个工具 可以检查您的共享存储器是否支持 SCSI 保留。下面显示了您可以如何 对共享存储器进行测试。
下面是支持 SCSI 保留的共享存储器设备的正常测试结果。
=================== Try reservation on one node =================== [root@server1 turboha]# /opt/cluster/bin/sg_switch -d /dev/sg0 -s /dev/sg0 reserved.
  43 
TurboHA6.5 用户手册    
================= On the other node, test for reservation conflict ======= [root@server2 turboha]# /opt/cluster/bin/sg_switch -d /dev/sg0 -c Reservation conflict on /dev/sg0. ==================== On the other node, no reservation conflict ===== [root@server2 turboha]# /opt/cluster/bin/sg_switch -d /dev/sg0 -c No conflict on /dev/sg0.
在使用 SCSI 保留时,必须在总线适配器的 BIOS 中启用总线复位 特性。在故障节点复位之后,必须清除 SCSI 保留。SCSI 保留的目的 就是防止故障系统在未知状态下向共享存储器写入数据。Svcmgr 在尝 试向共享存储器写入之前将使用锁定共享存储器来安全地恢复服务。
有时各节点中 sg 设备名称各不相同。您需要在各节点中设定一个 指向该设备的符号链接。例如:
[root@server1 RPMS]# sg_map /dev/sg0 /dev/sda
[root@server2 RPMS]# sg_map /dev/sg1 /dev/sda
[root@server1 RPMS]#ln -s /dev/sg0 /dev/sg8
[root@server2 RPMS]#ln -s /dev/sg1 /dev/sg8
软件重启动(Software Reboot
如果在集群中没有使用电子开关而且共享存储器也不支持SCSI保 留,那么您可以采用一种反向故障切换数据完整性保障机制,我们称之 为软件重启动。当 power daemon 受命解决一个节点时,它会向故障
  44 
TurboHA6.5 用户手册    
节点的 power daemon 发送一条信息触发重启。故障节点在确认之后 将立即重启。收到确认信息之后,正常节点会将共享存储器和服务切换 到恢复的故障节点。
如果软件重启动失败,正常节点会继续尝试解决故障节点,共享存 储和服务也不会切换到故障节点上。如果您在使用 member_config 命 令时没有为共享存储器指定 SG 设备,软件重启动模式将默认处于启用 状态。为了减少引起故障切换的故障次数,我们强烈建议您使用电子开 关或者 SCSI 保留。
注意,为了保证集群能够正常工作,请您务必仔细按照配置说明来配置多启
始端和单启始端总线以及热插拔功能。
您必须遵守以下共享存储器要求:
各集群系统中每个共享存储设备的 Linux 设备名称必须相同。例如,一
个集群系统中名为 /dev/sdc 的设备在另一个集群系统中也必需命名为 /dev/sdc。您可以在两个集群系统中使用相同的硬件以确保设备名称相 同。
磁盘分区只能供一种集群服务使用。
不要在集群系统的本地/etc/fstab 文件夹中包含任何用于集群服务的文件
系统 ,因为集群软件必须控制服务文件系统的加载和卸载。
为了实现最佳的性能,应在创建共享文件系统时使用 4 KB 的块大小。注
意,某些 mkfs 文件系统创建程序默认的是 1 KB 字区大小,这可能会导 致较长的 fsck 时间。我们建议您采用像 Reiser 文件系统(reiserfs)或 EXT3 文件系统(ext3)那样的日志文件系统,以消除 fsck 时间,最终 缩短故障切换时间。最新版本的 Turbolinux Server 同时支持 reiserfs ext3 两种文件系统,可与 TurboHA 6.5 集群故障切换共用。
如果可行的话,您必须遵守下列并行 SCSI 要求:
SCSI 总线必须在两端终止,且必须遵守长度和热插拔限制。
  45 
TurboHA6.5 用户手册    
SCSI 总线上的设备(磁盘、主机总线适配器和 RAID 控制器)必须具有
唯一的 SCSI 标识号。
如果使用了 SCSI 保留,则必须启用 SCSI 总线复位功能。
请参见 SCSI 总线配置要求,了解更多信息。
另外,我们强烈建议您将存储器连接到冗余 UPS 系统上,以获得高可用性
的电源。请参见配置 UPS 系统,了解更多信息。
请参见设置多启始端 SCSI 总线设置单启始端 SCSI 总线设置单启始端
光纤通道互连,了解更多有关配置共享存储器的信息。
安装完共享存储器硬件之后,您可以对磁盘进行分区,之后在分区上创建文 件系统或者裸设备。请参见磁盘分区创建裸设备创建文件系统,来获得更多 信息。
2.4.4.1 设置多启始端 SCSI 总线
多启始端SCSI总线可以连接多个集群系统。如果您采用的是JBOD存储器, 则必须使用多启始端 SCSI 总线来将集群系统连接到集群存储器的共享磁盘上。 如果您的 RAID 控制器不能提供从存储器主机端口到所有共享逻辑单元的访问 或者它仅有一个主机端口,那么您也必需使用多启始端 SCSI 总线。
多启始端 SCSI 总线不提供主机隔离功能。因此,它只能用于开发环境中。
多启始端总线必须满足 SCSI 总线配置要求中所描述的各项要求。此外,请 参见主机总线适配器特性与配置要求,了解有关终止主机总线适配器和配置多启 始端总线(具备或者不具备热插拔功能)的更多信息。
一般来说,要设置一条总线两端各有一个集群系统的多启始端 SCSI 总线, 您必须遵照以下步骤:
启用各主机总线适配器的板载终端。
如果可以的话,停用存储器的终端。
  46 
TurboHA6.5 用户手册    
使用适当的 68-针 SCSI 电缆将每个主机总线适配器连接到存储器。
要设置主机总线适配器终端,您必须在系统启动过程中先进入系统配置工具 界面。要设置 RAID 控制器或者存储器终端,请请参见厂商提供的文档。
下图显示了一条不带热插拔支持能力的多启始端 SCSI 总线。
多启始端 SCSI 总线配置
如果主机总线适配器的板载终端可以停用,您可将其配置为支持热插拔。这 使您可以将适配器从多启始端 SCSI 总线上断开而不会对总线终端造成影响,从 而可以在保持总线正常运行的同时来进行维护操作。
要配置主机总线适配器的热插拔能力,您必须遵照以下步骤来进行:
停用主机总线适配器的板载终端。
将一个外部通道式(pass-throughLVD 主动式终端器连接到主机总线适
配器的接头上。
然后使用适当的 68-SCSI 电缆将 LVD 终端器连接到(未终止的)存储器 上。
下图显示了一条多启始端SCSI总线,其两个主机总线适配器均支持热插拔。
支持热插拔的多启始端 SCSI 总线配置
下图显示了连接到多启始端 SCSI 总线上的 JBOD 存储器内的终止情况。
  47 
TurboHA6.5 用户手册    
连接到多启始端 SCSI 总线的 JBOD 存储器
下图显示了连接到多启始端 SCSI 总线的单控制器 RAID 阵列内的终止情 况。
连接到多启始端 SCSI 总线的单控制器 RAID 阵列
下图显示了连接到多启始端 SCSI 总线的双控制器 RAID 阵列内的终止情 况。
  48 
连接到多启始端 SCSI 总线的双控制器 RAID 阵列
TurboHA6.5 用户手册    
2.4.4.2 设置单启始端 SCSI 总线
单启始端 SCSI 总线仅能连接一个集群系统,可提供主机隔离能力与比多启 始端总线更高的性能。它可确保每个集群系统免受由于另一个集群系统的工作负 载、初始化或系统维修所带来的影响。
如果您使用的是带有多个主机端口的单控制器或双控制器 RAID 阵列,它能 提供从这些端口到所有共享逻辑单元的并发访问,那么您可以设置两条单启始端 总线或互连来将每个集群系统都连接到 RAID 阵列上。如果一个逻辑单元可以从 一个控制器故障切换到另一个控制器,该过程对于操作系统来讲必须保持透明。
我们强烈推荐生产环境中使用单启始端SCSI总线或者单启始端光纤通道互 连。
注意某些 RAID 控制器会将某组磁盘限定在特定的控制器或者端口上。这种 情况下,您不能设置单启始端总线。此外,热插拔对于单启始端 SCSI 总线来讲 不是必需的,因为专用总线无需在您从总线上断开主机总线适配器时依然保持可 用。
  49 
TurboHA6.5 用户手册    
单启始端总线必须满足 SCSI 总线配置要求中所描述的各项要求。另外,请 参见主机总线适配器的特性与配置要求,了解有关终止主机总线适配器和配置单 启始端总线的更多信息。
要设置单启始端 SCSI 总线,你必须遵照以下步骤进行:
启用每个主机总线适配器的板载终端。
启用每个 RAID 控制器的终端。
使用适当的 68-针 SCSI 电缆将各主机总线适配器连接到存储器。
要设置主机总线适配器终端,您必须在系统启动过程中进入 BIOS 工具。要 设置 RAID 控制器终端,请参见厂商文档。下图为使用两条单启始端 SCSI 总线 的系统配置
单启始端 SCSI 总线配置
下图为连接到两条单启始端 SCSI 总线的单控制器 RAID 阵列内的终止情 况。
  50 
连接到单启始端 SCSI 总线的单控制器 RAID 阵列
TurboHA6.5 用户手册    
下图为连接到两条单启始端 SCSI 总线的双控制器 RAID 阵列中的终止情 况。
连接到单启始端 SCSI 总线的双控制器 RAID 阵列
  51 
TurboHA6.5 用户手册    
2.4.4.3 设置单启始端光纤通道互连
单启始端光纤通道互连仅连接一个集群系统,可提供主机隔离能力与比多启 始端总线更高的性能。它可确保每个集群系统免受由于另一个集群系统的工作负 载、初始化或系统维修所带来的影响。
我们建议在产品环境中使用单启始端 SCSI 总线或者单启始端光纤通道互 连。
如果您的 RAID 阵列具有多个主机端口,并能提供从这些端口到所有共享逻 辑单元的并发访问,那么您可以设置两条单启始端光纤通道互连来将每个集群系 统都连接到 RAID 阵列上。如果一个逻辑单元可以从一个控制器故障切换到另一 个控制器,该过程对于操作系统来讲必须保持透明。
下图中显示的单控制器 RAID 阵列带有两个主机端口,主机总线适配器直接 连接到 RAID 控制器上,没有使用光纤通道总线或者交换机。
连接到单启始端的单控制器 RAID 阵列   52 
TurboHA6.5 用户手册    
如果您使用的是双控制器 RAID 阵列,每个控制器上都有 2 个主机端口,那 么您必须使用一条光纤通道总线或者交换机将每个主机总线适配器连接到两个 控制器的端口上,如下图所示。
连接到单启始端光纤通道互连的双控制器 RAID 阵列
2.4.4.4 创建文件系统
使用 mkfs 命令来在分区上创建 ext2 文件系统,指定驱动器标识符和分区编 号。例如:
# mkfs /dev/sde3
  53 
TurboHA6.5 用户手册    
为了获得最佳的性能,在创建共享文件系统的时候请使用 4 KB 的块大小。 注:某些 mkfs 文件系统创建程序默认的是 1 KB 块大小,这可能会导致较长的 fsck 时间。
要创建 ext3 reiserfs 文件系统,请使用 mkfs.ext3 mkfs.reiserfs 命令, 而不是mkfs。在TurboHA中,我们推荐使用日志文件系统,因为它们不需要fsck, 因而大大缩短了故障切换时间。Turbolinux Servers对 ext3 和 reiserfs 文件系统 都可支持。
2.4.5 配置磁盘镜像存储器
磁盘镜像存储与共享磁盘存储的功用相同,提供了一款高可用性的低成本解决 方案。要构建磁盘镜像存储设备,您仅需在每个节点上准备一个磁盘分区,并在两 个节点之间建立以太网通信即可。在此我们推荐使用网络交叉电缆将两个系统的网 络接口连接起来,以提供不间断的高速数据传输。磁盘镜像存储的I/O性能取决于 集群系统的网络接口。设备搭建好之后,所有操作都同共享磁盘存储方案一样。
  54 
TurboHA6.5 用户手册    
第三章 安装TurboHA6.5
当完成集群硬件和操作系统的安装和配置之后,您必须安装TurboHA6.5 并进 行系统的配置。
TurboHA6.5 的安装将把TurboHA、Agent、drbd 以及可能需要的附加支持包 安装到系统中,安装需要大约 10MB 的磁盘空间。
3.1 安装TurboHA6.5
安装TurboHA6.5 的过程如下:
1) 确认您所使用的TurboHA6.5 产品的功能级别
2) 安装TurboHA6.5
3) 安装guiadmin客户端
3.1.1 确认您所使用的TurboHA6.5 产品的类型
TurboHA6.5产品分为两个功能级别,请确认您购买的产品属于哪一个级别。
Ø 第一级别只支持使用磁盘阵列的应用。
Ø 第二级别既支持使用磁盘阵列的应用,也支持drbd(磁盘镜像设备)。
选购何种级别功能的TurboHA6.5,完全取决于您需要满足的应用类型。确定TurboHA6.5 的功能级别之后,就可以开始安装TurboHA6.5了。
3.1.2 安装 TurboHA6.5
请分别在两个节点上安装TurboHA6.5 软件。
1) 如果您购买的是正版的TurboHA6.5 产品,TurboHA6.5会附带软件的安装 光盘。插入安装光盘到节点的光驱并mount后,光盘根目录中有一个安装 文件install_ha,请运行如下命令进行安装。根据您的操作系统版本并参照 其提示完成TurboHA的安装。
  55 
TurboHA6.5 用户手册    
如果您的TurboHA6.5 产品支持drbd(磁盘镜像设备),请在“Do you want to
use drbd ?”时选择yes,否则选择no
例如:
[root@test1 root]# mount /dev/cdrom /mnt/cdrom [root@test1 root]# cd /mnt/cdrom [root@test1 cdrom]# ./install_ha Following RPMs will be installed or upgraded to newer version if necessary: *) pdksh *) lsof *) sg_utils *) drbd *) TurboHA *) TurboHA Agents Please select the operatating system version you are using:
0) Red Hat 7.2 (kernel:2.4.7-10)
1) Turbolinux Data Server 7 (TDS7 kernel:2.4.18-17, 2.4.18-3.10.2)
2) Turbolinux Data Server 7.1 (TDS7.1 kernel:2.4.21-18)
3) United Linux 1(UL,TLES8 kernel:2.4.21-138)
4) Turbolinux Data Server 10 (TDS10 32bit, kernel:2.6.9-5.11)
5) Turbolinux Data Server 10 (TDS10 64bit, kernel:2.6.9-5.11)
6) cancel Please select an OS version, then the installation procedure will begin. Select 6 to abort [0/1/2/3/4/5/6]2 Do you want to use drbd? (y/n) [y]: y
2) 如果您是从拓林思公司下载的试用产品(使用有效期为1 个月),您下载 TurboHA6.5 将是一个ISO文件和md5检验文件。ISO 文件的名称一般为 turboha-6.5.x-x.iso,md5文件的名称一般为turboha-6.5.x-x.iso.md5。为了验
  56 
TurboHA6.5 用户手册    
证您下载的iso文件是否正确,可以先对您的iso 文件进行md5sum 操作,如 果发现md5sum 运行命令所得结果,和您下载的md5 文件的内容一致,则表 明您下载的ISO文件正确无误。
例如:
[root@test1 iso]# md5sum ./turboha-6.5.0-8.iso 88f7b387c8cdaca3fa38832c6b7b2b6a turboha-6.5.0-8.iso [root@test1 iso]# cat ./turboha-6.5.0-8.iso.md5 88f7b387c8cdaca3fa38832c6b7b2b6a turboha-6.5.0-8.iso
证明您下载的ISO 文件正确之后,请先将ISO文件mount到某一个目录,然后 运行这个目录下的 install_ha 安装程序进行安装,接下来的过程同从光盘安装时介 绍的一样。
[root@test1 root]# mount –o loop ./turboha-6.5.0-8.iso /mnt/cdrom [root@test1 root]# cd /mnt/cdrom [root@test1 cdrom]# ./install_ha
3.1.3 安装 guiadmin客户端
如果用户仅仅在TurboHA 的两个成员节点上运行guiadmin客户端软件,那么 安装TurboHA6.5 即可,不需要做额外的操作。如果用户需要远程操作,那么需要 在远程客户机上执行安装光盘里的install_guiclient。
例如:
[root@test1 root]# mount /dev/cdrom /mnt/cdrom [root@test1 root]# cd /mnt/cdrom
  57 
TurboHA6.5 用户手册    
[root@test1 cdrom]# ./install_guiclient
The TurboHA guiadmin client will be installed or upgraded to newer version. Do you want to continue? (y/n) [y]: y Preparing packages for installation... turboha-guiadminclient-6.5.0-8 TurboHA guiadmin client installation finished.
3.2 注册TurboHA6.5
安装完TurboHA6.5的软件之后,您需要注册TurboHA6.5产品,也就是说需
要安装TurboHA 6.5的 license,以保证TurboHA6.5正常运行。
注册TurboHA6.5 产品的步骤如下:
1) 获得两个节点的硬件号,分别在两个节点上运行“ /opt/cluster/bin/syncd –l ,其输出的第一行信息,例如“Hardware ID: 3355DEJGQWVK”,
其中“3355DEJGQWVK”就是硬件号。仔细记录两台节点的硬件号,以 便在随后的注册中使用。
2) 用浏览器登陆注册网站http://www.turbolinux.com.cn/register。
  58 
3) 点击Turbolinux TurboHA 6.5,进入如下图所示的登陆页面:
TurboHA6.5 用户手册    
4) 如果您是第一次注册,请点击“新用户”按钮,按要求详细填写注册信息。
5) 注册完之后,返回如上登陆页,输入电子邮件地址和密码,点击“登陆”,
进入注册页。
您还可以在产品序列号栏,输入您购买产品时附带的序列号,以查看序列号 有没有被注册过,如果发现被人盗用注册过,则请与北京拓林思软件有限公司联 系,因为注册码只允许注册一次。
6) 登陆后,进入以下页面:
  59 
TurboHA6.5 用户手册    
如果您是正版用户,请点击“增加产品序列号”按钮。如果您没有序列号, 只是试用,请点击“评估版许可证”按钮。
7) 点击“增加产品序列号”之后,进入如下页面:
SN 栏输入您购买产品时附带在注册卡上的序列号,然后点击“下一步” 按钮,进入如下页面:
  60 
TurboHA6.5 用户手册    
8) 分别填入两个节点的硬件号,然后点击完成,进入到如下所示的页面:
9) 点击“取得使用许可证”按钮,在接下来的页面上选择如何保存你得许可 证,寄到信箱或者存到文件。
10) 得到license文件之后,你需要把它分别copy到两个节点的 /etc/opt/cluster/lic目录下。
注意:
/etc/opt/cluster/lic目录下只能保存一个license文件。
至此,TurboHA6.5 产品注册完毕。
  61 
TurboHA6.5 用户手册    
3.3 升级TurboHA
3.3.1 TurboHA 6.0 6.5 的升级
TurboHA从 6.0 升级到6.5 的步骤如下:
(1) 在两台服务器上运行/etc/init.d/cluster stop,停止TurboHA 6.0 的守护进
程。
(2) 在两台服务器上分别执行rpm –e turboha,卸载TurboHA6.0
(3) 在两台服务器上分别安装TurboHA 6.5
(4) 在一台服务器上运行/opt/cluster/bin/diskutil -I,再运行
/opt/cluster/bin/clu_config -f /etc/opt/cluster/cluster.conf
(5) 把这台服务器上的文件/etc/opt/cluster/cluster_raw.conf 拷贝到另一台服务
器的相同目录中。
(6) 注册 TurboHA6.5,把从网上注册得到的license 文件拷贝到两台服务器的
/etc/opt/cluster/lic 目录中。
(7) 安装已完成,可以运行/etc/init.d/cluster start 启动TurboHA 6.5
3.3.2 TurboHA 6.5 的升级
如果您希望升级TurboHA 6.5 到最新版本,同时又希望保存现有的TurboHA 的 配置文件。并且您想在更新TurboHA6.5 的同时最大限度地减少服务停机时间, 则请遵循以下步骤进行操作:
(1) 在您想更新的集群系统的第一个节点上,运行cluadmin 工具并备份当前的
集群配置文件。例如:
cluadmin> cluster backup
  62 
TurboHA6.5 用户手册    
关于 cluadmin工具的使用方法,请参阅相关的章节。
(2) 将在第一个节点上运行的服务切换到第二个节点上。切换服务的方法,请
参阅相关的章节。
(3) 通过调用System V init 目录下的cluster stop 命令来停止第一个节点上的
TurboHA6.5。例如:
/etc/init.d/cluster stop
(4) 按照TurboHA6.5 的安装步骤中的说明,在您希望更新的第一个节点上安
装最新的TurboHA6.5
(5) 通过调用System V init 目录下的cluster stop 命令来停止第二个节点上的
TurboHA6.5。此时,将没有任何服务可用。
(6) 通过调用System V init 目录下的cluster start 命令来启动第一个被更新的
节点上的TurboHA6.5。此时,所有服务将变得可用。
(7) 按照TurboHA6.5 的安装步骤中的说明,在您希望更新的第二个节点上安
装最新的TurboHA6.5
(8) 通过调用System V init 目录下的cluster start 命令来启动第二个被更新节
点上的TurboHA6.5。
至此,两个节点的TurboHA6.5 升级完毕。
  63 
TurboHA6.5 用户手册    
第四章 卸载TurboHA6.5
卸载TurboHA6.5 的过程如下:
1) 卸载TurboHA6.5
2) 卸载drbd
3) 卸载guiadmin客户端
4.1 卸载TurboHA6.5
您可以利用TurboHA6.5提供的 uninstall_ha工具来卸载TurboHA6.5。 uninstall_ha 安装在/sbin目录下。卸载的操作请在两个节点上分别执行。
卸载的方法如下:
1) 卸载之前请先停止TurboHA6.5。TurboHA6.5停止的方法如下:
/etc/init.d/cluster stop
例如:
[root@test1 root]# /etc/init.d/cluster stop
-------- Performing cluster stop ---------------------
---- Performing guiadmin server stop ----
Stopping guiadmin server: done.
---- Completed guiadmin server stop ----
Shutting down clumon:done
Sending stop message to svcmgr: done.
Waiting for Cluster Daemons to exit.
Stopping syncd: done.
Stopping hb: done.
  64 
Stopping svcmgr: done.
Stopping powerd: done.
Stopping svccheck: done.
____ Performing drbd stop ____
drbd: 'drbd0' already Secondary
drbd: module has been unloaded
____ Completed drbd stop ____
-------- Completed cluster stop ---------------------
2) 执行卸载工具uninstall_ha 来卸载TurboHA6.5
TurboHA6.5 用户手册    
[root@test1 root]# uninstall_ha
Following RPMs will be uninstalled:
*) turboha
*) TurboHA Agents
Do you want to continue? [y/n] y
cannot remove /etc/opt/cluster/lic - directory not empty
cannot remove /etc/opt/cluster - directory not empty
Turbolinux TurboHA uninstallation finished.
4.2 卸载drbd
如果您安装了drbd,执行uninstall_ha不会卸载drbd软件包。
(1) Linux kernel2.4环境
Linux kernel2.4环境下,卸载drbd软件包,请执行以下的命令:
  65 
[root@test1 root]# rpm -e drbd
(2) Linux kernel2.6环境
Linux kernel2.6环境下,卸载drbd软件包,请执行以下的命令:
其中,xxx 代表Linux kernel 版本号。
[root@test1 root]# rpm -e drbd-km-xxx [root@test1 root]# rpm -e drbd
TurboHA6.5 用户手册    
4.3 卸载guiadmin 客户端
执行install_ha 在TurboHA6.5 集群的两个节点上安装的guiadmin客户端,在 执行uninstall_ha时会自动卸载。
如果在别的机器上执行install_guiclient 单独安装了guiadmin客户端,请执行 以下的命令进行卸载:
rpm –e turboha-guiadminclient
  66 
TurboHA6.5 用户手册    
第五章 配置TurboHA6.5
5.1 member_config 工具说明
member_config是用来对TurboHA6.5进行初始化配置的工具。member_config 工具主要完成以下的工作:
Ø 配置集群的节点名称
Ø 配置集群的心跳
Ø 配置电子开关
Ø 配置watchdog
Ø 配置第三方参考IP
Ø 创建配置文件
您需要如下信息才能使用member_config 来初始化集群。这些信息要输入到 TurboHA 配置文件的成员字段中,您可以在/etc/opt/cluster/cluster.conf 文件中找 到这些成员字段:
Ø 通过hostname 命令返回的集群系统主机名
Ø 心跳连接(通道)的数量,包括以太网和串行连接
Ø 每个心跳串行连接的设备文件,如:/dev/ttyS1
Ø 同每个心跳以太网接口相对应的IP 主机名称
Ø 与电子开关连接的串行口的设备文件,如:/dev/ttyS0
  67 
5.2 配置TurboHA6.5
TurboHA6.5 进行初始化配置的过程如下:
(1) 选择其中一节点(例如节点A)进行系统配置;
(2) 在另一节点(例如节点B)同步配置信息。
注意:
member_config 只需要在一个节点上配置。
5.2.1 选择其中一节点进行初始化配置
TurboHA6.5 用户手册    
首先我们需要选择其中一节点对TurboHA6.5进行初始化配置。配置的过程如 下:
(1) 运行member_config命令
注意:
如果您使用了IBM EXP400系列的磁盘柜,在确定IBMEXP400磁
盘阵列的硬件安装和配置正确之后,运行member_config -s命令。
运行member_config命令,系统显示如下:
[root@test1 root]# /opt/cluster/bin/member_config
-----------------------------------­Cluster Member Configuration Utility
-----------------------------------­Version: 6.5.0 Built: Mon Apr 11 20:29:21 CST 2005
This utility sets up the member systems of a 2-node cluster. It prompts you for the following information:
  68 
TurboHA6.5 用户手册    
o Hostname o Number of heartbeat channels o Information about the type of channels and their names o Power switch type and device name
In addition, it performs checks to make sure that the information entered is consistent with the hardware, the Ethernet ports, the raw partitions and the character device files.
After the information is entered, it initializes the partitions and saves the configuration information to the quorum partitions.
- Checking that cluster daemons are stopped: done
- Configuration file exists already. Would you like to use those prior settings as defaults? (yes/no) [yes]yes
如果以前运行过member_config 命令,那么配置文件中会保存您的配置结果, 该选项就是问您是否使用以前的配置结果作为缺省值,通常回答yes
注意:
如果是第一次配置,则不会出现该选项。
(2) 配置本地节点名称
接下来,输入本地节点的名称。TurboHA会自动的从您系统中/etc/hosts中得 到本地节点的名称,前提是您没有把这个名称对应到127.0.0.1。 如果这个名称对 应到127.0.0.1,安装程序会退出,并提醒您正确地配置/etc/hosts。
  69 
TurboHA6.5 用户手册    
---------------------------------------­Setting information for cluster member 0
---------------------------------------­Enter name of cluster member [test1]: test1 Looking for host test1 (may take a few seconds)... Host test1 found Cluster member name set to: test1
(3) 配置本地节点的heartbeat 通道
TurboHA6.5heartbeat通道有两类: 网络(net)和串口(serial)。对于网络,
您需要配置heartbeat使用的网络设备对应的别名;对于串口,您需要配置heartbeat 使用的串口的设备名,例如 /dev/ttyS0。
注意:
为了获得更高的可用性,TurboHA 6.5 建议配置一条串口通道以及至少两 条直连网络心跳通道,并且必须将应用所在的网卡配置成通道,配置通道的顺 序为:先配置所有的直连网线通道,再配置应用所在网卡的通道,最后配置串 口通道。
Enter number of heartbeat channels (minimum = 1) [1]: 4 You selected 4 channels Information about channel 0: Channel type: net or serial [net]: Channel type set to: net Enter hostname of cluster member test1 on heartbeat channel 0 [test1]: hb11 Looking for host hb11 (may take a few seconds)... Host hb11 found Hostname corresponds to an interface on member 0
  70 
TurboHA6.5 用户手册    
Channel name set to: hb11 Information about channel 1: Channel type: net or serial [net]: Channel type set to: net Enter hostname of cluster member test1 on heartbeat channel 1: hb12 Looking for host hb12 (may take a few seconds)... Host hb12 found Hostname corresponds to an interface on member 0 Channel name set to: hb12 Information about channel 2: Channel type: net or serial [net]: Channel type set to: net Enter hostname of cluster member test1 on heartbeat channel 2: test1 Looking for host test1 (may take a few seconds)... Host test1 found Hostname corresponds to an interface on member 0 Channel name set to: test1 Information about channel 3: Channel type: net or serial [net]: serial Channel type set to: serial Enter device name: /dev/ttyS0 Device /dev/ttyS0 found and no getty running on it Device name set to: /dev/ttyS0
(4) 配置本地节点的power switch watchdog选项
如果没有硬件电子开关设备,请输入NONE。如果有硬件电子开关,输入相应
的电子开关对应的类型,如:RSA、RPS10 或者是APC
  71 
TurboHA6.5 用户手册    
软件级的watchdog可以用来保证TurboHA程序的健壮性但并不能保障操作系 统的自动重启恢复; 如果有硬件watchdog,请输入硬件watchdog对应的驱动模 块的名字,如果没有硬件watchdog,建议配置软件watchdog,输入操作系统默认 附带的软件watchdog的模块名字softdog即可。
Information about power switch connected to member 0 Specify one of the following switches (NONE/RSA/RPS10/APC) [NONE]: NONE Power switch type set to NONE
Information about watchdog to member 0 Choose one of the following watchdog drivers: NONE/softdog/...) [NONE] : softdog
(5) 配置对方节点信息
对方节点信息包括节点的机器名,heartbeat的设置,watchdog driver等。设 置方法和本地完全一样。
---------------------------------------­Setting information for cluster member 1
---------------------------------------­Enter name of cluster member: test2 Looking for host test2 (may take a few seconds)... Host test2 found Cluster member name set to: test2
You previously selected 4 channels Information about channel 0: Channel type selected as net Enter hostname of cluster member test2 on heartbeat channel 0: hb21
  72 
TurboHA6.5 用户手册    
Looking for host hb21 (may take a few seconds)... Host hb21 found Channel name set to: hb21 Information about channel 1: Channel type selected as net Enter hostname of cluster member test2 on heartbeat channel 1: hb22 Looking for host hb22 (may take a few seconds)... Host hb22 found Channel name set to: hb22 Information about channel 2: Channel type selected as net Enter hostname of cluster member test2 on heartbeat channel 2: test2 Looking for host test2 (may take a few seconds)... Host test2 found Channel name set to: test2 Information about channel 3: Channel type selected as serial Enter device name [/dev/ttyS0]: /dev/ttyS0 Device name set to: /dev/ttyS0
Information about power switch connected to member 1 Specify one of the following switches (NONE/RSA/RPS10/APC) [NONE]: NONE Power switch type set to NONE
Information about watchdog to member 1 Choose one of the following watchdog drivers(NONE/softdog/...) [NONE]: softdog
(6) 配置对方节点信息
  73 
TurboHA6.5 用户手册    
您需要配置两个节点都可以连接的第三方IP 地址(要求能ping通,一般选择 网关作为第三方IP)。如果条件具备,建议您配置第三方 IP
如果条件实在不具备,输入no,然后回车。
Do you want TurboHA to determin network status? (yes/no) []: yes
The IP address of a third computer is needed to determin network status. The third computer should be up all the time, so it is recommend to use gateway IP address here. Please use IP address instead of domain name.
Enter the IP address of a third computer []: 172.16.68.1 Looking for host 172.16.68.1 (may take a few seconds)... Host 172.16.68.1 found …… ……
(7) 保存配置
如果以上内容全部配置完毕,member_config将会询问是否保存改动。如果刚 才的配置没有错误,请输入“yes”或直接回车。
然后程序还会询问是否运行“diskutil –I”来初始化配置文件,这里请选择“yes”。
注意:
TurboHA的守护进程正在运行时,请不要选择运行diskutil -I 来初始
化配置文件,以免造成不可预知的后果。
Save changes? yes/no [yes]: yes Writing to output configuration file...done.
  74 
TurboHA6.5 用户手册    
Changes have been saved to /etc/opt/cluster/cluster.conf
---------------------------­Setting up Quorum Partitions
---------------------------­Run diskutil -I to set up the configure file now?
- Select 'yes' to clean up a previous install
- Select 'no' if you have just set them up on other member and have not started the cluster services on that member
- Select 'no' if you are running it on other cluster member Warning: Do not run 'diskutil -I' on a running cluster, because it would have severe consequences. yes/no [no]: yes
Saving configuration information to configure file: done
5.2.2 在对方节点上同步配置
配置完成之后,需要把配置文件/etc/opt/cluster/cluster_raw.conf 手工拷贝到另 外一台机器的相同目录里(使用scp或者ftp均可)。
例如:
[root@test2 root]# scp test1:/etc/opt/cluster/cluster* /etc/opt/cluster
5.2.3 利用备份的配置文件配置TurboHA6.5
如果您想使用过去备份的配置文件cluster.conf来对TurboHA6.5进行初始化配 置,您可以使用下面简单的命令在其中一台节点上生成配置文件。
  75 
TurboHA6.5 用户手册    
[root@test2 root]# /opt/cluster/bin/diskutil –I [root@test2 root]# /opt/cluster/bin/clu_config –f cluster.conf
然后您可以将配置文件/etc/opt/cluster/cluster_raw.conf 手工拷贝到另外一台 节点的相同目录里。
注意:
请不要手工编辑cluster.conf 文件,请使用cluadmin 工具或者
guiadmin工具来修改文件。
TurboHA6.5集群的初始化配置完成以后,您就可以添加服务了。请参见服务 配置与管理的相关章节来了解更多信息。
5.3 运行TurboHA6.5
初始化配置完成之后,需要在两边节点分别运行 TurboHA6.5。脚本
/etc/init.d/cluster 可以用来启动TurboHA6.5
[root@test1 root]# /etc/init.d/cluster start
-------- Performing cluster start --------------------­Start TurboHA...done.
---- Performing guiadmin server start ---­Starting guiadmin server...done.
---- Completed guiadmin server start ----
-------- Completed cluster start --------------------­[root@test1 root]#
  76 
TurboHA6.5 用户手册    
5.4 停止TurboHA6.5
如果想停止 TurboHA6.5,需要在两边节点分别运行脚本/etc/init.d/cluster stop。
[root@test1 root]# /etc/init.d/cluster stop
-------- Performing cluster stop ---------------------
---- Performing guiadmin server stop ---­Stopping guiadmin server: done.
---- Completed guiadmin server stop ---­Shutting down clumon: done. Sending stop message to svcmgr: done. Waiting for Cluster Daemons to exit. Stopping syncd: done. Stopping hb: done. Stopping svcmgr: done. Stopping powerd: done. Stopping svccheck: done.
-------- Completed cluster stop --------------------­[root@test1 root]#
注意:
请不要执行完/etc/init.d/cluster start后立即执行/etc/init.d/cluster stop,
请确认 TurboHA启动完成后再执行/etc/init.d/cluster stop。
  77 
TurboHA6.5 用户手册    
第六章 配置和管理工具说明
TurboHA6.5有两个配置和管理工具:文本界面的cluadmin工具和图形界面的 guiadmin 工具。
6.1 cluadmin 工具
cluadmin TurboHA6.5的文本界面配置和管理工具,位于/opt/cluster/bin路 径下。cluadmin类似bash,可以使用TAB 键进行命令补全。
利用cluadmin 工具,您可以完成以下的任务:
Ø 配置和管理集群
Ø 显示集群的状态
Ø 配置和管理服务
Ø 显示服务的状态
Ø 配置和管理磁盘镜像设备
cluadmin 工具使用advisory lock(咨询锁)来防止TurboHA6.5 配置文件被多 个用户同时修改。只有占有advisory lock 的用户才可以修改配置文件。在您调用 cluadmin 工具的时候,TurboHA6.5 将检查锁是否已经分配给别的用户了;如果没 有分配出去,那么TurboHA6.5 就会把它分配给您。在您退出cluadmin 工具时会 自动释放锁。
如果别的用户正占有该锁,程序会显示警告提醒您配置文件数据库已被锁定。 TurboHA6.5会让您选择是否强占该锁。如果您选择了强占该锁,之前的占有者将 不能继续修改TurboHA6.5 的 配置文件。
  78 
TurboHA6.5 用户手册    
如果不是迫不得已最好不要强占锁,因为不一致的同时配置可能会导致不可预 料的集群行为。此外,我们建议每次只对TurboHA 配置文件进行一项改动(添加、 修改或删除服务)。
您可以在cluadmin 命令行中指定如下选项:
选项 说明
-d or --debug 显示详细的诊断信息,用于调试
-n or --nointeractive 绕过cluadmin 工具的顶级命令循环处理, 用于cluadmin的调试
-s or --stack-trace 显示cluadminstack trace,用于调试
-V or –version 显示cluadmin 的当前版本信息
-h, -?, or – help 显示工具的帮助信息
一般情况下,使用 cluadmin不需要指定命令选项,直接执行cluadmin命令就
可以了。例如:
[root@test1 root]# cluadmin Fri Jul 8 10:47:49 CST 2005
You can obtain help by entering help and one of the following commands:
cluster service clear help apropos nbd exit cluadmin>
  79 
TurboHA6.5 用户手册    
注意: 如果您使用的是Turbolinux 中文版,则在运行 cluadmin 之前,请先在bash
下执行“unset LC_CTYPE”。
运行/opt/cluster/bin/cluadmin,然后在cluadmin中按下两次TAB键,会显示 如下所示的所有命令。([Tab] [Tab]表示连续按两下Tab 键,有的系统可能只需要 按一次Tab键)
cluadmin>[Tab] [Tab] apropos clear exit help cluster status cluster monitor cluster loglevel cluster loglevel syncd cluster loglevel svcmgr cluster loglevel svccheck cluster loglevel powerd cluster loglevel heartbeat cluster loglevel clumon cluster heartbeat cluster mail from cluster mail to cluster mail smtpserver cluster mail level cluster watchdog cluster reload
  80 
cluster name cluster edit cluster backup cluster restore cluster saveas cluster restorefrom service add service show state service show config service show services service modify
TurboHA6.5 用户手册    
service disable service enable service relocate service delete nbd add nbd delete nbd show help apropos help clear help exit help help help cluster status help cluster monitor help cluster loglevel help cluster reload help cluster name help cluster edit help cluster backup
  81 
help cluster restore help cluster saveas help cluster restorefrom help service add help service show state help service show config help service show services help service modify help service disable help service enable help service relocate
TurboHA6.5 用户手册    
help service delete help nbd add help nbd delete help nbd show
下表介绍了cluadmin 工具的命令和子命令:
命令 子命令 说明
apropos
显示与指定字符串参数匹配的cluadmin 命令,如果没有指定参数则显示所有
cluadmin 命令。例如: cluadmin> apropos service
clear
清除屏幕显示。
exit
退出cluadmin。 其它的退出命令还可以有quit, q。
help
显示指定cluadmin 命令或子命令的帮助 信息。例如:
cluadmin> help service add
cluster status
显示当前集群状态的快照。例如:
  82 
cluster monitor
cluster loglevel
cluster heartbeat
TurboHA6.5 用户手册    
cluadmin> cluster status 5 秒为间隔不断地显示集群状态快照。按
Return Enter 回车键即可停止显 示。您可以加上带有数值参数的-interval 选项,程序将按照参数指定的时间间隔 (以秒为单位)显示状态快照。此外,您 可以加上带有yes no 参数的-clear 选 项:Yes 表示每显示一次就清屏;no 表 示不清屏。例如:
cluadmin> cluster monitor -clear yes
-interval 10
显示当前各个进程的日志级别,加上参数 可以为进程指定日志级别。例如:
cluadmin> cluster loglevel syncd 7 设置心跳端口,间隔和tko_count。例如: cluadmin> cluster heartbeat interval 20
cluster mail
cluster watchdog
cluster reload
cluster name
设置邮件告警的源地址,目的地址,邮件服 务器和发送邮件的事件的日志级别。例如:
cluadmin> cluster mail from
name@turbolinux.com.cn
设置watchdogtimeout。例如:
cluadmin> cluster watchdog wdtimeout 600
强制各个进程重新读配置文件
将集群的名称改为指定的名称。集群名称 包括在clustatcluster 监视命令的输出 结果中。例如:
cluadmin> cluster name dbcluster
cluster backup
备份配置文件,备份后的配置文件的名字 为:/etc/opt/cluster/cluster.conf.bak
cluster restore
从备份的配置文件 /etc/opt/cluster/cluster.conf.bak 恢复配置。 在执行cluster restore之前,另一端的
  83 
TurboHA必须停止。
TurboHA6.5 用户手册    
cluster saveas
cluster restorefrom
service add
service show state
service show config
以指定文件名的方式备份配置文件,例如:
cluadmin> cluster saveas /etc/opt/cluster/cluster_backup.conf
从指定的文件恢复TurboHA的配置。例如:
cluadmin> cluster restorefrom /etc/opt/cluster/cluster_backup.conf
添加服务。
显示服务的状态。
显示服务的配置。
service show services
service modify
service disable
service enable
service relocate
service delete
Nbd add
Nbd delete
Nbd show
显示所有的服务。
修改服务。
禁用服务。
启用服务。
切换服务。
删除服务。
添加镜像设备。
删除镜像设备。
显示镜像设备的配置。
  84 
TurboHA6.5 用户手册    
在运行cluadmin 工具时,您可以使用Tab 键来帮助确认cluadmin 命令。
Ø cluadmin> 下按住Tab 键可显示所有命令列表。 Ø 在提示符后输入字符,按下Tab 键可显示以输入字符开头的命令。 Ø 输入一个命令,按下Tab 键可显示该命令包含的所有子命令。 Ø 此外,您可以使用上下箭头键在提示符处显示使用过的cluadmin 命令。
注意:
因为TurboHA 6.5 是通过网络同步配置,所以只有当两个节点的 HA 同时运 行,才可以使用配置工具来进行配置;或者在两个节点HA 启动之前,只在一个节 点进行一些配置,然后在HA 启动时由 HA 自动同步。但是不可以在两个节点的 HA 都没有启动时,在两个节点都运行配置工具,这样HA 因为无法判断哪个配置 更新,而无法同步配置。另外HA 采用时间戳来判断两个节点的配置是否同步,所 以不要轻易修改系统时间。如果确实需要修改系统时间,则需要手工copy 其中一 个节点的配置文件/etc/opt/cluster/cluster_raw.conf 到另外一个节点上(这时候
HA 应该处于停止状态),再重新启动HA。这种方法也适合所有配置冲突的情况。
6.2 guiadmin 工具
6.2.1 guiadmin介绍
TurboHA6.5提供了一个图形用户界面(guiadmin),可用于配置、管理和监控
HA系统。guiadmin 支持跨平台操作,并可以实现对HA 系统的远程监控。guiadmin
分为客户端和服务器两部分,服务器端运行在HA 系统的两个节点上;客户端可以 运行在任意操作系统上,如:linux、unix、windows系列操作系统。由于guiadmin 的客户端是一种GUI程序,所以如果您在linux或者unix系统使用,必须在客户端 系统中先启动X Windows,在X Windows下运行该客户端程序。
guiadmin 可以实现很多管理和配置的功能,其中包括:
l 配置、修改心跳参数
l 配置、修改集群进程日志级别
  85 
l 配置、修改邮件提示参数
l 配置、修改watchdog信息
l 显示节点的配置信息
l 增加服务
l 修改服务
l 禁用服务
l 启用服务
l 切换服务
TurboHA6.5 用户手册    
l 删除服务
l 显示集群和服务状态
6.2.2 guiadmin模块介绍
guiadmin 能够实现的功能与cluadmin 非常相似,绝大部分在cluadmin 中实现 的功能在guiadmin里面均可以实现,并且使用起来更加方便,快捷。运行 guiadmin 程序时,您将看到带有两个选项卡的主窗口。每个选项卡代表一个模块,用户可以 点击选项卡来进行模块切换:
1. TurboHA(配置):该模块用来配置和监视各TurboHA各组件和服务的相 关信息。
2. Status(状态):该面板显示了两个集群节点的当前状态。每3 秒刷新一次。
配置模块分为左右两部分。左边是节点树,不同的节点代表不同的功能项;右
边是主面版,显示每个功能项的具体信息。
节点树的底部有两个控制按钮。
  86 
TurboHA6.5 用户手册    
1. Apply”:把用户所做的全部修改提交到服务器端,不退出客户端界面。
2. Close”:取消全部修改并退出。 如果用户对服务进行了“Remove”、
Enable”、“Disable”、“Relocate”操作,则点击“Cancel”键不能够恢复以 上动作。
注意:
1guiadmin 工具每次只能在一个集群系统上运行,即不能够使用两个客户端
程序同时对一个集群系统进行操作。
2:使用guiadmin工具的同时不要使用其它工具来进行配置。
3:使用guiadmin过程中如果 TurboHA 数据发生变化,或者服务状态发生变
化,请重新启动客户端进程或者重新连接服务器。
下图是已经和服务器建立连接的客户端主窗口:
  87 
TurboHA6.5 用户手册    
下表描述了整个guiadmin 中各个模块及窗口的特性。
特性 说明
配置模块 能够查看和修改所有集群和服务配置数据的核心管理工具。
可以查看和改变所有服务状态的核心服务管理工具。
状态模块 可以实时查看集群状态的监视工具。
Apply(应用)按钮 提交配置模块中的条目或数据改动到服务器端,并使用户的改动生
效。不关闭 guiadmin 客户端进程。
Cancel(取消)按钮 取消配置模块中的数据条目,关闭guiadmin 客户端进程。
6.2.3 登陆密码的设定
为了保证安全性,guiadmin需要客户端使用者在连接服务器端的同时输入用户 名和密码。用户名和密码由管理人员使用密码生成工具设置, /opt/cluster/bin/passwdgenerate就是专门生成guiadmin连接密码的工具。 
运行passwdgenerate命令,按照提示输入用户名和密码(用户名、密码不能够 为空),这样用户名和密码就保存在磁盘上。当用户连接服务器端的时候,服务器 端进程会检查用户名和密码的正确性。 
如果用户想修改以前所设定的密码,那么可以再次运行该命令,按照提示输入 用户名和密码即可。 
用户在一个节点上设置完密码后,需要把/opt/cluster/lib/passwd文件手动拷 贝到另外一个节点的/opt/cluster/lib目录下,保持两个节点的连接密码一致。 
  88 
TurboHA6.5 用户手册    
第七章 配置和管理TurboHA6.5的服务
7.1 配置服务前的准备工作
如欲配置某项服务,您必须为其准备好所需的相应的资源信息。配置服务前的
准备工作主要有:
1) 收集服务相关的信息。
2) 创建服务的启动和停止脚本。
3) 选择或编写供检测服务使用的应用代理。
4) 设置服务使用的磁盘存储设备。
7.1.1 收集服务信息
在创建某项服务之前,您必须收集有关的服务资源和属性信息。当您用 cluadmin 工具将某项服务添加到TurboHA 配置文件时,cluadmin 工具将向您做出 信息提示。
在某些情况下,您可以为一项服务指定多个资源。例如,您可以指定多个 IP 地 址和磁盘设备。
下表中对您可以指定的服务属性和资源进行了说明。
服务属性或资源 说明
服务名称 每项服务都必须拥有一个单独的服务名称。每个服务名称可以包含 1
63 个字符,并且必须由字母(大写字母或小写字母)、整数、下 划线、点和破折号等组成。但是,服务名称必须以字母或下划线开头。
  89 
TurboHA6.5 用户手册    
服务属性或资源 说明
首选成员 指定在不发生故障切换或者不通过手动对服务进行切换时,您希望在
哪个集群节点(如果有的话)上运行该服务。
用户脚本 用来启动和停止服务的脚本。
检测脚本,检查的时 间 间 隔 , 检 查 的 timeout,允许的最大 出错次数
浮动 IP
磁盘镜像设备 如果您的服务需要使用磁盘镜像设备,您必须指定磁盘镜像设备的ID
检测脚本用来在服务运行过程中对服务的运行情况进行检查,服务检 测进程每隔一定的时间间隔调用一次检测脚本,如果在指定的 timeout 时间内检测脚本没有返回,则认为本次检查失败,如果服务 检测出错的次数超过了允许的最大出错次数,则认为服务出错。
您可以为某项服务指定一个或多个浮动IP地址。对于某个集群系统来 说,该IP地址与带有主机名称的以太网接口的IP地址不同,因为在出 现故障时,它可随同服务资源一起自动重新定位。如果客户机使用该 IP地址来访问服务,则它们不知道哪一台节点在运行服务,并且故障 切换对于客户机是透明的。注意,集群节点必须在某项服务中指定的 每一个IP地址的所在子网中配有网卡。您还应当为每一IP地址指定子 网掩码和广播地址。
号,这个 ID 号是在创建磁盘镜像设备时分配的。一个服务最多可以 设置 16 个磁盘镜像设备。
磁盘分区 磁盘分区可以为物理磁盘分区也可以是磁盘镜像设备。一个服务最多
可以设置 16 个磁盘分区。
检查磁盘 指定是否对磁盘进行检查。因为对 SCSI 磁盘和其它磁盘的检查方式
不同,所以需要指定磁盘是否是 SCSI 磁盘。还需要指定检查磁盘的 timeout
  90 
服务属性或资源 说明
TurboHA6.5 用户手册    
挂载点、文件系统类 型和挂载选项
磁盘分区的所有者、 组和访问模式
服务启动 timeout
服务停止 timeout
如果您的服务要使用某个文件系统,则您必须指定该文件系统的类 型、一个挂载点和任何挂载选项。您可以指定的挂载选项应是在 mount.8 manpage 中介绍的标准文件系统挂载选项。如果您的服务 使用裸设备,则无需指定挂载信息。 ext3等日志文件系统是推荐使用的文件系统。 此外,您必须确定是否希望为某个文件系统启用强制卸载 (forced unmount)功能。强制卸载功能可使集群服务管理基
础设施卸载正在被应用或用户访问的文件系统(就是说,即使文件系 统处于“繁忙”状态时也不例外)。
您可以为每一磁盘分区的挂载点或裸设备指定所有者、组和访问模式 (例如755)。
您可以指定服务启动的timeout,对没有使用磁盘镜像设备的服务,一 般服务启动的timeout直接选择默认值就可以了。
您可以指定服务停止的timeout,对没有使用磁盘镜像设备的服务,一 般服务停止的timeout直接选择默认值就可以了。
服 务 停 止 失 败 时
reboot
禁用服务政策
您可以指定服务停止失败时是否reboot机器。当服务停止失败时,服 务的状态将变为error,服务所占用的资源可能并没有释放,选择 reboot可以自动释放服务的资源。
如果您不希望将某项服务添加到集群后就自动启动它,则可以将其设 为禁用状态,直到管理员明确启用该项服务为止。
7.1.2 创建服务脚本
对于包含某一应用的服务,您必须创建一个包含具体指令的脚本(称为服务脚本 或用户脚本)来启动和停止该应用(例如,数据库应用程序)。该脚本将通过一个启 动或停止参数来调用,并在服务启动时和停止时运行,且应与系统V init 目录中出 现的脚本相似。
TurboHA6.5 安装光盘的doc/examples目录下有用户脚本的例子,名字为 usrapp.sh,您可以参照它来编写自己的用户脚本。另外,在例子中还有一些标准的 应用的用户脚本(例如,Oracle等),用户只要稍加改动或不用改动即可使用。
  91 
TurboHA6.5 用户手册    
在编写用户脚本时,需要注意以下的问题:
1) 脚本的参数必须包含对输入参数start、stop的相应处理,在启动部分加 入用户所有程序的启动命令,在停止部分加入用户所有程序的停止命令。 也就是说脚本的格式必须是规定的格式。请参照例子进行编写。
2) 请在脚本中加入log信息,以便发生故障时准确定位故障原因。
3) 脚本执行成功时要明确返回0,失败时要明确返回1。特别是当应用程序有
标准的启动/停止脚本时,请确认该脚本在成功时是否返回 0,失败时是否 返回1,如果不是,请不要直接使用应用程序提供的脚本,请手动编写脚 本。
4) 对于操作系统默认安装的一些应用的脚本,如httpd,该脚本的返回值在 启动/停止时会判断是否已经启动/停止了,在已经启动/停止时,该脚本返 回值是1,这不满足 TurboHA的接口,需要将其改成 0。当然,用户自写 的脚本在判断是否已经启动/停止时,也应该满足返回值为0 的条件。
5) 如果启动和停止分别有多步操作,停止操作的执行顺序一定要和启动操作 的执行顺序相反。
6) 用户脚本要有可执行权限。
用户脚本写好后,请务必通过测试检查用户脚本是否正确。
例如,用户脚本的名字为usrapp.sh。
1) 启动
首先执行 usrapp.sh start。
然后 echo $?,判断脚本的返回值是否为00表示脚本执行成功。
  92 
TurboHA6.5 用户手册    
检查应用程序是否正常启动。
如果脚本的返回值为0 并且应用程序正常启动了,表示用户脚本在启动时是
正确的。
2) 停止
首先执行 usrapp.sh stop。
然后 echo $?,判断脚本的返回值是否为00表示脚本执行成功。
检查应用程序是否正常停止。
如果脚本的返回值为0 并且应用程序正常停止了,表示用户脚本在停止时是
正确的。
用户服务脚本的一个例子如下所示:
#!/bin/sh
# userscript sample
LOG_EMERG=0 # system is unusable LOG_ALERT=1 # action must be taken immediately LOG_CRIT=2 # critical conditions LOG_ERR=3 # error conditions LOG_WARNING=4 # warning conditions LOG_NOTICE=5 # normal but significant condition LOG_INFO=6 # informational LOG_DEBUG=7 # debug-level messages
script_name=`basename $0`
  93 
TurboHA6.5 用户手册    
clulog() { log_level=$1 log_info=$2 /opt/cluster/bin/clulog -p $$ -n $script_name -s $log_level "$log_info" }
case "$1" in start) # start your application, put actual start actions here su - oracle -c "dbstart"
if [ $? -eq 0 ]; then
# should check application process here pmon=`ps -ef | egrep ora_pmon_$ORACLE_SID | grep -v grep` if [ "$pmon" = "" ]; then clulog $LOG_ERR " oracle database start failed, process not exist." # must return 1 here exit 1 fi clulog $LOG_INFO " dbstart succeeded." else clulog $LOG_ERR " dbstart failed, ret=$?." # must return 1 here exit 1 fi su - oracle -c "lsnrctl start" if [ $? -eq 0 ]; then clulog $LOG_INFO " lsnrctl start succeeded."
  94 
Loading...