GreatTurbo HA10
用户快速安装手册
版权所有 (c) 2005
北京拓林思软件有限公司
目录
GREATTURBO HA10介绍................................................................................................................................................................1
1.GREATTURBO HA的历史 ............................................................................1
2.GREATTURBO HA10的使用限制 ......................................................................1
3.GREATTURBO HA10的相关术语 ......................................................................2
4.GREATTURBO HA10快速安装手册的使用方法 ..........................................................3
5.GREATTURBO HA10快速安装的主体过程 ..............................................................3
第 1 章 安装 GREATTURBO HA10前的准备工作.........................................................................................................................5
1.了解和分析您的应用............................................................................5
2.准备 GREATTURBO HA10需要的硬件环境..............................................................6
3. 准备 GREATTURBO HA10需要的软件环境 ..............................................................7
4. 安装 GREATTURBO HA10前需要准备的操作系统的配置 ..................................................7
5. 安装 GREATTURBO HA10前需要准备用户的应用程序 ....................................................8
6. 安装 GREATTURBO HA10的配置示例 ..................................................................8
第 2 章 安装 GREATTURBO HA10................................................................................................................................................11
1.确认您所使用的GREATTURBO HA10产品的类型.......................................................11
2.安装 GREATTURBO HA10...........................................................................11
3.注册 GREATTURBO HA10产品.......................................................................12
第 3 章 系统配置.......................................................................................................................................................................16
1.选择其中一节点进行系统配置...................................................................16
2.在对方节点上同步配置.........................................................................21
3.运行 GREATTURBO HA10...........................................................................21
第 4 章 用户脚本和检测脚本...................................................................................................................................................23
1.用户脚本.....................................................................................23
2.检测脚本.....................................................................................26
第 5 章 配置服务(使用共享磁盘).......................................................................................................................................29
1.配置工具.....................................................................................29
2.配置条件.....................................................................................29
3.配置命令.....................................................................................29
4.配置服务.....................................................................................31
5. 修改服务.....................................................................................36
6. 删除服务.....................................................................................36
7. 启动服务.....................................................................................37
8. 停止服务.....................................................................................37
9. 切换服务.....................................................................................38
第 6 章 配置服务(不使用共享磁盘) ...................................................................................................................................39
1.配置工具.....................................................................................39
2.配置条件.....................................................................................39
3.配置命令.....................................................................................39
4.配置服务.....................................................................................41
5. 修改服务.....................................................................................44
6. 删除服务.....................................................................................45
7. 启动服务.....................................................................................45
8. 停止服务.....................................................................................46
9. 切换服务.....................................................................................46
第 7 章 配置服务(使用磁盘镜像设备,KERNEL2.4)..........................................................................................................47
1.安装磁盘镜像软件(DRBD)........................................................................47
2.注册具有磁盘镜像功能的LICENSE.................................................................48
3.配置磁盘镜像设备.............................................................................48
4.添加使用磁盘镜像设备的服务...................................................................50
5. 修改服务.....................................................................................55
6. 删除服务.....................................................................................56
7. 启动服务.....................................................................................56
8. 停止服务.....................................................................................57
9. 切换服务.....................................................................................57
第 8 章 配置服务(使用磁盘镜像设备,KERNEL2.6)..........................................................................................................58
1.安装磁盘镜像软件(DRBD)........................................................................58
2.注册具有磁盘镜像功能的LICENSE.................................................................59
3.配置磁盘镜像设备.............................................................................59
4.添加使用磁盘镜像设备的服务...................................................................62
5. 修改服务.....................................................................................67
6. 删除服务.....................................................................................67
7. 启动服务.....................................................................................68
8. 停止服务.....................................................................................68
9. 切换服务.....................................................................................69
第 9 章 使用 GUIADMIN来配置 GREATTURBO HA......................................................................................................................70
1.GUIADMIN说明..................................................................................70
2.配置条件.....................................................................................71
3.安装、启动 GUIADMIN的命令......................................................................71
4.连接 GREATTURBO HA服务器.......................................................................72
5.GUIADMIN功能介绍..............................................................................74
6. 停止 GUIADMIN..................................................................................79
7. 卸载 GUIADMIN..................................................................................79
第 10 章 检查 GREATTURBO HA10的运行状态.........................................................................................................................80
1.检查各守护进程的运行状态.....................................................................80
2.检查集群与服务的运行状态.....................................................................80
3.检查 DRBD的运行状态...........................................................................83
第 11 章 卸载 GREATTURBO HA10.............................................................................................................................................. 83
1.卸载 GREAT TURBO HA10 .......................................................................83
2.卸载 DRBD ....................................................................................83
3.卸载 GUIADMIN 客户端..........................................................................83
附录 GREATTURBO HA10 的维护......................................................................................................................................83
1.GREATTURBO HA10的日志信息 .....................................................................83
2.FAQ..........................................................................................83
3. LOG收集工具的使用方法 ........................................................................83
4.联系拓林思软件有限公司.......................................................................83
G R E A T T U R B O H A 1 0 用 户 快 速 安 装 手 册
介绍
注意事项
在您开始使用 GreatTurbo HA10之前,请您全面仔细
的阅读本用户手册!否则,可能会因为您的疏忽而使
得安装过程出现不必要的问题!
G r e a t T u r b o H A 1 0介绍
GreatTurbo HA10是北京拓林思软件有限公司推出的、为满足 Linux平台电信级
和企业级应用的高可用产品。GreatTurbo HA10提供的双机高可用方案能够更好
的满足用户业务的连续性,并且能够满足不同应用对高可用的要求。
1.GreatTurbo HA的历史
自 2001年以来,北京拓林思软件有限公司先后推出了两个系列的 HA产品:
TurboHA6.0和 TurboHA6.5。GreatTurbo HA是 TurboHA的升级版,GreatTurbo
HA10对 TurboHA进行了多个方面的改进。
2.GreatTurbo HA10的使用限制
² GreatTurbo HA10只支持主流 Linux平台的双节点高可用。
² GreatTurbo HA10暂不支持并行处理的应用。也就是说,不支持同一个应用
在两个节点同时并发运行的应用。例如:Oracle 9i RAC。
² GreatTurbo HA10的稳定性需要 OS提供支撑。如果当操作系统宕机时,可
能会出现因 OS没有彻底释放资源而导致 HA系统丧失高可用功能。在这种情
况下,除非有额外的硬件设备,否则 GreatTurbo HA10并不能够完全保证能
够自动恢复操作系统。此时需要用户手工干预操作系统,对崩溃的操作系统
进行复位操作。也就是说,当 OS宕机时(尽管这种可能性很小),如果用
户没有以下硬件作为保障,仍然有可能会出现用户业务中断的可能:
1)采用电子开关。
2)服务器节点采用支持硬件 watchdog功能的主板。
² 配置 GreatTurbo HA10的两台计算机节点的心跳方式时,必须保证至少一条
心跳通道正常工作。如果两台节点之间的所有心跳通道都发生故障而不能正
常连通,有可能会导致 GreatTurbo HA10发生裂脑(split-brain)。发生
裂脑后,GreatTurbo HA10有可能会导致用户的资源不一致。为了完全杜绝
裂脑现象的发生,可以采用如下方法:
1
G R E A T T U R B O H A 1 0 用 户 快 速 安 装 手 册
1) 采用电子开关。
2) 使用第三方参考 IP,有关第三方参考 IP的介绍将在第三章详述。
其中第一种办法是使用硬件的办法,由于电子开关是额外的电子硬件设
备,需要用户自行购买,所以实际中采用这种方式并不多;而第二种方式是
软件的方法,可以保证 GreatTurbo HA10发生裂脑时,用户的资源不受损失,
但是需要用户提供另一个永久性正常工作的参考性 IP地址。
3.GreatTurbo HA10的相关术语
节点 : 指运行GreatTurbo HA10程序的计算机。
服务 : 也叫做资源组,指用户应用相关的一组资源的集合,包括用户应用的进程
资源、磁盘资源、网卡资源、浮动 IP资源、drbd镜像资源等。服务可以是其中几
种资源或者全部资源的组合。服务也可以为空,即不包括任何资源。通常用户的一
个应用与GreatTurbo HA10的一个服务对应。
主节点 : 指服务运行所在的节点。
备节点 : 指完全没有服务运行的节点。如果主节点发生任何故障,服务就会从主
节点迁移到备节点。此时的备节点也就转变成主节点,此前的主节点也就转变成备
节点。
主备方式 : 常见的主备方式有Active-Standby、Active-Active。Active-Standby
是指服务仅在一个节点上运行。Active-Active是指在两个节点都有服务运行。也
就是说,Active-Active方式时都是主节点,也都是备节点,互为主备关系。
优先节点(preferred node): 指服务将优先运行的节点。当配置一个服务时,
可以给这个服务设定优先节点。一般有两种情况建议配置优先节点,一种情况是当
两个服务器节点的硬件配置不一样时,应当将服务的优先节点设定为硬件配置较好
的节点;另一种情况是当需要配置多个服务且应用的负载较重,而且希望两个服务
分别在两个节点上运行以分担负载时,可以给这两个服务分别各设定一个节点作为
优先节点。
例如:假设服务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节点启动的时间。其中,服
务的启动/停止时间是由用户的应用来决定的,一般不能够进行调整,而服务检测
到错误的时间可以通过GreatTurbo HA的配置参数来进行调整。
2
G R E A T T U R B O H A 1 0 用 户 快 速 安 装 手 册
服务检测到错误的时间 = 服务检查的间隔时间(check interval) * 服务连续
检查到错误的次数(check count)。Check interval和 check count参数可以在
配置服务的检测脚本时进行指定。这样,只有当GreatTurbo HA检测到连续出错次
数达到指定的次数后,GreatTurbo HA才认为服务确实出错。服务确实出错后,会
自动触发GreatTurbo HA进行服务的迁移。
裂脑(split-brain): 所谓裂脑,是指 HA的节点之间彼此失去了联系,但是单
个节点的 HA仍然运行正常。发生裂脑的充要条件是:1. HA的两个节点之间的所
有心跳通道都发生了故障,导致HA的两个节点失去了任何联系。2. 两个节点的HA
软件正在正常运行。
裂脑带来的直接后果是导致两个节点都会各自启动并运行同一个服务,竞争同
一个服务的资源,这样有可能会导致资源(尤其是共享数据)被损坏。
drbd(磁盘镜像设备) : 是指对两个节点各自大小相同的本地磁盘分区进行实时
镜像操作,使得这两个本地磁盘对双方节点而言,可以当作一个虚拟的共享磁盘阵
列来使用,这个虚拟的共享磁盘阵列就叫做drbd设备,可以把drbd当作普通的磁
盘设备来使用。
Watchdog(看门狗) : Watchdog分为硬件级和软件级两种。硬件级watchdog是
用来保障操作系统自动恢复的一种手段,如果服务器节点的主板支持 watchdog功
能,那么在GreatTurbo HA10中可以进行相应的配置,当操作系统发生死机等不响
应情况,主板就会将操作系统自动重启恢复,而无需人工干预,这一点对于“24 *
7”方式运行的服务器而言非常有用。而软件级的 watchdog可以用来保证
GreatTurbo HA程序的健壮性但并不能保障操作系统的自动重启恢复。所以硬件级
的watchdog更加实用。
4.GreatTurbo HA10快速安装手册的使用方法
由于本手册是快速安装文档,所以各个章节的部分基本上都需要仔细阅读。其
中第五章、第六章、第七章根据您的应用类型选择其中一章进行阅读即可,其余章
节都是必读部分。
5.GreatTurbo HA10快速安装的主体过程
GreatTurbo HA10快速安装的主体过程有如下六个步骤:
1) 进行安装/使用GreatTurbo HA10前的准备工作。(第一章介绍)
2) 安装GreatTurbo HA10软件。(第二章介绍)
3) 配置GreatTurbo HA10软件。(第三章介绍)
4) 准备服务的用户脚本和检测脚本。(第四章介绍)
5) 根据您的应用类型,将应用配置成高可用的服务。(第五/六/七/八章介绍)
6) 监控和维护GreatTurbo HA10系统。(第九章介绍)
3
G R E A T T U R B O H A 1 0 用 户 快 速 安 装 手 册
另外本手册在第十章介绍了如何卸载GreatTurbo HA10,并且在附录中还列出
了GreatTurbo HA10安装使用过程中常见的问题以及如何进行一些后期的维护。
4
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
第 1章
安装G r e a t T u r b o H A 1 0前的准备工作
安装 GreatTurbo HA10之前需要您做好相关的软硬件环境的准备工作。否则,
可能会影响您随后的安装过程,使您遇到不必要的麻烦。
安装前的准备工作可以分为如下四个步骤:
1) 了解和分析您的应用;
2) 准备GreatTurbo HA10需要的硬件环境;
3) 准备GreatTurbo HA10需要的软件环境;
4) 安装GreatTurbo HA10前需要准备的操作系统的配置。
1.了解和分析您的应用
GreatTurbo HA10可以支持绝大多数的双机高可用的应用。根据用户应用是
否需要使用共享的数据资源,GreatTurbo HA10将用户的应用分为三类:
1)第一类应用:需要使用共享磁盘阵列的应用。
这类应用的特点是,应用的数据非常重要且 I/O负载较高,必须使用共享
磁盘阵列来保证应用数据的一致性、可靠性和高性能。此类应用的典型例子是
各类数据库应用,如 Oracle、Sybase、MySQL等。也就是说,使用 GreatTurbo HA10
的双机系统本身作为后台数据系统。
2)第二类应用:不需要使用共享磁盘阵列并且也不需要存取共享数据的应用。
这类应用的特点是,不需要存取共享数据,使用 GreatTurbo HA10的双机
系统只是用于进程和浮动 IP等资源的切换。一般情况下,这种类型的应用只是
用来作为前端接入、前置机来使用。典型的应用有 WEB/MAIL等网络应用或者是
用户自己的业务应用。这类应用通常会有另外的后台数据库系统来保存数据。
3)第三类应用:需要使用共享磁盘阵列但是不具备磁盘阵列硬件条件的应用。
这类应用的特点是 I/O负载较小(<10MB/s),数据本身并不是关键业务数
据,并且该应用需要使用共享的存储设备来保证数据的一致性。对于此类应用,
GreatTurbo HA10提供了虚拟的共享磁盘设备 “磁盘镜像设备”来保证应用数
据的一致性。
注意:
5
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
通常情况下,用户的一个应用对应于 GreatTurbo HA10的一个服务。如果
有多个应用就需要在 GreatTurbo HA10中配置多个服务,依照每个应用的类型,
您可以分别按照第四章、第五章、第六章的内容进行配置。
2.准备GreatTurbo HA10需要的硬件环境
1) 两台 X86架构的计算机;硬件的配置只需满足能够安装主流的 Linux操作系
统的条件即可。推荐用户使用具备 RAID-1级别本地磁盘设备的服务器。
2) 虽然 GreatTurbo HA10本身对硬件的要求不高,但是节点的硬件配置需要
和用户的应用负载相匹配,也就是说用户的硬件环境的性能配置应该满足用户
的应用负载的峰值要求!
3) 每台计算机必须配备三块以上网卡。其中,用作两节点心跳信息的网卡采
用直连网线相连接,至少需要两条直连网线作为心跳线。
网卡的性能要求取决于您的应用的类别。如上所述,如果您的应用类别是
第三类应用时,建议您至少需要使用一块 1Gbps的网卡作为直连网线的设备,
这样可以提高磁盘镜像设备的性能;如果是第一类应用或者是第二类应用时,
网卡性能达到 100Mbps即可(当然如果您的应用对网络带宽要求较高,则也需
使用 1Gbps网卡)。
请将两台计算机的所有用作 GreatTurbo HA通道的对应网卡用直连网线一
一连接起来。
4) 一根串口线。为了保证系统的高可用性,需要再使用一根串口线连接两个节
点的串口。
请将两台计算机对应的串口用串口线连接起来。
5) 是否需要共享的磁盘阵列,取决于您的应用。如果您的应用是第二类或第三
类应用,您可以不需要使用磁盘阵列。如果您的应用是第一类应用,您需要使
用共享的磁盘阵列。
在选用磁盘阵列时,一般分两种情况:第一种是带独立 RAID处理器的磁盘阵
列,主流厂商的 SCSI或光纤磁盘阵列都可以满足 GreatTurbo HA10的要求,这类
磁盘阵列产品的性能强且价格也较高。第二种是使用主机 RAID卡和磁盘柜(磁盘
柜是指不具备硬件 RAID处理器的磁盘盒)的方式,这种磁盘设备不是真正意义上
的磁盘阵列,但通过双机的 RAID卡 clustering技术和RAID的用户接口工具等,
也可以满足GreatTurbo HA10的共享数据存取的需求,常见的这种类型的“磁盘阵
列”的典型产品有IBM 的EXP400、DELL的 220S、HP的 MSA500-G2等,这类“磁盘
阵列”产品的性能和价格一般都较前一种低。
注意:
1) 在配置磁盘阵列和做RAID盘的时候,请认真仔细参考磁盘阵列提供厂商的
手册,根据应用的特点来配置相关参数,如 hotspare盘、raid级别、stripe大小、
cache 策略等。如果不进行配置参数的调优将会导致磁盘阵列的可靠性和I/O性能
受到较大影响。
2) 在使用第二种“磁盘阵列”的时候,一定要仔细询问相应的硬件厂家,其
产品是否支持双机 HA的数据共享应用。另外,建议尽量选择那些缓存较大同时附
带后备电池的 RAID卡型号,以提高 RAID卡的高可用性。
6
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
3) 无论使用那种磁盘阵列,都一定要和硬件厂商确认,该磁盘阵列相关设备
的驱动程序是否为最新的稳定版本,以提高磁盘阵列的高可用性。
3. 准备GreatTurbo HA10需要的软件环境
安装GreatTurbo HA10的软件条件比较简单,只需要满足 TurboLinux 7.0 及
以上操作系统平台即可。
如果您想使用图形界面的管理工具,那么必须保证在客户端和服务器端的操作
系统上提供Java 运行时环境支持,JRE1.4.2及其以上版本。如果您不具备 java
环境,那么也可以使用文本方式的管理工具进行配置。
注意:
用户在安装操作系统时,建议用户采用完全安装操作系统的模式,并且将操作
系统安装在本地具有 RAID-1功能的磁盘设备上。这样可以保证操作系统功能的完
备性和操作系统数据的可靠性。
如果使用图形管理工具,检查/usr/bin目录下的 java是否正确链接到 JRE
目录。
4. 安装GreatTurbo HA10前需要准备的操作系统的配置
两个节点的操作系统配置需要确认如下环节:
1) 请确认您登陆操作系统的身份是 root权限,因为随后的安装配置都需
要是 root权限。
2) 如果您需要使用共享的磁盘阵列,请查看磁盘阵列是否已经可以使用
(包括硬件的配置、RAID的配置、驱动的安装、分区、文件系统等)。
3) 所有网卡是否配置好。(包括直连网线是否连好、hosts文件是否设置
等)。如果使用了串口,查看双方的串口是否正常连接。
4) 由于 GreatTurbo HA10 使 用 了 操 作 系 统的 syslog服务来打印
GreatTurbo HA10的 LOG日志,所以请确认 syslog服务已经配置并且
正在运行。例如:
[root@test1 root]# /etc/init.d/syslog status
syslogd (pid 447) is running...
klogd (pid 457) is running...
5) 如果你需要使用共享磁盘阵列,并且需要在共享磁盘上 make文件系统,
除非特殊的要求,强烈建议文件系统的类型为日志文件系统(例如 EXT3
等)。同时 make文件系统时,注意调整 block参数的大小以便与磁盘
阵列做 RAID盘时的 stripe参数对应成最佳。这样可以提高文件系统的
性能。
7
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
6) GreatTurbo HA10的日志系统要求两台节点的系统时钟一致,以方便后
期维护。如果两台系统时钟不一致,请使用 hwclock以及 date命令来
调整时钟,使得两台节点的时钟大致相同,误差小于 30秒之内。
7) 为了方便后期维护,需要系统的 sshd服务正常运行,并且允许 root
权限进行 ssh登陆。
5. 安装GreatTurbo HA10前需要准备用户的应用程序
接下来,请在两个节点上安装用户的应用程序,两个节点的安装配置都要
求是对等的,也就是说,在两个节点上安装的用户的应用程序所在的目录、使
用的共享磁盘设备名称、网卡名称等都应该一致。
通常,都会将应用程序安装在两个节点的本地硬盘上。
如果如果您的应用类别是第一类应用时,可能还需要在共享磁盘设备上准
备共享的数据。例如:对于 oracle应用,您需要表空间文件存放在共享磁盘设
备上。
上面介绍了安装前需要的准备工作,接下来将通过具体的例子来说明。
6. 安装GreatTurbo HA10的配置示例
现在我们引入一个较为通用的双机软硬件环境的例子来说明具体的过程。
在随后几章的安装、配置、使用等章节中的具体内容将参照如下拓扑结构的情
况进行说明。
8
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
交换机
eth0 172.16.70.10 eth0 172.16.70.20
浮动IP 172.16.70.100
eth1 192.168.1.11 第1条直连网线
Data General Data General
服务器
节点A
eth2 192.168.1.12
eth3 192.168.1.13
SCSI或FC
第2条直连网线
第3条直连网线(可选)
串口线 /dev/ttyS0 /dev/ttyS0
3Com
磁盘阵列
eth1 192.168.1.21
eth2 192.168.1.22
eth3 192.168.1.23
服务器
节点B
SCSI或FC
如上图所示,有两台节点,服务器节点A和节点 B。假设每台机器有四个网卡
eth0-eth3,eth0连接至交换机,eth1-eth3和另一节点的对应网卡通过直连网线
相连,并且两个节点通过串口线将各自的第一个串口相连。此外,两台机器通过
SCSI线缆与共享的磁盘阵列相连。
在节点 A/B两个节点上分别配置好各个网卡的信息(包括IP地址、网络掩码、
广播地址等),分别将 eth0的 hostname设置成主机的 hostname,假设节点 A的
hostname对应于eth0,且设置成test1,节点B的 hostname对应于eth0,且设置
成test2。并且分别在/etc/hosts文件中添加两个主机eth0-eth3网卡的别名。例
如hosts文件内容如下:
172.16.70.10 test1
172.16.70.20 test2
192.168.1.11 hb11
192.168.1.12 hb12
192.168.1.13 hb13
192.168.1.21 hb21
192.168.1.22 hb22
192.168.1.23 hb23
注意:不要把 hostname对应到127.0.0.1这个IP地址。
9
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
其中hb11、hb12、hb13对应节点A的 eth1、eth2、eth3三个网卡;hb21、hb22、
hb23对应节点 B的 eth1、eth2、eth3三个网卡。
10
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
第 2章
安装G r e a t T u r b o H A 1 0
在做好了第一章中所列的各项准备工作之后,现在就可以安装 GreatTurbo HA10
软件了。
安装过程如下:
1) 确认您所使用的 GreatTurbo HA10产品的功能级别
2) 安装GreatTurbo HA10
3) 注册GreatTurbo HA10
1.确认您所使用的GreatTurbo HA10产品的类型
GreatTurbo HA.6.5产品分为两个功能级别,请确认您购买的产品属于哪一个
级别。第一级别只能够满足第一章提到的第一类和第二类的用户应用,第二级别能
够全部满足第一章提到的三类应用,也就是说第二级别是支持 drbd(磁盘镜像设
备)的功能级别。
当然,具体选购何种级别功能的 GreatTurbo HA10,完全取决于您需要满足的
应用类型。确认了GreatTurbo HA10的功能级别之后,就可以开始安装GreatTurbo
HA10了。
2.安装GreatTurbo HA10
请分别在节点A和节点 B安装GreatTurbo HA10软件。
1) 如果您购买的是正版的GreatTurbo HA10产品,GreatTurbo HA10会附带软件
的安装光盘。插入安装光盘到节点的光驱并mount后,光盘根目录中有一个安装文
件 install_ha,请运行如下命令进行安装。根据您的操作系统版本并参照其提示
完成GreatTurbo HA的安装。
如果您的GreatTurbo HA10产品支持 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
11
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
*) lsof
*) sg_utils
*) drbd
*) GreatTurbo HA
*) GreatTurbo HA 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个月),您下载的
GreatTurbo HA10将是一个 ISO文件和 md5检验文件。ISO文件的名称一般为
GreatTurbo HA-6.5.x-x.iso, md5 文 件 的 名 称 一 般 为 GreatTurbo
HA-6.5.x-x.iso.md5。为了验证您下载的iso文件是否正确,可以先对您的iso文
件进行 md5sum操作,如果发现md5sum运行命令所得结果,和您下载的md5文件的
内容一致,则表明您下载的ISO文件正确无误。
例如:
[root@test1 iso]# md5sum ./GreatTurbo HA-6.5.0-8.iso
88f7b387c8cdaca3fa38832c6b7b2b6a GreatTurbo HA-6.5.0-8.iso
[root@test1 iso]# cat ./GreatTurbo HA-6.5.0-8.iso.md5
88f7b387c8cdaca3fa38832c6b7b2b6a GreatTurbo HA-6.5.0-8.iso
证明您下载的ISO文件正确之后,请先将ISO文件mount到某一个目录,然后
运行这个目录下的 install_ha安装程序进行安装,接下来的过程同从光盘安装时
介绍的一样。
[root@test1 root]# mount o loop ./GreatTurbo HA-6.5.0-8.iso
/mnt/cdrom
[root@test1 root]# cd /mnt/cdrom
[root@test1 cdrom]# ./install_ha
3.注册GreatTurbo HA10产品
安装完 GreatTurbo HA10的软件之后,您需要注册 GreatTurbo HA10产品,
也就是说需要安装 GreatTurbo HA 6.5的 license,以保证 GreatTurbo HA10
正常运行。
12
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
注册 GreatTurbo HA10产品的步骤如下:
1) 获得两个节点的硬件号,分别在两个节点上运行”/opt/cluster/bin/syncd
-l” ,其输出的第一行信息,例如“Hardware ID: 3355DEJGQWVK”,其中
“3355DEJGQWVK”就是硬件号。仔细记录两台节点的硬件号,以便在随后的
注册中使用。
2) 用浏览器登陆注册网站 http://www.turbolinux.com.cn/register。
3) 点击 Turbolinux GreatTurbo HA 6.5,进入如下图所示的登陆页面:
4) 如果您是第一次注册,请点击“新用户”按钮,按要求详细填写注册信息。
5) 注册完之后,返回如上登陆页,输入电子邮件地址和密码,点击“登陆”,
进入注册页。
您还可以在产品序列号栏,输入您购买产品时附带的序列号,以查看序列
号有没有被注册过,如果发现被人盗用注册过,则请与拓林思软件有限公司联
系,因为注册码只允许注册一次。
6) 登陆后,进入以下页面:
13
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
如果您是正版用户,请点击“增加产品序列号”按钮。如果您没有序列号,
只是试用,请点击“评估版许可证”按钮。
7) 点击“增加产品序列号”之后,进入如下页面:
在 SN栏输入您购买产品时附带在注册卡上的序列号,然后点击“下一步”
按钮,进入如下页面:
8) 分别填入两个节点的硬件号,然后点击完成,进入到如下所示的页面:
14
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
9) 点击“取得使用许可证”按钮,在接下来的页面上选择如何保存你得许可证:
寄到信箱或者存到文件。
10) 得 到 license 文 件 之 后 , 你 需 要 把 它 分 别 copy 到 两 个 节 点 的
/etc/opt/cluster/lic目录下。
注意:
在/etc/opt/cluster/lic目录下只能保存一个 license文件。
至此,GreatTurbo HA10产品注册完毕。接下来在第三章中,我们将讲述如
何对 GreatTurbo HA进行初始配置。
15
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
第 3章
系统配置
在以上步骤配置完成之后,就可以初始化 GreatTurbo HA10了。 初始化过程是
通过 member_config命令来完成的。
初始化 GreatTurbo HA10的过程如下:
1) 选择其中一节点(例如节点 A)进行系统配置,
2) 在另一节点(例如节点B)同步配置信息。
注意:
member_config只需要在一个节点上配置。
1.选择其中一节点进行系统配置
首先我们需要选择其中一节点对 GreatTurbo HA10进行一些配置。
1)启动member_config命令
注意:
如果您使用了 IBM的EXP400系列的磁盘柜,在确定IBM的 EXP400磁盘阵列的硬件
安装和配置正确之后,运行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:
o Hostname
o Number of heartbeat channels
o Information about the type of channels and their names
16
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
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)配置本地节点名称
接下来,输入本地节点的名称。GreatTurbo HA会自动的从您系统中/etc/hosts
中得到本地节点的名称,前提是您没有把这个名称对应到127.0.0.1。 如果这个名
称对应到127.0.0.1,安装程序会退出,并提醒您正确的配置/etc/hosts。
----------------------------------------
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选项:
GreatTurbo HA10的 heartbeat通道有两类: 网络(net)和串口(serial)。对
于网络,您需要配置 heartbeat使用的网络设备对应的别名;对于串口,您需要配
置heartbeat使用的串口的设备名,例如 /dev/ttyS0。
注意:为了获得更高的可用性,GreatTurbo HA 6.5建议配置一条串口通道以
及至少两条直连网络心跳通道,并且必须将应用所在的网卡配置成通道,配置通道
的顺序为:先配置所有的直连网线通道,再配置应用所在网卡的通道,最后配置串
口通道。
17
G R E A T T U R B O H A 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
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。
软件级的 watchdog可以用来保证 GreatTurbo HA程序的健壮性但并不能保障
操作系统的自动重启恢复; 如果有硬件watchdog,请输入硬件watchdog对应的驱
动模块的名字,如果没有硬件 watchdog,建议配置软件 watchdog,输入操作系统
默认附带的软件watchdog的模块名字softdog即可。
18
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
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
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
19
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
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)配置第三方 IP 地址
您需要配置两个节点都可以连接的第三方IP地址(要求能 ping通,一般选择
网关作为第三方IP)。如果条件具备,建议您配置第三方IP。
如果条件实在不具备,输入no,然后回车。
Do you want GreatTurbo HA 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"。
注意:当 GreatTurbo HA的守护进程正在运行时,请不要选择运行 diskutil
-I 来初始化配置文件,以免造成不可预知的后果。
Save changes? yes/no [yes]: yes
20
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
Writing to output configuration file...done.
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
2.在对方节点上同步配置
配置完成之后,需要把配置文件/etc/opt/cluster/cluster_raw.conf 手
工拷贝到另外一台机器的相同目录里(使用 scp或者 ftp均可)。
[root@test2 root]# scp test1:/etc/opt/cluster/cluster*
/etc/opt/cluster
3.运行GreatTurbo HA10
初始化完成之后,需要在两边节点分别运行 GreatTurbo HA10。脚本
/etc/init.d/cluster可以用来启动GreatTurbo HA10。
[root@test1 root]# /etc/init.d/cluster start
-------- Starting Cluster Daemons ---------------------
Start GreatTurbo HA...done
-------- Completed Cluster Startup ---------------------
[root@test1 root]#
注 意 : 请 不 要 执 行 完 /etc/init.d/cluster start 后 立 即 执 行
/etc/init.d/cluster stop, 请 确 认 GreatTurbo HA 启 动 完 成 后 再 执 行
/etc/init.d/cluster stop。
21
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
member_config初始化完成之后,GreatTurbo HA就可以正常运行了,只不过
没有配置服务。用户可以参阅第九章的检测方法来判断GreatTurbo HA是否可以成
功启动。
在配置服务之前,首先需要准备服务所需要的用户脚本和检测脚本。
22
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
第 4章
用户脚本和检测脚本
在配置 GreatTurbo HA的服务时,需要配置服务的用户脚本和检测脚本。用户
脚本也就是启动和停止脚本,用来启动和停止服务相关的应用程序。检测脚本
在服务运行过程中用来检测服务的运行情况。
用户脚本和检测脚本虽然并不是必需的,这要根据应用的实际情况来决定。如果需
要用户脚本和检测脚本,那么在配置服务之前首先需要准备好用户脚本和检测脚
本,并且测试用户脚本和检测脚本都正确无误后方可开始配置服务。
1.用户脚本
用户脚本是一个shell的脚本,用来启动和停止服务相关的应用程序,一个服
务只能配置一个用户脚本。
(1) 编写用户脚本
请参照下面的例子来编写用户脚本,在 GreatTurbo HA10安装光盘的
doc/examples 目录下也有用户脚本的例子,名字为usrapp.sh。
在编写用户脚本时,需要注意以下的问题:
1) 脚本的参数必须包含对输入参数 start、stop 的相应处理,在启动部分加入
用户所有程序的启动命令,在停止部分加入用户所有程序的停止命令。也
就是说脚本的格式必须是规定的格式。请参照例子进行编写。
2) 请在脚本中加入log 信息,以便发生故障时准确定位故障原因。
3) 脚本执行成功时要明确返回 0,失败时要明确返回 1。特别是当应用程序有
标准的启动/停止脚本时,请确认该脚本在成功时是否返回0 ,失败时是否返
回1 ,如果不是,请不要直接使用应用程序提供的脚本,请手动编写脚本。
4) 对于操作系统默认安装的一些应用的脚本,如 httpd,该脚本的返回值在启
动/停止时会判断是否已经启动/ 停止了,在已经启动/停止时,该脚本返回值
是1 ,这不满足 GreatTurbo HA 的接口,需要将其改成0 。当然,用户自写
的脚本在判断是否已经启动/ 停止时,也应该满足返回值为 0 的条件。
5) 如果启动和停止分别有多步操作,停止操作的执行顺序一定要和启动操作的
执行顺序相反。
23
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
6) 用户脚本要有可执行权限。
(2) 测试用户脚本
用户脚本写好后,请务必通过测试检查用户脚本是否正确。
例如,用户脚本的名字为 usrapp.sh。
1) 启动
首先执行 usrapp.sh start。
然后 echo $? ,判断脚本的返回值是否为0,0表示脚本执行成功。
检查应用程序是否正常启动。
如果脚本的返回值为0并且应用程序正常启动了,表示用户脚本在启动时是
正确的。
2) 停止
首先执行 usrapp.sh stop。
然后 echo $? ,判断脚本的返回值是否为0,0表示脚本执行成功。
检查应用程序是否正常停止。
如果脚本的返回值为0并且应用程序正常停止了,表示用户脚本在停止时是
正确的。
(3) 用户脚本的例子
#!/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`
clulog()
{
log_level=$1
log_info=$2
24
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
/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."
# must return 0 here
exit 0
else
clulog $LOG_ERR " lsnrctl start failed, ret=$?."
# must return 1 here
exit 1
fi
;;
stop)
#stop your application, put actual stop actions here
su - oracle -c "lsnrctl stop"
if [ $? -eq 0 ]; then
clulog $LOG_INFO " lsnrctl stop succeeded."
else
clulog $LOG_ERR " lsnrctl stop failed, ret=$?."
# must return 1 here
exit 1
fi
su - oracle -c "dbshut"
if [ $? -eq 0 ]; then
pmon=`ps -ef | egrep ora_pmon_$ORACLE_SID | grep -v grep`
if [ "$pmon" != "" ];
then
clulog $LOG_ERR " oracle database shut failed, process still exist."
# must return 1 here
exit 1
fi
clulog $LOG_INFO " dbshut succeeded."
# must return 0 here
exit 0
25
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
else
clulog $LOG_ERR " dbshut failed, ret=$?."
# must return 1 here
exit 1
fi
;;
esac
2.检测脚本
服务的检测脚本是一个shell的脚本,用来检测服务是否正常运行,一个服务
只能配置一个检测脚本。
根据应用的实际情况,您可以自己编写检测脚本,也可以使用GreatTurbo HA10
自带的位于/opt/cluster/usercheck/目录下的agent脚本。
(1) 编写检测脚本
请参照下面的例子来编写检测脚本,在 GreatTurbo HA10安装光盘的
doc/examples 目录下也有检测脚本的例子,名字为usrchk.sh。
在编写检测脚本时,需要注意以下的问题:
1) 请在脚本中加入 log 信息,以便发生故障时准确定位故障原因。为减小 log
文件的大小,检查成功时请不要打印log 信息。
2) 脚本执行成功时返回0 ,失败时返回非 0 值。当有多步检查时,请将每步检
查失败时的返回值设置为不同的值。
3) 服务检测脚本的名称不要和待检测服务应用程序进程的名字相同。
4) 检测脚本要有可执行权限。
(2) 测试检测脚本
检测脚本写好后,请务必测试检测脚本是否正确。
例如,检测脚本的名字为 usrchk.sh。
1) 应用程序正常运行时
执行检测脚本 usrchk.sh。
然后 echo $? ,判断脚本的返回值是否为0。
如果脚本的返回值为0,表示检测脚本是正确的。
26
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
2) 应用程序运行不正常时
执行检测脚本 usrchk.sh。
然后 echo $? ,判断脚本的返回值是否为非0值。
如果脚本的返回值为非0值,表示检测脚本是正确的。
(3) 检测脚本的例子
#!/bin/sh
# checkscript 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`
clulog()
{
log_level=$1
log_info=$2
/opt/cluster/bin/clulog -p $$ -n $script_name -s $log_level "$log_info"
}
# check applications'process parts, you can add or delete part to check your actual processes
/opt/cluster/usercheck/oracleCheck 172.16.74.127 1521
if [ $? -ne 0 ]
then
# please add log information here
clulog $LOG_ERR "oracleCheck failed, ret=$?."
exit 1
fi
ps -ef | grep ora_pmon_ora10g | grep -v $0 | grep -v grep > /dev/null
if [ $? -ne 0 ]
then
# please add log information here
clulog $LOG_ERR "check oracle instance process failed."
exit 2
fi
ps -ef | grep tnslsnr | grep -v $0 | grep -v grep > /dev/null
if [ $? -ne 0 ]
then
# please add log information here
27
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
clulog $LOG_ERR " check oracle listener process failed."
exit 3
fi
# if all checks aren't wrong, then return 0
exit 0
脚本编写完成并检查无误后,就可以配置服务了。依照每个应用类型的不同,
可以分别按照第五章、第六章、第七章的内容进行配置。
1)第一类应用的用户(需要使用共享磁盘阵列的应用)直接按照第五章进行配
置。
2)第二类应用的用户(不需要使用共享磁盘阵列并且也不需要存取共享数据的
应用)直接按照第六章进行配置。
3)第三类应用的用户(需要使用共享磁盘阵列但是不具备磁盘阵列硬件条件的
应用)直接按照第七章进行配置。
28
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
第 5章
配置服务(使用共享磁盘)
GreatTurbo HA10在两个节点均正常启动后,就可以开始将用户的应用配置成高
可用的服务了。本章说明如何在 GreatTurbo HA里面配置使用共享磁盘阵列的
服务,对服务进行配置的过程如下:
1) 配置服务的名字、优先节点
2) 配置服务的用户脚本
3) 配置服务的检测脚本
4) 配置服务的浮动IP
5) 配置共享磁盘设备的信息
6) 设置是否 disable服务
1.配置工具
GreatTurbo HA10有两个配置工具:文本界面的 cluadmin工具和图形界面的
guiadmin工具。
这里主要介绍cluadmin的使用方法,guiadmin的使用方法请参照第八章。
/opt/cluster/bin/cluadmin是文本界面的管理工具,使用它可以很方便地配
置服务。cluadmin类似bash,可以使用TAB键进行命令补全。
注意:如果您使用的是Turbolinux中文版,则在运行cluadmin之前,请先在
bash下执行“unset LC_CTYPE”。
2.配置条件
请在GreatTurbo HA10运行时执行cluadmin配置服务。
注意:GreatTurbo HA采用时间戳来判断两个节点的配置是否同步,所以不要
轻易修改系统时间。如果确实需要修改系统时间,请先停止 GreatTurbo HA,修改
完系统时间后,再重新启动GreatTurbo HA。
3.配置命令
运行/opt/cluster/bin/cluadmin,然后在 cluadmin中按下两次TAB键,会显
示如下所示的所有命令。([Tab] [Tab]表示连续按两下 Tab键)
29
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
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 reload
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
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
30
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
help cluster loglevel
help cluster reload
help cluster name
help cluster edit
help cluster backup
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
help service delete
help nbd add
help nbd delete
help nbd show
4.配置服务
利用cluadmin的 service add命令添加服务。
(1) 执行cluadmin
[root@test1 root]# cluadmin
Sat Apr 9 17:48:57 CST 2005
(2) 执行service add(GreatTurbo HA10最多只支持16个服务)
cluadmin> service add
Currently defined services:
(3) 输入服务的名字(如果有多个服务,服务的名字不能重复)
Service name: svc01
31
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
(4) 配置服务的优先节点
如果一个服务有优先节点,当优先节点启动 HA时或者优先节点的网卡
故障恢复时,这个服务将会自动迁移到优先节点上运行。
优先节点缺省值为 None。直接回车表示选择 None,即不选择优先节点。
否则输入优先节点的hostname名称。
Preferred member [None]: test1
(5) 配置服务的用户脚本
服务的用户脚本是启动和停止应用程序的脚本。一个服务最多只能配
置一个用户脚本。配置服务的用户脚本时,请输入全路径名。
User script (e.g., /usr/foo/script or None) [None]: /etc/init.d/
httpd
(6) 配置服务检测脚本
“Check script”输入的脚本有两种选择方式,请根据应用选择其中
的一种。
第一种方式是使用 GreatTurbo HA自带的 agent脚本,该脚本位于
/opt/cluster/usercheck目录下,使用 agent脚本时,必须按规定格式输
入,例如:/opt/cluster/usercheck/httpCheck 172.16.70.100 80。
第二种方式使用自己编写脚本。
配置服务的检测脚本时,必须输入全路径名。
配置服务检测脚本时还需要指定如下的参数:
Ø “Check interval”是检测服务的时间间隔,建议根据用户应用
要求的切换时间设定合适的值,一般输入 5秒,表示每隔 5秒时间执
行一次检测脚本。
Ø “Check timeout”是检测脚本执行的超时时间,执行用户检测脚
本的超时时间,建议输入 30秒。
Ø “Max error count”是允许服务连续错误的次数,一般输入3次,
表示出错3次后,服务进行切换。
Do you want to add a check script to the service (yes/no/?) [no]:
yes
Check Script Information
Check script (e.g., "/opt/cluster/usercheck/httpCheck
172.16.69.200 80" or None) [None]:
/opt/cluster/usercheck/httpCheck 172.16.70.100 80
Check interval (in seconds) [None]: 5
Check timeout (in seconds) [None]: 30
32
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
Max error count [None]: 3
(7) 配置服务的浮动 IP
服务可以绑定浮动 IP,浮动 IP随着服务而浮动,也就是说这个 IP所
在的节点也就是服务所在的节点。一个服务最多可以配置16个浮动IP。
注意:配置浮动 IP时必须正确输入如下参数,注意随着IP地址的不
同,相应的子网掩码以及广播地址的值需与之对应。
Ø “Net interface”是浮动 IP绑定的网卡。
Ø “Netmask”是浮动 IP的子网掩码。
Ø “Broadcast”是浮动IP的广播地址。
Do you want to add floating IP address to the service (yes/no/?)
[no]: yes
IP Address Information
IP address: 172.16.70.100
Net interface [None]: eth0
Netmask (e.g. 255.255.255.0 or None) [None]: 255.255.255.0
Broadcast (e.g. X.Y.Z.255 or None) [None]: 172.16.71.255
Do you want to (a)dd, (m)odify, (d)elete or (s)how an IP address,
or are you (f)inished adding IP addresses: f
(8) 配置共享磁盘设备的信息
因为我们在这里使用共享磁盘阵列,所以这里选择 yes。
GreatTurbo HA10最多可以支持16个磁盘设备。
我们支持两种类型的磁盘设备:一种是需要用户手动 mount的磁盘设
备;另外一种是不需要mount的裸设备。
对于第一种磁盘设备,我们必须按照下述要求输入相应参数。(以下
例子假设用户需要 mount的磁盘阵列的共享分区为/dev/sdb0)
必须指定的参数如下:
Ø “Device special file”是磁盘分区的设备名。
Ø “Check service device”指定是否检查磁盘设备,默认为yes。
Ø “Device is SCSI”指定磁盘设备是否是SCSI设备,默认为 yes,
请确认一下您的共享磁盘设备的类型,如果不是SCSI设备请选择
no。
33
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
Ø “Device check timeout”是磁盘检测的超时时间,默认为 120
秒。一般情况下选默认值就可以,如果磁盘负载比较大,请适当
调大超时时间。
Ø “Filesystem type”是文件系统的类型。
Ø “Mount point”是mount的位置。
Ø “Mount options”是mount时的选项,一般用rw, sync。
Ø “Forced unmount support”是指定umount时是否杀死该分区上
运行的进程。
Ø “Device owner”是mount时的用户名,一般为 root。
Ø “Device group”是mount时的用户组名,一般为root。
Ø “Device mode”是mount时的访问权限,一般为 755。
Do you want to add a disk device to the service (yes/no/?) [no]:
yes
Disk Device Information
Device special file (e.g., /dev/sda1): /dev/sdb0
Check service device (yes/no/?) [yes]:
Device is SCSI (yes/no/?) [yes]:
Device check timeout (in seconds) [120]:
Filesystem type (e.g., ext2, reiserfs, ext3 or None): ext3
Mount point (e.g., /usr/mnt/service1) [None]: /mnt/userData
Mount options (e.g., rw,nosuid): rw
Forced unmount support (yes/no/?) [no]: yes
Device owner (e.g., root): root
Device group (e.g., root): root
Device mode (e.g., 755): 755
Do you want to (a)dd, (m)odify, (d)elete or (s)how devices, or
are you (f)inished adding devices: f
一次只能输入一个分区设备的信息,如果有多个分区设备,可以在结
束提示时,不选择 f,而选择a继续增加分区设备。
对于第二种磁盘设备即裸设备,只需输入磁盘分区的设备名称,及指
定磁盘检测的相关信息,其他信息必须全部按回车键略过;(以下例子假
设裸设备对应的文件名是/dev/sdc)
Do you want to add a disk device to the service (yes/no/?) [no]:
yes
Disk Device Information
Device special file (e.g., /dev/sda1): /dev/sdc
34
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
Check service device (yes/no/?) [yes]:
Device is SCSI (yes/no/?) [yes]:
Device check timeout (in seconds) [120]:
Filesystem type (e.g., ext2, reiserfs, ext3 or None):
Mount point (e.g., /usr/mnt/service1) [None]:
Mount options (e.g., rw,nosuid):
Forced unmount support (yes/no/?) [no]:
Device owner (e.g., root):
Device group (e.g., root):
Device mode (e.g., 755):
Do you want to (a)dd, (m)odify, (d)elete or (s)how devices, or
are you (f)inished adding devices: f
同样一次只能输入一个裸设备的名字,如果有多个裸设备,可以在结
束提示时,不选择 f,而选择a继续增加分区设备。
(9) 设置启动服务的超时时间
建议此处直接回车,以选择服务默认启动超时时间 3600秒。
Service start timeout (in seconds) [None]:
(10) 设置停止服务的超时时间
建议此处直接回车,以选择服务默认停止超时时间 3600秒。
Service stop timeout (in seconds) [None]:
(11) 设置停止服务失败时是否 reboot机器
如果设为“yes”,当服务停止失败时,为了释放服务的资源,将自动reboot
机器。
如果设为“no”,当服务停止失败时,不会自动reboot机器,需要用户手
动干预。
Reboot system if stop the service failed (yes/no/?) [yes]: yes
(12) 设置是否disable服务
如果设为“yes”,服务将不会立即被启动,只能以后由用户手动启动。
如果设为“no”,服务将立即被启动。一般选择 no,表示立即启动服务。
35
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
Disable service (yes/no/?) [no]: no
到这里,我们成功的添加了一个使用共享磁盘阵列的服务。如果用户还需要添
加服务,那么仍然需要按照第四章末尾所述的内容来进行:选择第五、六、七、八
章的其中一章来进行配置。
5. 修改服务
如果需要修改服务的配置,请执行cluadmin的 service modify 命令。
首先要求选择需要修改的服务,请输入列表中的服务的编号。
如果服务正在运行,将要求先停止服务,请输入yes。
然后所有的操作都和添加服务相同。
cluadmin> service modify
You will be prompted for information about the service.
Enter a question mark (?) at a prompt to obtain help.
Enter a colon (:) and a single-character command at a prompt to
do
one of the following:
c - Cancel and return to the top-level cluadmin command
r - Restart to the initial prompt while keeping previous responses
p - Proceed with the next prompt
0) svc01
c) cancel
Choose service to modify: 0
Modifying: svc01
Service is not disabled. Disable it? (yes/no/?) yes
6. 删除服务
如果要删除服务,请执行 cluadmin 的 service delete 命令。
然后输入列表中的服务的编号即可。
cluadmin> service delete
36
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
0) svc01
c) cancel
Choose service to delete: 0
Deleting svc01, are you sure? (yes/no/?): yes
Service svc01 disabled
Svc01 deleted.
7. 启动服务
如果在添加服务时没有启动服务,需要手动启动服务,请执行 cluadmin 的service
enable 命令。
首先要求选择需要启动的服务,请输入列表中的服务的编号。
然后要求选择在哪个节点上启动服务,请输入节点的编号。
cluadmin> service enable
0) svc01
c) cancel
Choose service to enable: 0
Are you sure? (yes/no/?) yes
0) test1
1) test2
c) cancel
Choose member: 0
Enabling svc01 on member test1. Service enabled.
8. 停止服务
如果需要停止服务,请执行cluadmin的 service disable 命令。
首先选择要停止的服务,请输入列表中的服务的编号。
然后要求确认,请输入yes。
cluadmin> service disable
0) svc01
c) cancel
Choose service to disable: 0
Are you sure? (yes/no/?) yes
37
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
Disabling svc01. Service disabled.
9. 切换服务
如果需要把在一个节点上运行的服务切换到另一个节点上,请执行cluadmin的
service relocate 命令。
首先选择要切换的服务,请输入列表中的服务的编号。
然后要求确认,请输入yes。
cluadmin> service relocate
0) svc01
c) cancel
Choose service to relocate: 0
Are you sure? (yes/no/?) yes
Relocating svc01. Service relocated.
如果所有的服务添加完成,请直接到第十章继续阅读随后内容。
38
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
第 6章
配置服务(不使用共享磁盘)
本章说明如何在 GreatTurbo HA10中配置不具有共享磁盘阵列的服务,配置服
务的过程如下:
1) 配置服务的名字、优先节点
2) 配置服务的用户脚本
3) 配置服务的检测脚本
4) 配置服务的浮动IP
5) 设置是否 disable服务
1.配置工具
GreatTurbo HA10有两个配置工具:文本界面的 cluadmin工具和图形界面的
guiadmin工具。
这里主要介绍cluadmin的使用方法,guiadmin的使用方法请参照第九章。
/opt/cluster/bin/cluadmin是个文本界面的管理工具,使用它可以很方便的
配置服务。cluadmin类似bash,可以使用TAB键进行命令补全。
注意:如果你使用的是 Turbolinux中文版,则在运行 cluadmin前,请先在
bash下执行“unset LC_CTYPE”。
2.配置条件
请在GreatTurbo HA10运行时执行cluadmin配置服务。
注意:GreatTurbo HA采用时间戳来判断两个节点的配置是否同步,所以不要
轻易修改系统时间。如果确实需要修改系统时间,请先停止 GreatTurbo HA,修改
完系统时间后,再重新启动GreatTurbo HA。
3.配置命令
运行/opt/cluster/bin/cluadmin,然后在 cluadmin中按下两次TAB键,会显
示如下所示的所有命令:
cluadmin>[Tab] [Tab]
apropos
39
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
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 reload
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
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
40
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
help cluster name
help cluster edit
help cluster backup
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
help service delete
help nbd add
help nbd delete
help nbd show
4.配置服务
利用cluadmin的 service add命令添加服务。
(1) 执行cluadmin
[root@test1 root]# cluadmin
Sat Apr 9 17:48:57 CST 2005
(2) 执行service add(GreatTurbo HA10最多只支持16个服务)
cluadmin> service add
Currently defined services:
(3) 输入服务的名字(如果有多个服务,服务的名字不能重复)
Service name: svc01
(4) 配置服务的优先节点
41
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
如果一个服务有优先节点,当优先节点启动时,这个服务将会首先选
择在优先节点上运行。
优先节点缺省值为 None。直接回车表示选择 None,即不选择优先节点。
Preferred member [None]: test1
(5) 配置服务的用户脚本
服务的用户脚本是启动和停止应用程序的脚本。一个服务最多只能配
置一个用户脚本。配置服务的用户脚本时,必须输入全路径名。
User script (e.g., /usr/foo/script or None) [None]: /etc/init.d/
httpd
(6) 配置服务的检测脚本
“Check script”输入的脚本有两种选择方式,请根据应用选择其中
的一种。
第一种方式是使用 GreatTurbo HA自带的 agent脚本,该脚本位于
/opt/cluster/usercheck目录下,使用 agent脚本时,必须按规定格式输
入,例如:/opt/cluster/usercheck/httpCheck 172.16.70.100 80。
第二种方式使用自己编写脚本。
配置服务的检测脚本时,必须输入全路径名。
配置服务检测脚本时还需要指定如下的参数:
Ø “Check interval”是检测服务的时间间隔,建议根据用户的应用
要求的切换时间设定合适的值,一般输入5秒,表示每隔5秒时间
执行一次检测脚本。
Ø “Check timeout”是检测脚本返回的超时时间,执行用户检测脚
本的超时时间,建议输入 30秒。
Ø “Max error count”是允许服务连续错误的次数,一般输入3次,
表示出错3次后,服务进行切换。
Do you want to add a check script to the service (yes/no/?) [no]:
yes
Check Script Information
Check script (e.g., "/opt/cluster/usercheck/httpCheck
172.16.69.200 80" or None) [None]:
/opt/cluster/usercheck/httpCheck 172.16.70.100 80
Check interval (in seconds) [None]: 5
Check timeout (in seconds) [None]: 30
Max error count [None]: 3
42
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
(7) 配置服务的浮动IP
服务可以绑定浮动 IP,浮动 IP随着服务而浮动,也就是说这个 IP所
在的节点也就是服务所在的节点。一个服务最多可以配置16个浮动IP。
注意:配置浮动 IP时必须正确输入如下参数,注意随着IP地址的不
同,相应的子网掩码以及广播地址的值需与之对应。
Ø “Net interface”是浮动 IP绑定的网卡。
Ø “Netmask”是浮动 IP的子网掩码。
Ø “Broadcast”是浮动IP的广播地址。
Do you want to add floating IP address to the service (yes/no/?)
[no]: yes
IP Address Information
IP address: 172.16.70.100
Net interface [None]: eth0
Netmask (e.g. 255.255.255.0 or None) [None]: 255.255.255.0
Broadcast (e.g. X.Y.Z.255 or None) [None]: 172.16.71.255
Do you want to (a)dd, (m)odify, (d)elete or (s)how an IP address,
or are you (f)inished adding IP addresses: f
(8) 配置共享磁盘设备的信息
由于服务不使用共享磁盘设备,所有在此必须选择 no,直接回车。
Do you want to add a disk device to the service (yes/no/?) [no]:
(9) 设置启动服务的超时时间
建议此处直接回车,以选择服务默认启动超时时间 3600秒。
Service start timeout (in seconds) [None]:
(10) 设置停止服务的超时时间
建议此处直接回车,以选择服务默认停止超时时间 3600秒。
Service stop timeout (in seconds) [None]:
43
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
(11) 设置停止服务失败时是否reboot机器
如果设为“yes”,当服务停止失败时,为了释放服务的资源,将自动reboot
机器。
如果设为“no”,当服务停止失败时,不会自动reboot机器,需要用户手
动干预。
Reboot system if stop the service failed (yes/no/?) [yes]: yes
(12) 设置是否 disable服务
如果设为“yes”,服务将不会立即被启动,只能以后由用户手动启动。
如果设为“no”,服务将立即被启动。一般选择 no,表示立即启动服务。
Disable service (yes/no/?) [no]: no
到这里,我们成功的添加了一个不使用共享磁盘阵列的服务。如果用户
还需要添加服务,那么仍然需要按照第四章末尾所述的内容来进行:选择第
五、六、七、八章的其中一章来进行配置。
5. 修改服务
如果需要修改服务的配置,请执行cluadmin的 service modify 命令。
首先要求选择需要修改的服务,请输入列表中的服务的编号。
如果服务正在运行,将要求先停止服务,请输入yes。
然后所有的操作都和添加服务相同。
cluadmin> service modify
You will be prompted for information about the service.
Enter a question mark (?) at a prompt to obtain help.
Enter a colon (:) and a single-character command at a prompt to
do
one of the following:
c - Cancel and return to the top-level cluadmin command
r - Restart to the initial prompt while keeping previous responses
p - Proceed with the next prompt
44
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
0) svc01
c) cancel
Choose service to modify: 0
Modifying: svc01
Service is not disabled. Disable it? (yes/no/?) yes
6. 删除服务
如果要删除服务,请执行 cluadmin 的 service delete 命令。
然后输入列表中的服务的编号即可。
cluadmin> service delete
0) svc01
c) cancel
Choose service to delete: 0
Deleting svc01, are you sure? (yes/no/?): yes
Service svc01 disabled
Svc01 deleted.
7. 启动服务
如果在添加服务时没有启动服务,需要手动启动服务,请执行 cluadmin 的service
enable 命令。
首先要求选择需要启动的服务,请输入列表中的服务的编号。
然后要求选择在哪个节点上启动服务,请输入节点的编号。
cluadmin> service enable
0) svc01
c) cancel
Choose service to enable: 0
Are you sure? (yes/no/?) yes
0) test1
1) test2
c) cancel
Choose member: 0
Enabling svc01 on member test1. Service enabled.
45
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
8. 停止服务
如果需要停止服务,请执行cluadmin的 service disable 命令。
首先选择要停止的服务,请输入列表中的服务的编号。
然后要求确认,请输入yes。
cluadmin> service disable
0) svc01
c) cancel
Choose service to disable: 0
Are you sure? (yes/no/?) yes
Disabling svc01. Service disabled.
9. 切换服务
如果需要把在一个节点上运行的服务切换到另一个节点上,请执行cluadmin的
service relocate 命令。
首先选择要切换的服务,请输入列表中的服务的编号。
然后要求确认,请输入yes。
cluadmin> service relocate
0) svc01
c) cancel
Choose service to relocate: 0
Are you sure? (yes/no/?) yes
Relocating svc01. Service relocated.
如果所有的服务添加完成,请直接到第十章继续阅读随后内容。
46
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
第 7章
配置服务(使用磁盘镜像设备,k e r n e l 2 . 4 )
GreatTurbo HA10提供了虚拟的共享磁盘阵列的功能,使用磁盘镜像设备来保证
应用数据的一致性。您可以使用节点本地普通的 IDE或 SCSI硬盘来构建磁盘镜
像。
本章说明在Linux kernel2.4的环境下,如何在GreatTurbo HA10中配置具有磁盘
镜像设备的服务。
配置具有磁盘镜像设备的服务过程如下:
1) 安装磁盘镜像软件(drbd)。
2) 注册具有磁盘镜像功能的license。
3) 配置磁盘镜像设备。
4) 添加使用磁盘镜像设备的服务。
1.安装磁盘镜像软件(drbd)
在GreatTurbo HA10安装时,会提示是否安装磁盘镜像软件,如果需要使用磁
盘镜像软件,这时应当选择安装。
Test1:/mnt/cdrom # ./install_ha
Do you want to use drbd? (y/n) [y]: y
选择了 y后,安装程序会自动安装与当前系统相匹配的磁盘镜像软件(drbd)。
注意:
1) 磁盘镜像软件需要在两个节点上都要安装。
2) 请用安装程序自动安装磁盘镜像软件,不要手动安装磁盘镜像软件的
RPM包。
3) 磁盘镜像软件中包含了kernel的模块,要求和 kernel的版本相匹配,
如果安装的过程中提示drbd的kernel模块和您当前系统的 kernel版
本不匹配,请更换成匹配的kernel或者获取更新的drbd安装包。
47
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
2.注册具有磁盘镜像功能的license
使用GreatTurbo HA10的磁盘镜像功能,需要注册GreatTurbo HA10的带有磁
盘镜像功能的license。
License的注册方法请参照【第 2章 安装GreatTurbo HA10】。
在申请 GreatTurbo HA10的 license时,请注意选择带drbd的 license。
3.配置磁盘镜像设备
(1) 在两个节点上分别为磁盘镜像设备准备大小相同的磁盘分区。
(2) 利用cluadmin工具配置磁盘镜像设备。
cluadmin工具的详细使用方法请参照GreatTurbo HA10的用户手册。
两个节点的 GreatTurbo HA正常启动后,可以利用 cluadmin的 nbd add
命令配置磁盘镜像设备。配置磁盘镜像设备的过程如下:
1) 执行nbd add,输入nbd ID。nbd ID是镜像设备的编号,必须是0-15
之间的整数。
Cluadmin> nbd add
Currently defined nbds:
Nbd ID(nbd identifier. e.g. 0): 0
2) 配置节点 A的 nbd信息。
Nbd configuration on member0:
name(nbd member ip address. e.g. 192.168.0.1): 192.168.1.11
device(block device used by nbd. e.g. /dev/hda14): /dev/hda7
port(port number used by nbd service. e.g. 8787): 8787
deviceNode(nbd block device. e.g. /dev/nb0): /dev/nb0
注意:
节点 A(member0)必须是执行 member_config配置 GreatTurbo
HA10时配置的第1个节点。
3) 配置节点 B的 nbd信息。
Nbd configuration on member1:
name(nbd member ip address. e.g. 192.168.0.1): 192.168.1.21
device(block device used by nbd. e.g. /dev/hda14): /dev/hda7
port(port number used by nbd service. e.g. 8787): 8787
deviceNode(nbd block device. e.g. /dev/nb0): /dev/nb0
48
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
注意:
节点 B(member1)必须是执行 member_config配置 GreatTurbo
HA10时配置的第2个节点。
4) 确认添加 nbd设备。
Are you sure? (yes/no/?) y
Add nbd device 0
注意:
1) nbd节点的IP必须采用双机直连的 IP。
2) 同一个nbd设备在两节点上的端口号要相同。
3) 磁盘镜像的设备名必须是/dev/nb#,并且同一个 nbd设备在两节点
上的设备名要相同。
4) 可以使用nbd show 显示已添加的nbd设备;nbd delete删除nbd
设备。
5) 磁盘镜像设备配置完成后,将生成配置文件/etc/drbd.conf,请不
要手动修改这个文件。
(3) 启动磁盘镜像设备。
在两节点上分别执行命令 /etc/init.d/drbd start。
(4) 初始化磁盘镜像设备。
1) 在节点 A执行 control 0,使节点 A成为第 0号磁盘镜像设备的
Primary节点。
[root@test1 root]# control 0
Setting 'drbd0' to Primary .. OK
datadisk: 'drbd0' activated
2) 查看磁盘镜像设备的状态。
[root@test1 root]# cat /proc/drbd
version: 0.6.8 (api:63/proto:62)
0: cs:Connected st:Primary/Secondary ns:0 nr:0 dw:0 dr:0
pe:0 ua:0
NEEDS_SYNC
49
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
3) 如果磁盘镜像设备的状态显示为“NEEDS_SYNC”,需要同步两节点的
磁盘镜像设备。
[root@test1 root]# datasync -l 0
Option l '0'
datadisk: 'drbd0' full synced!
4) 同步的过程中,可以查看进度。
[root@test1 root]# cat /proc/drbd
version: 0.6.8 (api:63/proto:62)
0: cs:SyncingAll st:Primary/Secondary ns:119100 nr:0 dw:0
dr:119108 pe:253 ua:0
[==>.................] sync'ed: 14.8%
(89611/104391)K
finish: 0:06min speed: 14,780 (14,780) K/sec
5) 同步完成后,在Primary的节点上创建文件系统。例如,
[root@test1 root]# mkfs.ext3 /dev/nb0
(5) 如果需要在磁盘镜像设备上安装应用程序的共享数据,需要执行本步;否
则,跳过本步。
mount Primary节点的磁盘镜像设备,安装应用程序的共享数据到磁盘镜
像设备。例如,
[root@test1 root]# mount /dev/nb0 /mnt/hda7
4.添加使用磁盘镜像设备的服务
利用cluadmin的 service add命令添加服务。
(1) 执行cluadmin
[root@test1 root]# cluadmin
Sat Apr 9 17:48:57 CST 2005
50
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
(2) 执行service add
cluadmin> service add
Currently defined services:
(3) 输入服务的名字
Service name: svc01
(4) 配置服务的优先节点
如果一个服务有优先节点,当优先节点启动时,这个服务将会首先选择在
优先节点上运行。
优先节点缺省值为 None。直接回车表示选择None,即不选择优先节点。
Preferred member [None]: test1
(5) 配置服务的用户脚本
服务的用户脚本是启动和停止应用程序的脚本。一个服务最多只能配置一
个用户脚本。配置服务的用户脚本时,请输入全路径名。
User script (e.g., /usr/foo/script or None) [None]:
/etc/init.d/httpd
(6) 配置服务检测脚本
“Check script”输入的脚本有两种选择方式,请根据应用选择其中的一
种。
第一种方式是使用 GreatTurbo HA自带的 agent脚本,该脚本位于
/opt/cluster/usercheck目录下,使用 agent脚本时,必须按规定格式输
入,例如:/opt/cluster/usercheck/httpCheck 172.16.70.100 80。
第二种方式使用自己编写脚本。
配置服务的检测脚本时,必须输入全路径名。
配置服务检测脚本时需要指定如下的参数:
Ø “Check interval”是检测服务的时间间隔,缺省值是3秒。
Ø “Check timeout”是检测脚本返回的超时时间,缺省值是30秒。
Ø “Max error count”是允许服务连续错误的次数,缺省是5次。
51
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
Do you want to add a check script to the service (yes/no/?) [no]:
yes
Check Script Information
Check script (e.g., "/opt/cluster/usercheck/httpCheck
172.16.69.200 80" or None) [None]:
/opt/cluster/usercheck/httpCheck 172.16.70.100 80
Check interval (in seconds) [None]: 5
Check timeout (in seconds) [None]: 10
Max error count [None]: 8
(7) 配置服务的浮动IP
服务可以绑定浮动 IP,浮动 IP随着服务而浮动,也就是说这个 IP所
在的节点也就是服务所在的节点。一个服务最多可以配置16个浮动IP。
配置浮动IP时必须正确输入如下参数:
Ø “Net interface”是浮动 IP绑定的网卡。
Ø “Netmask”是浮动 IP的子网掩码。
Ø “Broadcast”是浮动IP的广播地址。
Do you want to add floating IP address to the service (yes/no/?)
[no]: yes
IP Address Information
IP address: 172.16.70.100
Net interface [None]: eth0
Netmask (e.g. 255.255.255.0 or None) [None]: 255.255.255.0
Broadcast (e.g. X.Y.Z.255 or None) [None]: 172.16.70.255
Do you want to (a)dd, (m)odify, (d)elete or (s)how an IP address,
or are you (f)inished adding IP addresses: f
(8) 配置磁盘镜像设备
给服务配置磁盘镜像设备,一个服务最多可以配置 16个磁盘镜像设备。
需要指定的参数如下:
Ø “Nbd device ID”指定磁盘镜像设备的ID,所指定的磁盘镜像设备必
须是前面配置过的。
Ø “Device special file”是磁盘分区的设备名,指定为磁盘镜像设备
名。
52
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
Ø “Check service device”指定是否检测磁盘设备,这里请选择no。
注意: 由于磁盘镜像设备自身有检测磁盘设备的功能,因此在配置磁盘镜
像设备时请不要设置为检测磁盘设备。
Do you want to add a nbd mirror disk device to the service
(yes/no/?) [no]: yes
Nbd Information
Nbd device ID: 0
Do you want to (a)dd, (m)odify, (d)elete or (s)how nbds, or are
you (f)inished add nbds: f
Do you want to add a disk device to the service (yes/no/?) [no]:
yes
Disk Device Information
Device special file (e.g., /dev/sda1): /dev/nb0
Check service device (yes/no/?) [yes]: no
(9) 配置磁盘镜像设备的mount信息
磁盘镜像设备的 mount信息在配置服务的磁盘分区时设置,最多可以配置
16个。
需要指定的参数如下:
Ø “Filesystem type”是文件系统的类型,请尽量选用日志文件系统。
Ø “Mount point”是mount的位置。
Ø “Mount options”是mount时的选项,一般用rw, sync。
Ø “Forced unmount support”是指定 umount时是否杀死该分区上运行
的进程。
Ø “Device owner”是mount时的用户名,一般为root。
Ø “Device group”是mount时的用户组名,一般为 root。
Ø “Device mode”是mount时的访问权限,一般为 755。
Filesystem type (e.g., ext2, reiserfs, ext3 or None): ext3
Mount point (e.g., /usr/mnt/service1) [None]: /mnt/hda7
Mount options (e.g., rw,nosuid): rw
Forced unmount support (yes/no/?) [no]: yes
Device owner (e.g., root): root
Device group (e.g., root): root
53
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
Device mode (e.g., 755): 755
Do you want to (a)dd, (m)odify, (d)elete or (s)how devices, or
are you (f)inished adding devices: f
(10) 设置启动服务的超时时间
启动服务的时间 = 启动nbd的时间 + mount设备的时间 + 启动IP的时间
+ 启动用户脚本的时间
启动服务的超时时间应当大于启动服务的时间,各个阶段的时间可以
估算来设置,如果没有磁盘镜像设备,建议不设置启动服务的超时时间,
采用缺省值。缺省值是3600秒(1小时)。
由于启动 nbd时,可能会进行两节点间数据的同步,因此比较花费时
间。启动nbd的时间可以按如下的方法进行估算:
启动nbd的时间 = 磁盘分区大小/nbd网络带宽 + 余量
当配置有多个nbd设备时,要分别计算。
例如:系统配置了 2个 nbd设备,分区大小分别为 100MB,500MB,使
用同一个网络接口,网络带宽为 100Mbps。
启动nbd的时间 = (100*8/100 + 500*8/100)*2 + 100
= 196
考虑到 mount设备的时间、启动IP的时间、启动用户脚本的时间,启动服
务的超时时间可以设置为 300秒。
Service start timeout (in seconds) [None]: 300
(11) 设置停止服务的超时时间
停止服务的时间 = 停止用户脚本的时间 + 停止 IP的时间 + umount
设备的时间 + 停止nbd的时间
停止服务的超时时间应当大于停止服务的时间,各个阶段的时间可以
估算来设置,如果没有磁盘镜像设备,建议不设置停止服务的超时时间,
采用缺省值。缺省值是3600秒(1小时)。
由于停止 nbd时,可能会等待两节点间数据的同步,因此比较花费时
间。
停止服务的超时时间的估算方法可以参考启动服务的超时时间的估算
方法。
Service stop timeout (in seconds) [None]: 300
54
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
(12) 设置停止服务失败时是否 reboot机器
如果设为“yes”,当服务停止失败时,为了释放服务的资源,将自动reboot
机器。
如果设为“no”,当服务停止失败时,不会自动reboot机器,需要用户手
动干预。
Reboot system if stop the service failed (yes/no/?) [yes]: yes
(13) 设置是否 disable服务
如果设为“yes”,服务将不会立即被启动,只能由用户手动启动。
如果设为“no”,服务将立即被启动。
Disable service (yes/no/?) [no]: no
到这里,我们成功的添加了一个使用磁盘镜像设备的服务。如果用户还
需要添加服务,那么仍然需要按照第四章末尾所述的内容来进行:选择第五、
六、七、八章的其中一章来进行配置。
5. 修改服务
如果需要修改服务的配置,请执行cluadmin的 service modify 命令。
首先要求选择需要修改的服务,请输入列表中服务的编号。
如果服务正在运行,将要求先停止服务,请输入yes。
然后所有的操作都和添加服务相同。
Cluadmin> service modify
You will be prompted for information about the service.
Enter a question mark (?) at a prompt to obtain help.
Enter a colon (:) and a single-character command at a prompt to
do
one of the following:
c - Cancel and return to the top-level cluadmin command
r - Restart to the initial prompt while keeping previous responses
p - Proceed with the next prompt
55
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
0) svc01
c) cancel
Choose service to modify: 0
Modifying: svc01
Service is not disabled. Disable it? (yes/no/?) yes
6. 删除服务
如果要删除服务,请执行 cluadmin 的 service delete 命令。
然后输入列表中的服务的编号即可。
cluadmin> service delete
0) svc01
c) cancel
Choose service to delete: 0
Deleting svc01, are you sure? (yes/no/?): yes
Service svc01 disabled
Svc01 deleted.
7. 启动服务
如果在添加服务时没有启动服务,需要手动启动服务,请执行 cluadmin 的service
enable 命令。
首先要求选择需要启动的服务,请输入列表中的服务的编号。
然后要求选择在哪个节点上启动服务,请输入节点的编号。
cluadmin> service enable
0) svc01
c) cancel
Choose service to enable: 0
Are you sure? (yes/no/?) yes
0) test1
1) test2
c) cancel
Choose member: 0
Enabling svc01 on member test1. Service enabled.
56
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
8. 停止服务
如果需要停止服务,请执行cluadmin的 service disable 命令。
首先选择要停止的服务,请输入列表中的服务的编号。
然后要求确认,请输入yes。
cluadmin> service disable
0) svc01
c) cancel
Choose service to disable: 0
Are you sure? (yes/no/?) yes
Disabling svc01. Service disabled.
9. 切换服务
如果需要把在一个节点上运行的服务切换到另一个节点上,请执行cluadmin的
service relocate 命令。
首先选择要切换的服务,请输入列表中的服务的编号。
然后要求确认,请输入yes。
cluadmin> service relocate
0) svc01
c) cancel
Choose service to relocate: 0
Are you sure? (yes/no/?) yes
Relocating svc01. Service relocated.
如果所有的服务添加完成,请到第十章继续阅读随后内容。
57
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
第 8章
配置服务(使用磁盘镜像设备,k e r n e l 2 . 6 )
GreatTurbo HA10提供了虚拟的共享磁盘阵列的功能,使用磁盘镜像设备来保证
应用数据的一致性。您可以使用节点本地普通的 IDE或 SCSI硬盘来构建磁盘镜
像。
本章说明在Linux kernel2.6的环境下,如何在GreatTurbo HA10中配置具有磁盘
镜像设备的服务。
配置具有磁盘镜像设备的服务过程如下:
1) 安装磁盘镜像软件(drbd)。
2) 注册具有磁盘镜像功能的license。
3) 配置磁盘镜像设备。
4) 添加使用磁盘镜像设备的服务。
1.安装磁盘镜像软件(drbd)
在GreatTurbo HA10安装时,会提示是否安装磁盘镜像软件,如果需要使用磁
盘镜像软件,这时应当选择安装。
Test1:/mnt/cdrom # ./install_ha
Do you want to use drbd? (y/n) [y]: y
选择了 y后,安装程序会自动安装与当前系统相匹配的磁盘镜像软件(drbd)。
注意:
1) 磁盘镜像软件需要在两个节点上都安装。
2) 请用安装程序自动安装磁盘镜像软件,不要手动安装磁盘镜像软件的
RPM包。
3) 磁盘镜像软件中包含了kernel的模块,要求和 kernel的版本相匹配,
如果安装的过程中提示drbd的kernel模块和您当前系统的 kernel版
本不匹配,请更换成匹配的kernel或者获取更新的drbd安装包。
58
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
2.注册具有磁盘镜像功能的license
使用GreatTurbo HA10的磁盘镜像功能,需要注册GreatTurbo HA10的带有磁
盘镜像功能的license。
License的注册方法请参照【第 2章 安装GreatTurbo HA10】。
在申请 GreatTurbo HA10的 license时,请注意选择带drbd的 license。
3.配置磁盘镜像设备
(1) 在两个节点上分别为磁盘镜像设备准备大小相同的磁盘分区。
(2) 编辑磁盘镜像设备的配置文件。
在安装 GreatTurbo HA10时,会安装 drbd的配置文件:/etc/drbd.conf,
安装后的drbd的配置文件的内容如下所示:
#
# /etc/drbd.conf
#
# this is an example of drbd.conf
# please modify the following items according to your real
environment.
# - hostname
# - device
# - disk
# - address
# if no particular reasons, you no need to modify other items.
resource drbd0 {
protocol C;
startup {
wfc-timeout 30;
degr-wfc-timeout 60;
}
syncer {
rate 600M;
group 0;
}
on hostname1 {
device /dev/drbd0;
disk /dev/hda6;
address 192.168.0.1:7788;
59
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
meta-disk internal;
}
on hostname2 {
device /dev/drbd0;
disk /dev/hda6;
address 192.168.0.2:7788;
meta-disk internal;
}
}
对/etc/drbd.conf需要根据应用的实际环境编辑以下的内容:
Ø hostname,机器名。为GreatTurbo HA节点的机器名。
Ø device,设备名。为drbd设备名,可以选择/dev/drbd0,/dev/drbd1
等,两个节点所对应的drbd设备应当一致。
Ø disk,磁盘分区。为drbd设备所对应的物理磁盘分区。
Ø address,IP地址和端口。为drbd设备通讯所用的网络及端口。Drbd
设备所用的网络最好是直连网络,不同的drbd设备所用的端口应当不
同。
注意:
1) 关于drbd配置文件的详细说明请参照GreatTurbo HA10用户手册。
2) 由于meta-disk需要占用 128MB的磁盘空间,所以drbd所用的磁盘分
区应当为128MB以上。
3) 由于drbd采用以太网络进行数据的传输和同步,所以 drbd通讯所用
的网络应当为直连网络,并且最好采用bonding。
4) 如果要用多个drbd设备,请复制整个resource部分,并修改resource
的名字,例如 reource1,然后再相应地对 hostname,device,disk
和address进行修改即可。
(3) 启动磁盘镜像设备。
在两节点上分别执行命令 /etc/init.d/drbd start。
例如:
[root@test1 root]# /etc/init.d/drbd start
Starting DRBD resources: [ d0 s0 n0 ].
(4) 查看磁盘镜像设备的状态。
执行命令 cat /proc/drbd 来查看磁盘镜像设备的状态。
如果磁盘镜像设备的数据已经同步,状态显示如下:
60
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
[root@test1 root]# cat /proc/drbd
version: 0.7.11 (api:77/proto:74)
SVN Revision: 1912M build by root@qa3-127, 2005-08-25 10:20:28
0: cs:Connected st:Secondary/Secondary ld:Consistent
ns:0 nr:0 dw:0 dr:0 al:0 bm:92 lo:0 pe:0 ua:0 ap:0
如果磁盘镜像设备的数据没有同步,状态显示如下:
[root@test1 root]# cat /proc/drbd
version: 0.7.11 (api:77/proto:74)
SVN Revision: 1912M build by root@qa3-127, 2005-08-25 10:20:28
0: cs:Connected st:Secondary/Secondary ld:Inconsistent
ns:0 nr:0 dw:0 dr:0 al:0 bm:46 lo:0 pe:0 ua:0 ap:0
(5) 使其中一个节点成为Primary节点。
如果状态显示为“ld: Consistent”,请在其中一个节点上执行“drbdsetup
/dev/drbd# primary”。例如,
[root@test1 root]# drbdsetup /dev/drbd0 primary
[root@test1 root]# cat /proc/drbd
version: 0.7.11 (api:77/proto:74)
SVN Revision: 1912M build by root@qa3-127, 2005-08-25 10:20:28
0: cs:Connected st:Primary/Secondary ld:Consistent
ns:0 nr:366908 dw:366908 dr:0 al:0 bm:92 lo:0 pe:0 ua:0 ap:0
如果状态显示为“ld: Inconsistent”,请在其中一个节点上执行
“drbdsetup /dev/drbd# primary --do-what-I-say”。这时,drbd会自
动进行同步。例如,
[root@test1 root]# drbdsetup /dev/drbd0 primary
--do-what-I-say
[root@test1 root]# cat /proc/drbd
version: 0.7.12 (api:77/proto:74)
SVN Revision: 1926M build by root@dev3-76, 2005-09-02 10:11:58
0: cs:SyncSource st:Primary/Secondary ld:Consistent
ns:152776 nr:0 dw:0 dr:160832 al:0 bm:1118 lo:756 pe:1418
ua:2014 ap:0
[>...................] sync'ed: 2.5% (5776/5919)M
finish: 0:02:00 speed: 49,036 (49,036) K/sec
(6) 创建文件系统。
如果需要使用文件系统,则需要在 Primary节点上创建文件系统。
[root@test1 root]# mkfs.ext3 /dev/drbd0
61
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
注意:
文件系统只需要在Primary节点上创建,Secondary节点会自动进行创建。
(7) 如果需要在磁盘镜像设备上安装应用程序的共享数据,需要执行本步操作;
否则,跳过本步。
mount Primary节点的磁盘镜像设备,安装应用程序的共享数据到磁盘镜
像设备。例如,
[root@test1 root]# mount /dev/drbd0 /opt/oradata
(8) 共享数据安装完成后,需要umount磁盘镜像设备。
[root@test1 root]# umount /dev/drbd0
(9) 使 Primary节点成为Secondary节点。
[root@test1 root]# drbdsetup /dev/drbd0 secondary
[root@test1 root]# cat /proc/drbd
version: 0.7.11 (api:77/proto:74)
SVN Revision: 1912M build by root@qa3-127, 2005-08-25 10:20:28
0: cs:Connected st:Secondary/Secondary ld:Consistent
ns:20348 nr:366908 dw:387256 dr:14468 al:47 bm:139 lo:0
pe:0 ua:0 ap:0
经过上述的操作以后,drbd设备就准备好了,可以将 drbd设备作为普通
的磁盘进行使用,可以配置使用 drbd设备的服务。
4.添加使用磁盘镜像设备的服务
可以利用 cluadmin工具或 guiadmin工具来添加服务,这里主要介绍利用
cluadmin工具配置的方法,guiadmin工具的使用方法请参照第9章。
cluadmin工具的详细使用方法请参照GreatTurbo HA10的用户手册。
两个节点的 GreatTurbo HA正常启动后,可以利用 cluadmin的 service add
命令添加服务。
(1) 执行cluadmin。
[root@test1 root]# cluadmin
62
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
Sat Apr 9 17:48:57 CST 2005
(2) 执行service add。
cluadmin> service add
Currently defined services:
(3) 输入服务的名字。
Service name: svc01
(4) 配置服务的优先节点。
如果一个服务有优先节点,当优先节点启动时,这个服务将会首先选择在
优先节点上运行。
优先节点缺省值为 None。直接回车表示选择None,即不选择优先节点。
Preferred member [None]: test1
(5) 配置服务的用户脚本。
服务的用户脚本是启动和停止应用程序的脚本。一个服务最多只能配置一
个用户脚本。配置服务的用户脚本时,请输入全路径名。
User script (e.g., /usr/foo/script or None) [None]:
/etc/init.d/httpd
(6) 配置服务检测脚本。
“Check script”输入的脚本有两种选择方式,请根据应用选择其中的一
种。
第一种方式是使用 GreatTurbo HA自带的 agent脚本,该脚本位于
/opt/cluster/usercheck目录下,使用 agent脚本时,必须按规定格式输
入,例如:/opt/cluster/usercheck/httpCheck 172.16.70.100 80。
第二种方式使用自己编写脚本。
配置服务的检测脚本时,必须输入全路径名。
63
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
配置服务检测脚本时需要指定如下的参数:
Ø “Check interval”是检测服务的时间间隔,缺省值是3秒。
Ø “Check timeout”是检测脚本返回的超时时间,缺省值是30秒。
Ø “Max error count”是允许服务连续错误的次数,缺省是5次。
Do you want to add a check script to the service (yes/no/?) [no]:
yes
Check Script Information
Check script (e.g., "/opt/cluster/usercheck/httpCheck
172.16.69.200 80" or None) [None]:
/opt/cluster/usercheck/httpCheck 172.16.70.100 80
Check interval (in seconds) [None]: 5
Check timeout (in seconds) [None]: 10
Max error count [None]: 8
(7) 配置服务的浮动IP。
服务可以绑定浮动 IP,浮动 IP随着服务而浮动,也就是说这个 IP所在的
节点也就是服务所在的节点。一个服务最多可以配置16个浮动IP。
配置浮动IP时必须正确输入如下参数:
Ø “Net interface”是浮动 IP绑定的网卡。
Ø “Netmask”是浮动 IP的子网掩码。
Ø “Broadcast”是浮动IP的广播地址。
Do you want to add floating IP address to the service (yes/no/?)
[no]: yes
IP Address Information
IP address: 172.16.70.100
Net interface [None]: eth0
Netmask (e.g. 255.255.255.0 or None) [None]: 255.255.255.0
Broadcast (e.g. X.Y.Z.255 or None) [None]: 172.16.70.255
Do you want to (a)dd, (m)odify, (d)elete or (s)how an IP address,
or are you (f)inished adding IP addresses: f
(8) 配置磁盘设备。
在配置磁盘设备时,请指定相应的 drbd设备。例如:/dev/drbd0。一个服
务最多可以配置16个磁盘设备。
64
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
Do you want to add a disk device to the service (yes/no/?) [no]:
yes
Disk Device Information
Device special file (e.g., /dev/sda1): /dev/drbd0
(9) 配置磁盘设备的mount信息。
需要指定的参数如下:
Ø “Filesystem type”是文件系统的类型,请尽量选用日志文件系统。
Ø “Mount point”是mount的位置。
Ø “Mount options”是mount时的选项,一般用rw, sync。
Ø “Forced unmount support”是指定 umount时是否杀死该分区上运行
的进程。
Ø “Device owner”是mount时的用户名,一般为root。
Ø “Device group”是mount时的用户组名,一般为 root。
Ø “Device mode”是mount时的访问权限,一般为 755。
Filesystem type (e.g., ext2, reiserfs, ext3 or None): ext3
Mount point (e.g., /usr/mnt/service1) [None]: /mnt/hda7
Mount options (e.g., rw,nosuid): rw
Forced unmount support (yes/no/?) [no]: yes
Device owner (e.g., root): root
Device group (e.g., root): root
Device mode (e.g., 755): 755
Do you want to (a)dd, (m)odify, (d)elete or (s)how devices, or
are you (f)inished adding devices: f
(10) 设置启动服务的超时时间。
启动服务的时间 = 启动drbd的时间 + mount设备的时间 + 启动 IP的时
间 + 启动用户脚本的时间
启动服务的超时时间应当大于启动服务的时间,各个阶段的时间可以
估算来设置,如果没有磁盘镜像设备,建议不设置启动服务的超时时间,
采用缺省值。缺省值是3600秒(1小时)。
由于启动drbd时,可能会进行两节点间数据的同步,因此比较花费时
间。启动drbd的时间可以按如下的方法进行估算:
65
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
启动drbd的时间 = 磁盘分区大小/drbd网络带宽 + 余量
当配置有多个drbd设备时,要分别计算。
例如:系统配置了 2个 drbd设备,分区大小分别为500MB,1GB,使用
同一个网络接口,网络带宽为100Mbps。
启动nbd的时间 = (500*8/100 + 1024*8/100)*2 + 100
= 344
考虑到 mount设备的时间、启动IP的时间、启动用户脚本的时间,启动服
务的超时时间可以设置为 500秒。
Service start timeout (in seconds) [None]: 500
(11) 设置停止服务的超时时间。
停止服务的时间 = 停止用户脚本的时间 + 停止 IP的时间 + umount
设备的时间 + 停止drbd的时间
停止服务的超时时间应当大于停止服务的时间,各个阶段的时间可以
估算来设置,如果没有磁盘镜像设备,建议不设置停止服务的超时时间,
采用缺省值。缺省值是3600秒(1小时)。
由于停止drbd时,可能会等待两节点间数据的同步,因此比较花费时
间。
停止服务的超时时间的估算方法可以参考启动服务的超时时间的估算
方法。
Service stop timeout (in seconds) [None]: 500
(12) 设置停止服务失败时是否 reboot机器。
如果设为“yes”,当服务停止失败时,为了释放服务的资源,将自动reboot
机器。
如果设为“no”,当服务停止失败时,不会自动reboot机器,需要用户手
动干预。
Reboot system if stop the service failed (yes/no/?) [yes]: yes
(13) 设置是否 disable服务。
如果设为“yes”,服务将不会立即被启动,只能由用户手动启动。
如果设为“no”,服务将立即被启动。
Disable service (yes/no/?) [no]: no
66
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
到这里,我们成功的添加了一个使用磁盘镜像设备的服务。如果用户还
需要添加服务,那么仍然需要按照第四章末尾所述的内容来进行:选择第五、
六、七、八章的其中一章来进行配置。
5. 修改服务
如果需要修改服务的配置,请执行cluadmin的 service modify 命令。
首先要求选择需要修改的服务,请输入列表中服务的编号。
如果服务正在运行,将要求先停止服务,请输入yes。
然后所有的操作都和添加服务相同。
Cluadmin> service modify
You will be prompted for information about the service.
Enter a question mark (?) at a prompt to obtain help.
Enter a colon (:) and a single-character command at a prompt to
do
one of the following:
c - Cancel and return to the top-level cluadmin command
r - Restart to the initial prompt while keeping previous responses
p - Proceed with the next prompt
0) svc01
c) cancel
Choose service to modify: 0
Modifying: svc01
Service is not disabled. Disable it? (yes/no/?) yes
6. 删除服务
如果要删除服务,请执行 cluadmin 的 service delete 命令。
然后输入列表中的服务的编号即可。
cluadmin> service delete
67
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
0) svc01
c) cancel
Choose service to delete: 0
Deleting svc01, are you sure? (yes/no/?): yes
Service svc01 disabled
Svc01 deleted.
7. 启动服务
如果在添加服务时没有启动服务,需要手动启动服务,请执行 cluadmin 的service
enable 命令。
首先要求选择需要启动的服务,请输入列表中的服务的编号。
然后要求选择在哪个节点上启动服务,请输入节点的编号。
cluadmin> service enable
0) svc01
c) cancel
Choose service to enable: 0
Are you sure? (yes/no/?) yes
0) test1
1) test2
c) cancel
Choose member: 0
Enabling svc01 on member test1. Service enabled.
8. 停止服务
如果需要停止服务,请执行cluadmin的 service disable 命令。
首先选择要停止的服务,请输入列表中的服务的编号。
然后要求确认,请输入yes。
cluadmin> service disable
0) svc01
c) cancel
Choose service to disable: 0
Are you sure? (yes/no/?) yes
68
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
Disabling svc01. Service disabled.
9. 切换服务
如果需要把在一个节点上运行的服务切换到另一个节点上,请执行cluadmin的
service relocate 命令。
首先选择要切换的服务,请输入列表中的服务的编号。
然后要求确认,请输入yes。
cluadmin> service relocate
0) svc01
c) cancel
Choose service to relocate: 0
Are you sure? (yes/no/?) yes
Relocating svc01. Service relocated.
如果所有的服务添加完成,请到第十章继续阅读随后内容。
69
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
第 9章
使用g u i a d m i n来配置G r e a t T u r b o H A
GreatTurbo HA10在两个节点均正常启动后,就可以开始将用户的应用配置成高
可用的服务了。用户可以使用 cluadmin来进行配置,也可以使用更方便、快捷
的图形配置工具 guiadmin来进行配置。guiadmin可以跨平台、远程的配置服务,
还具有配置集群信息,监控 HA的状态等一些功能。
本章将介绍 guiadmin的基本功能,并说明如何使用 guiadmin来对 GreatTurbo
HA进行配置和监控。
guiadmin的基本功能如下:
1) 配置集群的公共信息
2) 配置高可用的服务
3) 对指定服务进行状态变更
4) 修改和删除指定服务信息
5) 显示两节点的配置信息
6) 实时监控 GreatTurbo HA状态信息
1.guiadmin说明
guiadmin是使用java技术实现的跨平台的图形配置工具,由客户端和服务器
端两部分组成,均采用 java技术实现。客户端和服务器通过网络传送数据,实现
对HA配置信息的更改。服务器端软件要在HA的两个节点上安装,客户端软件可以
安装在两个节点上,也可以安装在其他任意平台,如:windows,linux等。C-S结
构的设计可以使用户可以对HA系统进行远程控制。
当使用配置工具的时候,必须保证 guiadmin服务器端进程已经在 HA的节点启
动,客户端进程启动后需要主动去和已经启动了服务的节点进行连接。
用户对 HA的所有操作只需要在客户端进行,guiadmin会自动同步配置两个节
点之间的信息。
guiadmin也可以实时的获取 HA状态信息,实现远程监控。
注意:必须保证同时只能有一个客户端对GreatTurbo HA两个节点进行配置和
监控。
使用guiadmin的同时不能够使用其他配置工具修改集群和服务配置。
70
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
2.配置条件
1) 必须保证在客户端和服务器端的操作系统上提供Java 运行时环境支持,
JRE1.4.2 或以上版本。
2) 在GreatTurbo HA10启动以后才能使用guiadmin来配置和监控服务。
3) 必须保证至少一个节点已经启动 guiadmin服务器端进程。
4) 保证服务器端的1099和 12345端口不被占用;保证客户端的 1099端口不
被占用。(如果服务器端 12345端口已经使用,那么可以修改
/opt/cluster/bin/guiadminserver脚本中“PORT”变量的值来指定新的
端口号,端口号的范围为 1-65534)。
5) 如果客户端在linux操作系统下使用,那么要保证在x windows界面下运
行客户端程序。
6) 需要在客户端和服务器的 PATH中设置“java”命令的路径。
7) 检查/usr/bin目录下的java命令是否正确链接到 jre或 jdk安装目录下
的java命令。
8) 客户端和服务器允许rmi注册服务。
3.安装、启动guiadmin的命令
a) Server端
如果您购买的是正版的 GreatTurbo HA10产品,那么您安装 GreatTurbo
HA10以后,guiadmin的服务器端和客户端软件均已经自动安装。
在您使用“/etc/init.d/cluster start”命令启动 HA的同时guiadmin服
务器端进程就已经启动;在使用“/etc/init.d/cluster stop”命令停止
HA的同时,guiadmin服务器端进程也将被停止。
/opt/cluster/bin/guiadminserver是启动和关闭服务器端进程的脚本,
guiadminserver start用来启动进程;guiadminserver stop用来关闭进
程。一般情况下不需要用户执行 guiadminserver命令。如果 guiadmin服
务进程发生异常,需要用户重新启动guiadminserver。
b) Client端
如果用户仅仅在HA的两个成员节点上运行guiadmin客户端软件,那么安
装GreatTurbo HA10即可,不需要做额外的操作。如果用户需要远程操作,
那么需要在远程客户机上(linux操作系统)执行安装光盘里的
install_guiclient。
/opt/cluster/guiadminclient是启动客户端软件的脚本。在成功安装客
户端软件以后,执行此脚本文件即可启动客户端进程。
71
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
如果您需要在windows操作系统下使用guiadmin工具,那么请执行安装光
盘中的/tools/guiadminclient/setup.exe。按照指示完成安装后,
guiadmin客户端程序就成功安装在windows操作系统下。
注意:启动客户端进程以前,必须保证Server端进程已经被启动。
4.连接GreatTurbo HA服务器
启动客户端进程以后,将出现如下所示的图形界面:
因为没有连接到服务器,所以此时还不能够对 HA进行配置。用户需要和指定
服务器进行连接:点击“configure”菜单中的“configure GreatTurbo HACfg”
项,出现如下所示的连接对话框:
72
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
用户需要在这里填入已经启动了 guiadmin服务进程的 HA两节点 IP地址、连
接的用户名和密码。正确输入所有项目以后,点击“OK”键就可以建立到服务器的
连接。Guiadmin默认先连接第一个 ip地址,当第一个 ip地址无法连接时尝试连
接第二个ip地址。如果两个 ip地址均无法连接,则返回错误信息。
为了保证安全性,guiadmin 需要客户端使用者在连接服务器端的同时输入用户
名和密码。用户名和密码由管理人员使用密码生成工具设置,
/opt/cluster/bin/passwdgenerate 就是专门生成 guiadmin 连接密码的工具。
运行passwdgenerate 命令,按照提示输入用户名和密码(用户名、密码不能够
为空),这样用户名和密码就保存在磁盘上。当用户连接服务器端的时候,服务器
端进程会检查用户名和密码的正确性。如果用户想修改以前所设定的密码,那么可
以再次运行该命令,按照提示输入用户名和密码即可。
用户在一个节点上设置完密码后,需要把/opt/cluster/lib/passwd文件手动拷贝
到另外一个节点的/opt/cluster/lib 目录下,保持两个节点的连接密码一致。
成功连接以后 HA两个节点的信息就全部显示出来,用户现在可以利用
guiadmin进行配置了。下图是已经建立了连接的guiadmin:
如果在用户使用过程中 guiadmin服务器端进程停止服务,那么客户端程序会
自动尝试连接到另外一个节点。如果连接成功,那么用户可以继续使用 guiadmin
对HA进行配置;如果连接失败,guiadmin客户端会交替尝试连接 2个节点,直到
某一节点恢复正常。
73
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
5.guiadmin功能介绍
guiadmin客户端大致可以分为4部分。即:通用信息的配置;节点信息监视;
配置服务信息和节点状态监视。大部分功能的切换都在主画面左边的节点树进行,
用户点击不同的节点,就会显示不同的信息。
(1) 对 GreatTurbo HA通用信息进行配置
节点树中的的GreatTurbo HA 项,对应的就是 GreatTurbo HA通用信息。用户
点击GreatTurbo HA 节点,然后在右侧的界面中就可以修改信息。通用信息中的具
体参数的含义请参阅第五、六、七章或者用户手册。
修改完毕以后,用户需要点击节点树下方的“Apply”键来提交给服务器端进
程,这样用户的修改才能够生效。
(2) 节点信息监视
节点树中的 members、member0、member1 项,对应的就是节点信息。由于我
们使用 member_config 里面设置了两个节点的信息,所以这里不允许用户对节点信
息和心跳信息进行修改,用户仅仅可以查看信息。
图示如下:
两个节点信息显示
74
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
单一节点信息
(3) 添加服务
节点树中的 services 项对应全部服务信息。在这里用户可以进行添加服务,删
除服务,对服务进行动作等操作。
添加服务后,服务并没有配置完全。如果用户想完整地配置服务,那么需点击
节点树中新增加的节点,在服务配置画面中对服务进行配置。
添加服务以后用户需要点击“Apply”键提交给服务器端进程,来使用户的操
作生效。
注意:
a) 一次只能够添加一个新服务。点击“Apply”键以后可以再次添加。
b) 新添加的服务名字和系统中已经存在的服务名字不能够重复。
75
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
(4) 服务配置信息修改
添加服务以后,在节点树中会出现新的项,节点名字对应于服务的名称。用
户点击该节点,就可以在新出现的界面中修改服务信息。用户修改完配置信息以后,
点击“Apply”键提交到服务器。每个参数的具体含义请参见第五、六、七、八章。
76
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
服务中可以添加、修改和删除浮动 IP,磁盘设备。点击页面下方的不同标
签,即可显示不同的项目。对于drbd设备,我们需要用 cluadmin来进行配置。
但是在 guiadmin中可以查看服务配置的drbd设备信息。
参数限制:
1) 所有服务中的浮动IP地址不能够重复。即Network Data中的IP
Address项不能够重复。
2) 所有服务中的设备文件不能够重复,即 Device Data中的Device File
项不能够重复。
3) 所有服务中的设备装载点不能够重复,即Device Data中的Mount
Point项不能够重复。
77
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
以上配置信息的具体含义请参见第五、六、七、八章或者用户手册。
(5) 删除服务
选择处于“Not Running”状态的服务,直接点击“Remove”健就可以把服务删
除。
对于“Running”状态的服务,必须先把该服务disable,然后才能够删除。
(6) 对服务的操作
当服务处于“Running”状态时,可以点击“disable”键来使服务失效。也
可以点击“Relocate”键来使服务在不同节点之间切换。
当服务处于“Not running”状态时,可以点击“Enable0”使服务在节点0
上启动;也可以点击“Enable1”使服务在节点1上运行。
当服务处于“error”状态时,仅仅可以使用“disable”键来改变服务状态。
(7) GreatTurbo HA两节点状态信息查询
点击客户端程序菜单下面的“Status”标签,就可以查询HA两节点的状态信
息。状态信息从服务器端获取,每隔3秒钟刷新一次。
至此, 您已经了解了 guiadmin的大部分功能,您可以参阅第五、六、七、八
章来更好的使用此工具。
78
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
6. 停止 guiadmin
(1) 服务器端运行 guiadminserver stop 来停止服务器端的进程。当该进程停止以后,
客户端就不能够再对GreatTurbo HA 进行配置。
(2) 客户端只需要点击“Close”键或者右上角的“x”来关闭客户端进程,并通知客
户端释放资源。
注意:客户端进程要在服务器端停止以前关闭。
7. 卸载guiadmin
(1) 服务器端:
当您运行发行光盘上的uninstall_ha以后,Guiamin 服务器端软件会随着 HA 的
卸载同时被卸载。
(2) 客户端:
如果 Guiadmin客户端软件仅仅安装在HA 两个节点上,那么在卸载HA 的同
时就可以把节点上的客户端软件卸载。
如果 Guiadmin客户端软件安装在其他Linux系统机器上,那么在客户机上执行
“ rpm –e GreatTurbo HA-guiadminclient”就可以把 Guiadmin 客户端软件卸载。
如果所有的服务添加完成,请到第十章继续阅读随后内容。
79
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
第 1 0章
检查G r e a t T u r b o H A 1 0的运行状态
GreatTurbo HA10配置完成后,可以通过以下的方式来检测 GreatTurbo HA10
的运行状态。
1) 检查各守护进程的运行状态。
2) 检查集群与服务的运行状态。
3) 检查drbd的运行状态。
1.检查各守护进程的运行状态
可以利用以下的命令检查各守护进程的运行状态:
/etc/init.d/cluster status
GreatTurbo HA10启动后,正常的运行状态为:
[root@test1 root]# /etc/init.d/cluster status
clumon (pid 32244) is running.
hb (pid 32269) is running.
svcmgr (pid 32251) is running.
syncd (pid 32228) is running.
powerd (pid 32273) is running.
svccheck (pid 32278) is running.
2.检查集群与服务的运行状态
可以利用以下的命令检查GreatTurbo HA10的集群与服务的运行状态:
/opt/cluster/bin/clustat
或者在cluadmin中执行
cluster status 或
cluster monitor
来检查集群与服务的运行状态。
这里主要对clustat的使用方法进行说明,在cluadmin中查看状态与clustat
基本相同。
80
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
(1) 没有配置 power switch时的状态检查
没有配置 power switch的情况下,GreatTurbo HA10正常运行时,执行
clustat的结果为:
[root@test1 root]# /opt/cluster/bin/clustat
Cluster Configuration (Turbolinux GreatTurbo HA 6.5):
Mon Apr 11 15:05:27 CST 2005
Member status:
Member Id System status
-------------------- --------------- ---------------------
test1 0 Up
test2 1 Up
Channel status:
Name Type Status
------------------------------------ ---------- ----------
hb11 <--> hb21 network ONLINE
hb12 <--> hb22 network ONLINE
test1 <--> test2 network ONLINE
/dev/ttyS0 <--> /dev/ttyS0 serial ONLINE
Service status:
Name On test1 On test2
-------------------- --------------- ---------------------
svc01 stopped running
说明:
1) 节点的状态
“Member status”表示节点的状态。
节点有以下几种状态:
Unknown: 节点状态不明
Up: 节点GreatTurbo HA10已启动
Down: 节点GreatTurbo HA10已停止
2) heartbeat通道的状态
“Channel status”表示 heartbeat通道的状态。
heartbeat通道有以下几种状态:
Unknown: heartbeat通道状态不明
81
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
ONLINE: heartbeat通道正常工作
OFFLINE: heartbeat通道断开连接
3) 服务的状态
“Service status”表示服务的状态。
服务有以下几种状态:
Unknown: 服务状态不明
starting: 服务正在启动
running: 服务正在运行
stopping: 服务正在停止
stopped: 服务已经停止
disabling: 服务正在disable
disabled: 服务已经 disabled
not accepted: 服务网络出现问题
error: 服务状态错误
(2) 配置了power switch时的状态检查
配置了 power switch的情况下,GreatTurbo HA10正常运行时,执行clustat
的结果为:
[root@test1 root]# /opt/cluster/bin/clustat
Cluster Configuration (Turbolinux GreatTurbo HA 6.5):
Mon Apr 11 16:13:51 CST 2005
Member status:
Member Id System Power
Status Switch
-------------------- --------------- ---------- ----------
test1 0 Up Good
test2 1 Up Good
Channel status:
Name Type Status
------------------------------------ ---------- ----------
hb11 <--> hb21 network ONLINE
hb12 <--> hb22 network ONLINE
test1 <--> test2 network ONLINE
/dev/ttyS0 <--> /dev/ttyS0 serial ONLINE
Service status:
82
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
Name On test1 On test2
-------------------- --------------- ---------------------
svc01 stopped running
说明:
power switch的状态:
Unknown: power switch状态不明
Good: power switch状态正常
Down: power switch守护进程停止
(3) 配置了磁盘镜像设备时的状态检查
当配置了磁盘镜像设备时,用带 m 选项的 clustat命令可以查看磁盘镜
像的状态。
[root@test1 root]# /opt/cluster/bin/clustat m
Cluster Configuration (Turbolinux GreatTurbo HA 6.5):
Mon Apr 11 16:28:09 CST 2005
Member status:
Member Id System status
-------------------- --------------- ---------------------
test1 0 Up
test2 1 Up
Channel status:
Name Type Status
------------------------------------ ---------- ----------
hb11 <--> hb21 network ONLINE
hb12 <--> hb22 network ONLINE
test1 <--> test2 network ONLINE
/dev/ttyS0 <--> /dev/ttyS0 serial ONLINE
Service status:
Name On test1 On test2
-------------------- --------------- ---------------------
svc01 stopped running
Drbd status:
Drbd ID On test1 On test2
-------------------- --------------- ---------------------
drbd0 DP DSS
83
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
说明:
“Drbd status”表示磁盘镜像的状态。
磁盘镜像有以下几种状态:
Unknown: drbd状态不明
DP: drbd状态为Primary
DSS: drbd状态为Secondary Synced
DSU: drbd状态为Secondary Unsynced
3.检查drbd的运行状态
由于在Linux kernel2.4和 2.6的环境下,drbd的版本不同,因此,下面分别
说明在这两个版本下如何检查drbd的运行状态。
(1) Linux kernel2.4环境
Linux kernel2.4的环境下,检查 drbd的运行状态有两种方式。
1) 检查drbd内核模块是否在运行
可以利用以下的命令来检查drbd内核模块是否在运行。
/etc/init.d/drbd status
检查的结果有以下几种:
running: drbd内核模块正常运行
stopped: drbd内核模块已停止
error: drbd内核模块运行错误
例如:
[root@test1 root]# /etc/init.d/drbd status
drbd0: running
2) 检查/proc/drbd
执行 cat /proc/drbd 可以查看drbd的更详细的信息。
例如:
[root@test1 root]# cat /proc/drbd
version: 0.6.8 (api:63/proto:62)
84
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
0: cs:Connected st:Primary/Secondary ns:104397 nr:0 dw:9
dr:104521 pe:0 ua:0
说明:
Field 说明 值
Cs 连接状态 o Connected:一切正常
o Unconfigured:过渡状态,设备在等待配置
(insmod后的状态)
o StandAlone:过渡状态,配置完disk没配 net。
o Unconnected:连接模块时的过渡状态,或连接失
败时的状态
o Timeout:发送数据包timeout
o BrokenPipe:发送数据包错误
o WFConnection:连接之前的状态
o WFReportParams:发送参数给对方
o SyncPaused:等待高优先级的group先 sync完
o SyncingAll:正将主节点的所有模块复制到次级
节点上
o SyncingQuick:通过复制已被更新的模块(在次
级节点短暂离开集群的情况下)来更新次级节点
St 状态 可能的值为:
o Primary/Secondary
o Primary/Unknown
o Secondary/Secondary
o Secondary/Unknown
Ns 发送的数据 KB
Nr 接收的数据 KB
Dw 磁盘写入的数据 KB
Dr 磁盘读取的数据 KB
Of 运行中(过时)的
请求
Pe 待解决的请求 请求数
请求数
Ua 未答复的请求 请求数
(2) Linux kernel2.6环境
在Linux kernel2.6的环境下,可以用以下的命令查看 drbd的状态。
[root@test1 root]# /etc/init.d/drbd status
drbd driver loaded OK; device status:
version: 0.7.11 (api:77/proto:74)
SVN Revision: 1912M build by root@qa3-127, 2005-08-25 10:20:28
0: cs:Connected st:Primary/Secondary ld:Consistent
ns:20387 nr:366908 dw:387295 dr:14614 al:47 bm:139 lo:0
85
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
pe:0 ua:0 ap:0
说明:
Field 说明 值
Cs 连接状态 o Connected:一切正常
o Unconfigured:过渡状态,设备在等待配置
(insmod后的状态)
o StandAlone:过渡状态,配置完disk没配 net。
o Unconnected:连接模块时的过渡状态,或连接失
败时的状态
o Timeout:发送数据包timeout
o BrokenPipe:发送数据包错误
o NetworkFailure:网络错误
o WFConnection:连接之前的状态
o WFReportParams:发送参数给对方
o SkippedSyncS:应当为同步的源端,但用户选择
不同步
o SkippedSyncT:应当为同步的目的端,但用户选
择不同步
o WFBitMapS:过渡状态,同步源端同步前等待
bitmap
o WFBitMapT:过渡状态,同步目的端同步前等待
bitmap
o SyncSource:同步的源端
o SyncTarget:同步的目的端
o PausedSyncS:同步源端暂停
o PausedSyncT:同步目的端暂停
St 状态 可能的值为下列值的组合:
o Primary
o Secondary
o Unknown
ld 物理磁盘的状态 o Consistent:数据一致
o Inconsistent:数据不一致
Ns 发送的数据 KB
Nr 接收的数据 KB
Dw 磁盘写入的数据 KB
Dr 磁盘读取的数据 KB
Al 访问 log的数目 个数
Bm 写 bitmap的数目 个数
Lo 等待本地磁盘来
标记操作完成的
请求
pe Pending(等待应
答的请求)
请求数
请求数
86
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
ua 没有应答的请求 请求数
ap 等待结束的请求 请求数
87
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
第 1 1章
卸载G r e a t T u r b o H A 1 0
卸载GreatTurbo HA10的过程如下:
1) 卸载 GreatTurbo HA10
2) 卸载 drbd
3) 卸载 guiadmin客户端
1.卸载GreatTurbo HA10
您可以利用GreatTurbo HA10提供的uninstall_ha 工具来卸载GreatTurbo
HA10 。uninstall_ha 安装在/sbin目录下。
注意:
卸载的操作请在两个节点上分别执行。
卸载的方法如下:
1) 卸载之前请先停止GreatTurbo HA10。GreatTurbo HA10停止的方法如下:
/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.
88
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
____ Performing drbd stop ____
drbd: 'drbd0' already Secondary
drbd: module has been unloaded
____ Completed drbd stop ____
-------- Completed cluster stop ---------------------
2) 执行卸载工具uninstall_ha来卸载 GreatTurbo HA10。
[root@test1 root]# uninstall_ha
Following RPMs will be uninstalled:
*) GreatTurbo HA
*) GreatTurbo HA 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 GreatTurbo HA uninstallation finished.
2.卸载drbd
如果您安装了drbd,执行 uninstall_ha不会卸载drbd软件包。
(1) Linux kernel2.4 环境
在Linux kernel2.4 环境下,卸载drbd软件包,请执行以下的命令:
[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
3.卸载guiadmin 客户端
执行install_ha 在 GreatTurbo HA10集群的两个节点上安装的guiadmin 客户
端,在执行uninstall_ha时会自动卸载。
89
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
如果在别的机器上执行install_guiclient,单独安装了 guiadmin客户端,请执
行以下的命令进行卸载:
rpm -e GreatTurbo HA-guiadminclient
90
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
附录
GreatTurbo HA10 的维护
如果您还有什么疑问或者是您认为 GreatTurbo HA10 在运行中出现问题,可以
首先对照 FAQ 进行自行处理。如果发现仍然不能处理相应问题。可以与拓林思
软件有限公司进行联系。
1.GreatTurbo HA10 的日志信息
GreatTurbo HA10 的日志信息存放在两个节点的/var/log/cluster 文件中,如果您的系
统出现问题,您可以首先阅读两个节点的/var/log/cluster 日志文件,通过日志可以初
步定位一些基本的故障和原因。
注意:
1) 在 GreatTurbo HA10 运行期间,请不要手动修改和删除两个节点上的
/var/log/clluster文件,以免log信息丢失。
2) 如果您发现 /var/log/cluster 日志文件较大,可以在两个节点上分别直接运行
“ /opt/cluster/bin/clusterclear” 命令来备份并清空日志文件。
3) 如果您发现 /var/log/cluster 日志文件没有正常记录日志信息,可以执行
“ /etc/init.d/syslog restart”重新激活/var/log/cluster文件的日志功能。
2.FAQ
1) Q: 如何查看GreatTurbo HA10 安装的是哪一个发行版本?
A: 可以使用 rpm -qa |grep GreatTurbo HA 命令来查看具体的版本号。
2) Q: 如果配置了第三方IP 地址,但是第三方IP 地址由于某种原因发生了一段
时间(比如说1 天)的故障,在这端时间内是否会影响 GreatTurbo HA10 的正
常使用?
A: 在这段时间内,如果没有节点发生故障,则不会影响GreatTurbo HA10 的
正常使用,否则由于一个节点的故障(例如节点掉电或死机等),可能会导致另一
个节点的反复reboot 现象,从而会导致用户的业务受到影响。所以,如果不能保证
第三方参考IP 永久持续有效,则可以不配置第三方 IP。
3) Q: 如果不配置第三方IP 地址,会对 GreatTurbo HA10系统有影响吗?
A: 如果两个节点之间配置了三条以上的心跳通道,那么这三条心跳通道全部
故障的几率是非常小的。在这个前提下,如果用户实在是不具备永久持续有效的第
三方参考 IP ,则可以不配置第三方 IP 地址,在使用 member_config 工具的配置过
91
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
程中将第三方 IP 配置选项选择“ no”。如果用户具备永久持续有效的第三方参考
IP 时,则最好还是配上,在 member_config 的配置过程中将第三方 IP 配置选项选
择“ yes”,并输入地址值。
4) Q: 什么是永久持续有效的第三方参考IP?
A :a)该永久持续有效,不会 down 掉,也不会短时故障。
b)从 HA 的节点能够ping 通该IP。
5) Q: GreatTurbo HA10 为什么要配置多个心跳通道?
A: GreatTurbo HA10 配置三条以上的通道是出于最大可能提高系统可用性的
考虑。通过三条以上的通道来保证硬件上的更高冗余性。GreatTurbo HA10使用通
道来同步心跳信息和发送命令。如果第一条通道正常,则 GreatTurbo HA.6.5 会选
择第一条通道进行通讯,如果第一条通道故障,那么 GreatTurbo HA10 会选择下一
条正确的通道进行通讯,以此类推。也就是说 TuboHA6.5 按照member_config 工具
配置通道时的顺序来使用通道。
6) Q: GreatTurbo HA10 除了将直连网线和串口配置成通道之外,为什么还需要将
服务使用的外网网卡也配置成通道?
A :这是为了进一步保证服务的高可用性,以避免当所有的直连网线和串口都
发生故障时会发生的裂脑现象,以保证应用数据的一致性。
需要强调的是,将服务使用的外网网卡配置成通道并不会影响服务的网
络带宽,因为GreatTurbo HA 会自动优先使用直连网线通道。只有所有的直连
网线都发生故障时,GreatTurbo HA 才会使用外网网卡。
7) Q: 如何升级GreatTurbo HA10?
A: 如果由于某种原因,用户需要升级GreatTurbo HA10到更高发行版本时,
只需先按照手册卸载旧版本的 GreatTurbo HA10,然后按照手册重新安装新版本的
GreatTurbo HA10 即可。基本顺序是:1.卸载旧版本;2.安装新版本;3.如果原先配
置的应用不需要更改或者也不需要增加新的应用,则无需重新配置,直接可以启动
GreatTurbo HA10 进行使用。
8) Q: 如果用户以前使用的是 GreatTurbo HA6.0,能否顺利升级到 GreatTurbo
HA10?
A: GreatTurbo HA6.0 能够无缝升级到 GreatTurbo HA10。
注意:考虑到升级过程可能会需要短时间终止用户的业务,所以请在拓林思软
件有限公司工程师的帮助下进行升级。
9) Q: 如果用户应用的CPU 负载较重时,需要调整GreatTurbo HA10 的参数吗?
A: 如果用户应用的CPU 负载较重,且持续在n*5 秒钟以内都维持在100%以
上时,需要使用 cluadmin 工具来进行调整GreatTurbo HA10 同步心跳的参数。进入
cluadmin,输入cluster heartbeat interval n 将时钟同步的间隔时间设置成n 秒钟。
如果用户的应用的 CPU 负载不会达到 100%,或者是100 %CPU负载持续时间
在15 (3*5)秒以内,则不需要改动参数。
10) Q: GreatTurbo HA10是否能够检测网卡的硬件连接情况?
92
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
A: 能够。GreatTurbo HA10 通过配置,能够检测服务所使用的网卡是否正常连
接到交换机或者HUB 上。
注意:待检测网卡的网线另一段必须是连接在交换机或者HUB 上。
11) Q: GreatTurbo HA10服务迁移时间是否可以进行调整?
A: 可以。通过调整服务检测到错误的时间来调整服务迁移时间。由于服务检
测到错误的时间=服务检测的间隔时间 * 服务连续出错的次数,所以在配置
服务的检测脚本时,通过调整check interval 以及check count 参数,可以控制服
务检测到错误的时间。
通常,习惯于将check count(单位为次)设置为 3 ,表示连续3 次出错后
才确认服务的确出错,以保证检测的可靠性。而check interval(单位为秒)的
设置由用户的应用决定。
一定要根据用户的应用要求来合理的设置check interval 的值。
如果应用更着重于稳定性/ 可靠性(属于电信/银行等关键业务的应用或应
用本身的负载较重等),建议将 interval 的值适当调大,如设置 check interval
在10 秒-30 秒之间,当服务出错,服务最少将在30 秒-90 秒之后进行服务的迁
移。
如果应用更着重于性能(应用负载较轻或者应用要求极短的服务不可用
时间),建议将interval的值适当调小,如设置 check interval 在 3 秒-10秒之间,
当服务出错,服务最少将在9 秒-30 秒之后进行服务的迁移。
对于通常的应用,一般将 check interval 设置成 5 秒,当服务出错,服务
最少将在15 秒之后进行服务的迁移。
12) Q:当服务出现error状态时该如何处理?
A: 当服务启动或停止失败时,服务将处在错误状态,处在错误状态下的服务,
其资源的状态将无法确定(例如,它的部分资源已经释放,但某些服务资源仍
然将在所有者节点上进行配置)。GreatTurbo HA10 中,以下的情形将导致服
务的状态为 error:①启用服务失败;②停止服务失败(多为服务检测失败时停
止服务);③禁用服务失败;④切换服务失败;⑤停止 GreatTurbo HA10失败(即
/etc/init.d/cluster stop 失败)。
由于处理错误状态下的服务可能有资源没有释放,所以处理错误状态中的
服务必须十分小心。如果服务资源仍然在所有者节点上配置,那么在另一个集
群节点上启动服务可能会造成严重的问题。例如,如果某一文件系统已经加载
到它的所有者节点上,您又在另一个集群节点上启动该服务,则该文件系统将
可能同时在两个系统上被加载,这样可能导致数据损坏。所以,您必须在确认
所有的服务资源都已经完全释放掉了之后才能在另一个集群节点上重新启用
服务。
对于errror 状态服务,若按服务配置的重启策略自动重启后仍然不成功,
就需要手动干预。手动干预处理错误状态的服务的过程一般如下:
①定位错误的原因。当服务的状态变为 error 时,首先要定位错误的原因,要
从 GreatTurbo HA10 的日志中分析。一般服务启动和停止的过程分为几步(例
如,启动服务时会有 mount 分区,启动活动 IP,执行启动脚本等几步),每一
步出错都会打印日志,要从日志中分析具体是哪一步出错了。
②排除故障。当找到错误的原因后,需要排除故障。一般是通过先modify,使
服务配置正确,然后 disable 操作,使服务能够成为 disabled 状态,若操作成
93
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
功就可以进行enable或 delete 等其它的操作了。在 modify 的过程中,建议修
改服务配置使Reboot After Fail为 no,以避免在 modify服务仍有问题的时候
进行无谓的重启。例如,如果是启动/停止脚本写的有错误,则需要纠正错误并
测试正确等。
③释放资源,恢复系统。故障排除后,需要释放所有的没有释放的服务资源,
并重新恢复系统。
13) Q: 使用磁盘镜像设备(drbd)时,如何配置Oracle的服务?
A: 当使用磁盘镜像设备时,如果想配置 Oracle 的服务,建议将 Oracle 在
GreatTurbo HA10 的两个节点上分别安装,即不安装在磁盘镜像设备上,而安
装在节点自己的磁盘设备上,安装时先不要建库,在安装完后再单独建库。将
Oracle 的库文件建在磁盘镜像设备上,建库时,先在一个节点上 mount 磁盘镜
像设备、建库,完成后,再在另一个节点上mount 磁盘镜像设备、以和前一个
节点上完全相同的操作建库,并选择覆盖原来的库。这样,Oracle 就在磁盘镜
像设备上安装完成了,然后先手动试一下能否启动 Oracle,如果手动能够启动
Oracle,就可以在GreatTurbo HA10 中配置基于磁盘镜像设备的Oracle 服务了。
3. Log 收集工具的使用方法
当 GreatTurbo HA 发生故障时,可以使用 GreatTurbo HA 附带的 log 收集工
具 clulogc 收集 log 和系统的信息,将收集到的信息发送给拓林思公司,以便更
有效地定位故障的原因。
Log 收集工具的存放位置: /opt/cluster/bin/clulogc
Log 收集工具的使用方法: /opt/cluster/bin/clulogc [OPTIONS]
-a
-t
-s
命令选项
-c
-o
-h
-n clulog_rotate_num
参数选项
-p syslog_path
-r syslog_rotate_num
至少要指定一个命令行选项,参数选项可以指定也可以不指定。
当不指定任何参数选项时,表示收集所有的 GreatTurbo HA 的 log 和 syslog,
并且 syslog 的路径为 /var/log/message。
如果 syslog 的存放位置不在 /var/log/message,需要利用 -p 选项指定 syslog
的完整的路径。
假设要收集所有的 log 信息,并且只收集当前的 GreatTurbo HA 的 log 和
syslog,命令行应为:
/opt/cluster/bin/clulogc -a -n 1 -r 1
假设只收集 GreatTurbo HA 相关的所有信息,命令行应为:
收集所有的信息
收集 GreatTurbo HA 相关的信息
收集 syslog
收集 core 文件
收集系统的信息
显示帮助信息
指定收集 GreatTurbo HA log 的文件
个数
指定 syslog 的路径
指定收集 syslog 的文件个数
94
G R E A T T U R B O H A 6 . 5 用 户 快 速 安 装 手 册
/opt/cluster/bin/clulogc -t
收集到的 log 信息的存放位置: /opt/cluster/log/
收集到的 log 信息的文件名格式:机器名 -年 -月 -日 .tar.gz
例如机器名为 test1,收集日期为 2005 年 1 月 1 日,收集到的 log 信息的文
件名为: test1-2005-01-01.tar.gz
注意:
1) log 收集工具需要在两个节点上分别执行。
2) 为了收集比较全面的信息,请用/opt/cluster/bin/clulogc –a 来收集信
息;如果用-a 选项收集到的 log 文件过大,请分别用-t, -s, -c, -o 选项
来收集信息。
4.联系拓林思软件有限公司
1) 邮件联系:support@turbolinux.com.cn。
请在邮件中详细描述GreatTurbo HA10 的版本信息,故障现象,并在附件中附
上用log 收集工具收集的 log 信息。
2) 电话联系:01065054020
95