技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5lit5qch6bqs... ·...

143
中标麒麟高可用集群软件 V5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路 1028 号数娱大厦 10 层(200030北京市海淀区北四环西路 9 号银谷大厦 20 层(100190广州市天河北路 898 号信源大厦 16 1604 室(510898

Upload: others

Post on 23-Apr-2020

18 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件 V5.0

技术白皮书

上海中标软件有限公司

上海市徐汇区番禺路 1028 号数娱大厦 10 层(200030)

北京市海淀区北四环西路 9 号银谷大厦 20 层(100190)

广州市天河北路 898 号信源大厦 16 层 1604 室(510898)

Page 2: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028
Page 3: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

目录

i

目录

目录 ................................................................................................................................................... i

前言 ................................................................................................................................................ vii

内容指南 ......................................................................................................................................... ix

中标麒麟最终用户使用许可协议.................................................................................................. xi

中标麒麟高可用集群产品介绍..................................................................................................... xv

1 概述 .............................................................................................................................................. 1

1.1 产品特点 .................................................................................................................... 1

1.2 产品优势 .................................................................................................................... 1

1.3 集群配置 .................................................................................................................... 3

1.4 高可用集群组成 ........................................................................................................ 6

1.5 体系结构 .................................................................................................................... 6

1.5.1 架构层次 ......................................................................................................... 6

1.5.2 工艺流程 ......................................................................................................... 8

2 系统环境搭建说明..................................................................................................................... 11

2.1 硬件要求 .................................................................................................................. 11

2.2 软件要求 .................................................................................................................. 11

2.3 共享磁盘要求 .......................................................................................................... 11

2.4 操作系统安装和配置 .............................................................................................. 12

2.4.1 操作系统准备 ............................................................................................... 12

2.4.2 操作系统分区划分 ....................................................................................... 12

2.5 操作系统网络配置说明 .......................................................................................... 12

2.6 高可用集群所需的操作系统配置修改 .................................................................. 16

2.6.1 配置/etc/hosts 文件 ....................................................................................... 16

2.6.2 关闭防火墙服务 ........................................................................................... 17

2.6.3 系统服务调整 ............................................................................................... 17

3 高可用集群配置和管理............................................................................................................. 19

Page 4: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

ii

3.1 基础配置 .................................................................................................................. 19

3.1.1 集群实时状态 ............................................................................................... 20

3.1.2 更新配置 ....................................................................................................... 20

3.1.3 迅速删除某段配置 ....................................................................................... 21

3.1.4 不利用 XML 更行配置 ................................................................................ 22

3.1.5 测试配置 ....................................................................................................... 22

3.2 命令行配置管理资源 .............................................................................................. 23

3.2.1 LSB 资源代理脚本 ....................................................................................... 23

3.2.2 OCF 资源代理脚本 ....................................................................................... 23

3.2.3 NFS 服务配置实例 ....................................................................................... 24

3.2.4 配置文件系统资源 ....................................................................................... 25

3.2.5 NFS 服务和 IP 地址 ...................................................................................... 25

3.2.6 配置 CRM 选项 ............................................................................................ 26

3.2.7 限制条件的配置 ........................................................................................... 28

3.3 图形配置管理资源 .................................................................................................. 30

3.4 磁盘镜像配置 .......................................................................................................... 33

3.4.1 drbd 介绍 ....................................................................................................... 33

3.4.2 drbd 手动配置 ............................................................................................... 35

3.4.3 drbd 图形配置 ............................................................................................... 35

3.5 共享磁盘锁配置 ...................................................................................................... 37

3.5.1 共享磁盘锁功能详细说明 ........................................................................... 37

3.5.2 共享磁盘锁图形配置 ................................................................................... 37

3.6 网络监控配置 .......................................................................................................... 37

3.6.1 配置网卡应用资源保护 ............................................................................... 38

3.6.2 配置 HBA 卡应用资源保护 ........................................................................ 39

3.7 配置 STONITH ........................................................................................................ 43

3.7.1 配置 STONITH 作为一个集群资源 ............................................................ 43

3.8 资源配置示例 .......................................................................................................... 44

Page 5: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

目录

iii

3.8.1 命令行配置 IP 资源 ..................................................................................... 44

3.8.2 图形配置 IP 资源 ......................................................................................... 45

3.9 Windows 客户端管理 ............................................................................................... 46

4 高可用集群管理工具................................................................................................................. 49

4.1 cibadmin-读取 ........................................................................................................ 50

4.2 crmadmin-控制 CRM ............................................................................................. 52

4.3 crm_attribute-手动维护 CIB .................................................................................. 52

4.4 crm_diff-区别集群配置文件与接受配置文件补丁 ............................................. 53

4.5 crm_failcount-在指定的资源上进行错误统计 ..................................................... 53

4.6 crm_master-指定那个资源可以被加载 ................................................................ 54

4.7 crm_mon-集群状态监视器 ................................................................................... 54

4.8 crm_resource ............................................................................................................. 55

4.9 crm_standby .............................................................................................................. 56

4.10 crm_uuid-获取节点 UUID .................................................................................. 57

4.11 crm_verify-验证 CIB 一致性............................................................................... 57

5 资源保护脚本简介..................................................................................................................... 59

5.1 STONITH 代理 ......................................................................................................... 59

5.2 其它资源代理 .......................................................................................................... 59

5.2.1 LSB 脚本 ....................................................................................................... 60

5.2.2 OCF 脚本 ....................................................................................................... 60

5.2.3 如何编写 OCF 脚本 ..................................................................................... 60

6 常见问题 .................................................................................................................................... 61

6.1 高可用集群的运行情况? ...................................................................................... 61

6.2 集群的中的一些节点无法看到其它节点? .......................................................... 61

6.3 要列出当前已知资源 .............................................................................................. 61

6.4 配置的一个资源总是提示运行失败? .................................................................. 62

6.5 如果提示错误信息,如何获取更多有效的错误信息? ...................................... 62

6.6 如何清理我的资源? .............................................................................................. 63

附录一 OCF 资源代理 ............................................................................................................... 65

Page 6: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

iv

ocf:Apusic ............................................................................................................... 65

ocf:AudibleAlarm ................................................................................................... 65

ocf:bind ................................................................................................................... 66

ocf:ClusterMon ....................................................................................................... 66

ocf:db2 .................................................................................................................... 67

ocf:Delay ................................................................................................................. 68

ocf:DMAgent .......................................................................................................... 69

ocf:DMDB .............................................................................................................. 69

ocf:drbd ................................................................................................................... 69

ocf:Dummy ............................................................................................................. 71

ocf:eDir88 ............................................................................................................... 71

ocf:Evmsd ............................................................................................................... 73

ocf:EvmsSCC .......................................................................................................... 73

ocf:Filesystem ......................................................................................................... 74

ocf:httpd .................................................................................................................. 75

ocf:ICP .................................................................................................................... 76

ocf:ids ...................................................................................................................... 76

ocf:IPaddr2 .............................................................................................................. 78

ocf:IPaddr ................................................................................................................ 80

ocf:IPsrcaddr ........................................................................................................... 81

ocf:IPv6addr ............................................................................................................ 82

ocf:iscsi ................................................................................................................... 83

ocf:Kingbase ........................................................................................................... 84

ocf:Ldirectord .......................................................................................................... 84

ocf:LinuxSCSI ........................................................................................................ 85

ocf:LVM .................................................................................................................. 85

ocf:MailTo ............................................................................................................... 86

ocf:ManageRAID .................................................................................................... 86

Page 7: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

目录

v

ocf:ManageVE ........................................................................................................ 87

ocf:mysql ................................................................................................................. 87

ocf:o2cb ................................................................................................................... 89

ocf:openldap.neoshine ............................................................................................. 91

ocf:oracle ................................................................................................................. 92

ocf:oralsnr ............................................................................................................... 93

ocf:pgsql .................................................................................................................. 94

ocf:pingd ................................................................................................................. 95

ocf:portblock ........................................................................................................... 96

ocf:postfix ............................................................................................................... 97

ocf:Pure-FTPd ......................................................................................................... 98

ocf:Raid1 ................................................................................................................. 98

ocf:rsyncd ................................................................................................................ 99

ocf:SAPDatabase................................................................................................... 100

ocf:SAPInstance .................................................................................................... 102

ocf:SendArp .......................................................................................................... 104

ocf:ServeRAID ...................................................................................................... 104

ocf:sfex .................................................................................................................. 105

ocf:SphinxSearchDaemon ..................................................................................... 106

ocf:Stateful ............................................................................................................ 107

ocf:Sybase ............................................................................................................. 107

ocf:SysInfo ............................................................................................................ 108

ocf:tomcat .............................................................................................................. 110

ocf:VIPArip ........................................................................................................... 111

ocf:vsftp ................................................................................................................ 112

ocf:WAS6 .............................................................................................................. 112

ocf:WAS ................................................................................................................ 113

ocf:weblogic .......................................................................................................... 113

ocf:WinPopup........................................................................................................ 114

Page 8: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

vi

ocf:Xen .................................................................................................................. 115

ocf:Xinetd .............................................................................................................. 116

附录二 术语表 .......................................................................................................................... 117

CRM:cluster resource manager .......................................................................... 117

LRM:local resource manager ............................................................................. 117

PE:CRM Policy Engine ...................................................................................... 118

TE:Transition engine .......................................................................................... 118

CIB:cluster information base.............................................................................. 118

CCM:consensus cluster membership ................................................................. 118

LOGD:logging daemon(non-blocking) ......................................................... 118

APPHBD:application heartbeat daemon ............................................................ 119

RMD:recovery manager daemon ....................................................................... 119

STONITH .............................................................................................................. 119

Split-Brain ............................................................................................................. 119

DRBD.................................................................................................................... 119

EVMS.................................................................................................................... 120

iSCSI ..................................................................................................................... 120

Ldirectord .............................................................................................................. 120

OCFS2 ................................................................................................................... 120

IPC ........................................................................................................................ 120

Page 9: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

前言

vii

前言

随着社会的发展和整个社会服务意识的增强,越来越多的行业需要提供 7×24 的不间断

服务。社会需要一种可以满足这种需求的产品,而中标麒麟高可用集群(简称 NeoKylinHA)

正是可以满足这种需求的一款企业级高可用性集群解决方案的产品。该产品具有诸多技术特

性,其智能的服务切换策略、数据保护和磁盘镜像等功能,确保您的系统数据的可用性、连

续性和完整性。

中标麒麟高可用集群支持 IA64、X86 、X86-64 等系列的所有主流 Linux 系统平台,能

方便地为您打造一个能满足您的需求又性价比极高的系统环境。

Page 10: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028
Page 11: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

内容指南

ix

内容指南

NeoKylinHA 是一个基于 Linux 系统平台的集群技术;NeoKylinHA 对网络中的重要系

统数据及服务保护具有很高的实用性和易处理性。它是一个支持失效转移、自动恢复及负载

均衡的节点集群产品。技术白皮书是供管理员创建及管理 Linux 高可用集群使用的参考文

档。

Page 12: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028
Page 13: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标普华最终用户使用许可协议

xi

中标麒麟最终用户使用许可协议

尊敬的中标麒麟用户:

首先感谢您选用由上海中标软件有限公司开发并制作发行的中标麒麟产品。

请在打开本软件介质包之前,仔细阅读本协议条款以及所提供的所有补充许可条款(统

称“协议”)。一旦您打开本软件介质包,即表明您已接受本协议的条款,本协议将立即生效,

对您和本公司双方具有法律约束力。

1. 使用许可

按照已为之支付费用的用户数目及计算机硬件类型,上海中标软件有限公司(下称“中

标软件”) 向您授予非排他、不可转让的许可,仅允许内部使用由中标软件提供的随附软件

和文档以及任何错误纠正(统称“本软件”)。

- 软件使用许可

在遵守本协议的条款和条件的情况下,中标软件给予贵机构非独占、不可转让、有限的

许可,允许贵机构至多使用软件的五(5)份完整及未经修改的二进制格式副本,而此种软

件副本仅可安装于贵机构操作的电脑中。

- 教育机构使用许可

在遵守本协议的条款和条件的情况下,如果贵机构是教育机构,中标软件给予贵机构非

独占、不可转让的许可,允许贵机构仅在内部使用随附的未经修改的二进制格式的软件。此

处的“在内部使用”是指由在贵机构入学的学生、贵机构教员和员工使用软件。

- 字型软件使用

软件中包含生成字体样式的软件(“字型软件”)。贵机构不可从软件中分离字型软件。

贵机构不可改动字型软件,以新增此等字型软件被作为软件的一部分交付予贵机构时所不具

备的任何功能。贵机构不可将字型软件嵌入作为商业产品提供以换取收费或其它报酬的文

件。

2. 限制

Page 14: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

xii

本软件受到版权(著作权)法、商标法和其它法律及国际知识产权公约的保护。中标软

件和/或其许可方保留对本软件的所有权及所有相关的知识产权。对于中标软件或其许可方

的任何商标、服务标记、标识或商号的任何权利、所有权或利益,本协议均不作任何授权。

3.关于复制、修改及分发

如果在所有复制品中维持本协议书不变,您可以且必须根据《GNU GPL-GNU 通用公

共许可证》复制、修改及分发中标麒麟 Linux 产品中遵守《GNU GPL-GNU 通用公共许可证》

协议的软件,其它不遵守《GNU GPL-GNU 通用公共许可证》协议的中标麒麟 Linux 产品必

须根据符合相关法律之其它许可协议进行复制、修改及分发,但任何以中标麒麟 Linux 产品

为基础的衍生发行版未经上海中标软件有限公司的书面授权不能使用任何上海中标软件有

限公司的商标或其它任何标志。

特别注意:该复制、修改及分发不包括本产品中包含的任何不适用《GNU GPL-GNU

通用公共许可证》的软件,如中标麒麟 Linux 产品中包含的输入法软件、字库软件、第三方

应用软件等。除非适用法律禁止实施,否则您不得对上述软件进行复制、修改(包括反编译

或反向工程)、分发。

4. 有限担保

中标软件向您担保,自购买之日起九十(90)天内(以收据副本为凭证),本软件的存

储介质(如果有的话)在正常使用的情况下无材料和工艺方面的缺陷。除上述内容外,本软

件按“原样”提供。在本有限担保项下,您的所有补偿及中标软件的全部责任为由中标软件

选择更换本软件介质或退还本软件的购买费用。

5. 担保的免责声明

除非在本协议中有明确规定,否则对于任何明示或默示的条件、陈述及担保,包括对适

销性、对特定用途的适用性或非侵权性的任何默示的担保,均不予负责,但上述免责声明被

认定为法律上无效的情况除外。

6. 责任限制

在法律允许范围内,无论在何种情况下,无论采用何种有关责任的理论,无论因何种方

Page 15: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标普华最终用户使用许可协议

xiii

式导致,对于因使用或无法使用本软件引起的或与之相关的任何收益损失、利润或数据损失,

或者对于特殊的、间接的、后果性的、偶发的或惩罚性的损害赔偿,中标软件或其许可方均

不承担任何责任(即使中标软件已被告知可能出现上述损害赔偿)。根据本协议,在任何情

况下,无论是在合同、侵权行为(包括过失)方面,还是在其它方面,中标软件对您的责任

将不超过您就本软件所支付的金额。即使上述担保未能达到其基本目的,上文所述的限制仍

然适用。

7. 终止

本协议在终止之前有效。您可以随时终止本协议,但必须销毁本软件的全部正本和副本。

如果您未遵守本协议的任何规定,则本协议将不经中标软件发出通知立即终止。终止时,您

必须销毁本软件的全部正本和副本。

8. 管辖法律

与本协议相关的任何诉讼均受适用的中华人民共和国法律管辖。任何其它国家和地区的

选择法律的规则不予适用。

9. 可分割性

如果本协议中有任何规定被认定为无法执行,则删除相应规定,本协议仍然有效,除非

删除妨碍各方愿望的实现(在这种情况下,本协议将立即终止)

10. 完整性

本协议是您与中标软件就其标的达成的完整协议。它取代此前或同期的所有口头或书面

往来信息、建议、陈述和担保。在本协议期间,有关报价、订单、回执或各方之间就本协议

标的进行的其它往来通信中的任何冲突条款或附加条款,均以本协议为准。对本协议的任何

修改均无约束力,除非通过书面进行修改并由每一方的授权代表签字。

11. 商标和标识

贵机构承认并与中标软件有着以下共识,即中标软件拥有中标软件、中标麒麟商标,以

及所有与中标软件、中标麒麟相关的商标、服务标记、标识及其它品牌标识(“中标软件标

记”)。贵机构对中标软件标记的任何使用都应有利于中标软件。

Page 16: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

xiv

12. 源代码

本软件可能包含源代码,其提供之唯一目的是在符合本协议条款之规定时供参考之用。

源代码不可再分发,除非在本协议中有明确规定。

13. 因侵权而终止

如果本软件成为或在任一方看来可能成为任何知识产权侵权索赔之标的,则任一方可立

即终止本协议。

Page 17: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件产品介绍

xv

中标麒麟高可用集群产品介绍

欢迎您使用中标麒麟高可用集群系统!

随着信息化浪潮的风起云涌,许多用户正在寻求一种既能支持关键应用运行需要,同时

可以降低 IT 基础总体拥有成本的解决之道。Linux 操作系统作为开源软件的重要组成部分,

为用户提供了稳定、高效、安全的开放系统平台,使其成为面向网络与数据中心应用的首选

平台。

中标麒麟高可用集群是基于中标麒麟 Linux 服务器操作系统软件开发的智能高可用软

件产品,通过应用中标麒麟高可用集群软件产品可以提升软硬件系统及应用运行的稳定性和

可靠性,该产品经过多年的用户应用及市场验证,提供的抗错能力足以支持关键业务系统应

用可靠性苛刻要求为政府、金融、电力、医疗、运输、制造业、等行业用户提供高效、至微

的可靠服务。

中标麒麟高可用集群软件依托“系统可靠”—“数据可靠”—“应用可靠”三层优势,

实现对业务系统的高可用保护。

智能、多层次保护

系统可靠:保护用户的操作系统及硬件设备,对故障操作系统及硬件设备进行智能、

快速、便捷的恢复。

数据可靠:为用户共享数据提供一致性保护,当系统出现脑裂等极端故障的情况下,

保证数据不被破坏。

应用可靠:为用户业务系统稳定、高效、持续的运行提供缜密可靠保护。

产品优势

可视化的安装配置

全图形化安装配置,方便用户完成高可用软件的部署。

Page 18: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

xvi

易用的管理界面

友好、直观、简易操作的图形管理界面,能够简单快速的完成通用资源保护配置。

智能的切换技术

完善的保护机制及丰富的应用程序代理,能够使服务器的任意硬件或资源在出现故障时

能及时自动完成切换操作。

高效的可用性

任何一个节点出现故障,都可以在极短的时间内进行自动切换,当故障排除后,服务自

动回迁,提供 7 X 24 小时永不停机的企业级应用可靠保障。

丰富的集群保护方式

Page 19: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件产品介绍

xvii

支持双机热备、双机互备、多机备份等多种运行保护方式,用以满足各种应用保护需求。

安全的数据可靠性

监控共享数据资源,利用共享磁盘的锁机制,保证在极端情况下数据的一致性。

Page 20: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

xviii

丰富的资源保护

不仅可以对诸多国际知名应用软件进行高可用保护,还可以深入监控国产数据库、中间

件软件,同时对各种硬件资源进行深入的故障检测。

极低的系统资源占用

最低限度的系统资源占用,使得宝贵的软硬件资源可以充分投入到不断扩展的业务服务

中。

多种硬件平台支持

多种硬件平台的支持能够最大限度的满足用户对不同平台应用的需求,并且支持多种文

件系统及主流存储设备,使其可以灵活的部署高可用系统。

多种错误预警机制

在资源出现故障切换时,系统会通过本机的蜂鸣预警并通过发送邮件的方式提醒管理

员,使管理员能够快速定位故障主机。

保护资源

分类 保护资源

常用应用服务保护 系统网络服务

NFS-SMB

HTTP

Sendmail

DHCP

IP

Iptables

IPVSADM

Ldap

DNS

FTP

Squid

商业软件 NeoShine Mail Server

中间件应用保护

国际商业软件 Weblogic

Webspere

国内商业软件 Tongweb

Kingdee

开源软件 Tomcat

Page 21: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件产品介绍

xix

数据库应用保护

国际商业软件

Oracle

Sybase

Informix

DB2

SAP-DB

国内商业软件

DM

Kingbase

OScard

开源软件 Mysql

Postgresql

系统级服务 系统服务

Filesystem

Linux-scsi

ISCSI

RAID

Software-Raid

RAW

LVM

Sfex

注:中标麒麟高可用集群具有良好的 2 次开发接口,可以针对特殊服务,进行定制开发。

支持环境

服务器:X86、X86-64(AMD64)和mips

操作系统:中标麒麟服务器操作系统、RHEL5及以上版本

通信协议(Protocol):TCP/IP, RS-232

存储设备:IBM、EMC、HP和HDS等主流高中低端存储设备

文档约定标识

屏幕上的输入输出内容

用灰色框显示的文本表明它是 shell 提示中的文本,如错误消息或命令及其答复等。例

如,ls 命令显示目录的内容,命令返回的输出结果用这种方式来显示:

Desktop about.html logs paulwesterberg.png

Mail backupfiles mail reports

界面上的文本 或 屏幕、窗口中的按钮

Page 22: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

xx

在 GUI 界面屏幕或窗口中的标题、词汇、或短语、菜单选项等会用这种方式(加

粗的楷体字)表示。它用来标明某个 GUI 屏幕或 GUI 屏幕上的某个元素(譬如与复选

框或字段相关的文本)。例如:请点击 确定 按钮,… …

窍门:既一些有用的信息、小技巧等;

重要:提示请您需要格外重视的内容;

注记:提醒您关注的事项、注释;

警告:警示信息,告诫您采取或防止哪些操作;

小心:情况可能稍有复杂,请您谨慎操作。

技术支持

请您按照中标麒麟高可用集群产品包装中的用户卡要求,认真填写客户信息,并及时返

回给上海中标软件有限公司。这样,您将获得为期 90天的免费电话技术支持。

如果您有其它额外的技术支持需求,请致电上海中标软件有限公司,我们承诺为您提供

优质的服务。

公司网址:www.cs2c.com.cn

支持热线:400 706 1825

公司电话:上海(021)51098866 北京(010)51659955

公司传真:上海(021)51062866 北京(010)62800607

Page 23: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

第一章 概述

1

1 概述

1.1 产品特点

NeoKylinHA 包含几个重要的特性能帮助更好的保护和有效的管理着网络数据资源。

这包括:

持以光纤及 iSCSI 方式为存储的网络。

多节点活跃的集群,由 16 个 以上的 Linux 服务器构成。任何在这个集群中的服务器都可以重新

提供群中失效服务器的资源(应用软件、服务,IP 住址和文件系统)。

通过图形工具或命令行工具管理集群中的节点,通过双向的工具让您配置和监视高可用集群。

以具体的应用程序和硬件基础设施的性能去适应您集群的组织结构。

根据在您需要的基础上进行服务器储存库的动态分配和指定。

依照时间的配置使资源自动恢复到时间列表中的修复节点。

支持共享磁盘体系。虽然支持共享磁盘体系,但这并不是必不可少的。

支持集群文件系统。例如:OCFS2 等。

支持群集识别逻辑卷管理。例如:EVMS 等。

1.2 产品优势

NeoKylinHA 让您可以设定多达 16 个以上的 Linux 服务器的高可用性集群,其运行资源可以被动

态地切换或移动到任何在群集中的服务器。如果在集群中发生一个资源服务器故障,资源可自动切换

迁移或手动迁移。

NeoKylinHA 从产品的组成上提供了高可用性。通过更低的代价获得集群上应用系统和操作的完

全统一。NeoKylinHA 也可以实现让您集中管理完整的集群和调整资源,以应付不断转变的工作量的

要求(从而,手动“负载均衡”集群)。

其重要的好处是减少潜在的无计划的服务中断,以及有计划的停止服务以便于更好的维修和升级

服务器的软硬件。实施 NeoKylinHA 高可用集群软件的优势有:

强大的高可用性;

Page 24: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

2

良好的性能;

运转实施的低成本;

可延展性;

系统数据大范围损坏的恢复;

数据保护;

服务器的联合统一。

共享磁盘的容错功能可以通过共享磁盘子系统上的 RAID 得到实施。

以下示例可以说明 NeoKylinHA 提供的一些好处。

假设你已经配置了有 3 台服务器的集群,在集群中每个服务器上都安装了 Web 服务。在集群中

的每个服务器上拥有两个网站服务,它包括所有数据,图形和网页内容,让每个网站都连接到存储到

集群中每个服务器上的共享磁盘子系统。下图 1-1 将描绘出这个构造组成:

图 1-1 集群配置示例

在正常的集群运转中,每个集群中的服务器是在不断的彼此沟通,并定期执行检测所有已知资源,

以便于发现故障者。

假设 Web 服务器 1 发生硬件或软件的问题致使通过 Web 服务器 1 的用户与 Internet,电子邮件和

网上信息失去了联系。下图 1-2 将显示说明当 Web 服务器 1 失效时,系统资源将如何迁移:

Page 25: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

第一章 概述

3

图 1-2 集群服务器失效时资源迁移示例

网站 A 迁移到 Web 服务器 2 上、网站 B 迁移到 Web 服务器 3 上,相应的 IP 地址和证书也迁移

到 Web 服务器 2 和 Web 服务器 3 上。

当您配置集群时,你需要确定哪个 Web 服务器上的网站将发生故障。在前面的示例中您配置的

网站 A 迁移到 Web 服务器 2 和网站 B 迁移到 Web 服务器 3 。这样,通过 Web 服务器 1 的处理的工

作将平均分配给集群中的其它成员并在其上继续运行。

1.3 集群配置

NeoKylinHA 集群中可能包括也可能不会包括一个共享的磁盘子系统。共享磁盘子系统可以通过

光纤传导或使用 iSCSI 来进行连接。如果集群中的一台服务器失效,另一个集群中被指定的服务器将

自动挂载失效服务器原在共享磁盘所含的目录内容。这样就使网络用户可以的不间断地进入共享磁盘

子系统的该目录内容。典型的 NeoKylinHA 资源可能包括数据,应用程序和服务。下图 1-3 将显示一

个典型的光纤集群的组成:

Page 26: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

4

图 1-3 典型的光纤集群组成示例

除此之外我们还可以用 iSCSI(即 internet Small computer systems interface,是 IETF 制订的一项

标准,用于将 SCSI 数据块映射成以太网数据包)来实现集群,虽然性能不如光纤,但成本更低。下

图 1-4 将显示这种构造:

Page 27: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

第一章 概述

5

图 1-4 iSCSI 构造集群示例

虽然大多数的集群,包括一个共享的磁盘子系统,但也可以创造一个没有共享的磁盘子系统的

NeoKylinHA 集群。下图 1-5 展示一个没有共享的磁盘子系统的 NeoKylinHA 集群:

图 1-5 没有共享的磁盘子系统的集群示例

Page 28: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

6

1.4 高可用集群组成

下面是搭建 NeoKylinHA 集群环境的条件:

⑴ 一个集群中需包含 2-- 16 台服务器;

⑵ 集群中的服务器均需安装 NeoKylinHA 集群软件;

⑶ (可选)共享磁盘;

⑷ (可选)光纤存储;

⑸ 连接到集群中的服务器需要保证至少两种以上的方式可以使 NeoKylinHA 的服务器连通,这

包括:以太网,串行连接等。

1.5 体系结构

本节提供 NeoKylinHA 体系结构简介,将介绍 NeoKylinHA 组件的基本信息和描述这些组件是如

何互通的。

1.5.1 架构层次

NeoKylinHA 有一个分层架构。图 1-6 说明不同层次及其相关的组件。

Page 29: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

第一章 概述

7

图 1-6 NeoKylinHA 架构

通讯/基础设施层

图中底下第一层是通讯/基础设施层,也称为作为心跳层。这一层包含的组件发送心跳信息及其

它资料,来向集群发布自己的工作状态。心跳检测就处于该层。

成员层

图中底下第二层是成员层。成员层负责计算最大的充分连通集群节点和同步观察其所有成员。在

基于从心跳层获得的资料来执行这一任务。逻辑上照顾集群服务,并为集群更高层提供一个有组织的

集群拓扑结构(节点方式)。

资源分配层

第三层是资源分配层。这层是整个集群构成中最复杂的,它由下列组件构成:

集群资源管理(CRM)

Page 30: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

8

资源分配层的每一个动作都要通过集群资源管理。如果资源分配层其它组成部分或更高层的组件

资源需要沟通,它们必须通过集群资源管理来进行。

对每个节点,集群资源管理是保持集群信息的基础,即 CRM。一个集群资源管理在集群中被选

为主控节点(DC),也就是说它具有 CRM。群集中的其它 CRM 是主 CRM 的副本。 所有对 CRM 的

修改必须对主 CRM 文件进行修改。DC 是集群中唯一具有决定权的实体,譬如隔离某个节点,转移

资源等。

集群信息基准

集群信息基准(CIB)是一个 XML 数据文件,用于存储集权配置、状态、节点、资源、限制条件等。

集群中只有一个主 CIB 文件,是通过 DC 来维护的。所有节点的 CIB 文件都是主 CIB 文件的副本。

如果管理员需要修改集权配置,就必须利用 DC 来对主 CIB 文件进行修改,可以利用命令行方式或者

图形界面工具。

策略引擎( PE )和转换引擎(TE)

当主控节点(DC)需要对集群做出更改时(作用于新的 CIB),策略引擎来计算下一状态中群集

和列表(资源)需要采取的行动,以便于通过这一目的来命令计算机做出变化,然后执行转换引擎。

DC 发送消息给有关联的 CRM,然后 CRM 调用本地资源管理(LRM)完成对资源的修改。PE 与 TE

双方达到最合理的运行在 DC 节点上。

本地的资源管理(LRM)

本地资源管理调用本地资源代理为 CRM。它可以在 CRM 上执行启动/停止/监察运转和报告结果。

LRM 包含这本地节点的状态信息。

资源层

第四层是资源层也是最高的层。资源层包括一个或更多的资源代理(RA)的。资源代理是一种

程序,通常是一个 shell 脚本, 可以通过脚本来启动,停止和监测某种服务(资源)。

1.5.2 工艺流程

在集群中的许多行为的执行将导致集群性质的变化。这些行动可以包括添加、删除集群资源或修

改资源。在集群众当您执行这些行操作是,重要的是要了解发生什么。

举例来说,假设您要添加群集 IP 地址资源。为此,您使用 cibadmin 命令行工具或图形工具来更

改集群主 CIB 文件。但不须使用 cibadmin 命令或使用图形工具对 DC 更改。您可以使用集群中任何

节点上的工具的,将主 CIB 所要求的变更传往指定 DC,然后复制到所有集群节点,并开始切换程序。

Page 31: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

第一章 概述

9

然后,其它节点的 CRM 利用自身的 LRM 更改 CIB 文件并将报告返回至 DC 以通知结果。当 DC

中的 TE 成功执行完毕,集群就会回到空闲状态等待其它事件发生。如果没有安装计划那样进行执行,

PE 将会重新启动。当一个应用死掉或着节点宕机,DC 会通过 CCM 得到节点宕机的通知,通过 LRM

得到应用死掉的通知,然后 DC 将决定如何做切换,进入到下一个集群状态。新的集群状态通过新的

CIB 文件来描述。

Page 32: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028
Page 33: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

第二章 系统环境搭建的详细说明

11

2 系统环境搭建说明

本章将介绍部署 NeoKylinHA 高可用集群有关的硬件和软件等方面的要求。

2.1 硬件要求

下面指定的硬件要求表示的是高可用服务器最低硬件配置。在此基础上可以根据自己的

要求对集群进行相应的硬件扩充。

⑴至少有两个 Linux 服务器。服务器不需要必须是相同的配置(内存,磁盘空间等)。

⑵至少有两个传输媒介(以太网等),通过它们使集群节点互相连通。传输媒介应支持

数据率在 100Mb/s 或更高。

⑶一个 STONITH(shoot the other node in the head)装置。

2.2 软件要求

确保以下软件要求得到满足:

中标麒麟服务器操作系统(NeoKylin Linux Server);

中标麒麟高可用集群软件产品(NeoKylinHA5)。

2.3 共享磁盘要求

如果您想要的数据拥有高度可用性建议为你的集群创立共享磁盘。共享的磁盘子系统是

用来确保以下内容:

⑴共享磁盘,根据制造商的说明需要事先配置。

⑵磁盘载于共享磁盘系统应配置为使用镜像或 RAID 添加容错,以便共享磁盘系统。建

议使用基于硬件的 RAID ,基于软件的 RAID 不支持所有的配置。

⑶如果您正在使用的共享磁盘系统 iSCSI,应确保事先配置正确。

Page 34: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

12

2.4 操作系统安装和配置

2.4.1 操作系统准备

中标麒麟通用服务器操作系统软件 v5.0 安装光盘 1 DVD

中标麒麟高级服务器操作系统软件 v5.0 安装光盘 1 DVD

2.4.2 操作系统分区划分

整个磁盘的划分建议创建以下分区:

分区 分区对应的设备号 文件系统类型 挂装点 分区号类型

根分区 /dev/sda1 ext3 / 主分区

交换分区 /dev/sda2 swap 主分区

扩展 /dev/sda3 extended 主分区

/opt 分区 /dev/sda5 ext3 /opt 逻辑分区

说明:

swap 分区一般为内存的 2 倍,系统可以管理的交换分区最大为 4G,如果内存超过 4G,

比如 8G,建议建立多个交换分区的方法扩展交换分区。所以在本硬件环境下创建了 2 个 4G

的交换分区供系统使用。

2.5 操作系统网络配置说明

(1) 必须保证每个网卡有一个固定的 IP 地址,该地址用于对外提供相应的服务或心跳;

(2) 除了连接公网的网卡之外,每台计算机至少另外配置一块网卡或者串口作为专用于

集群内部的通信,如果是双机配置,私网之间可以通过交叉网线来连接;

(3) 公网与私网建议使用不同的 TCP/IP 子网地址,如图 2-1 为两节点的网络配置示例。

Page 35: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

第二章 系统环境搭建的详细说明

13

以下介绍图形方式配置网络的操作流程:

要使用 网络配置工具 ,您必须具备 root 用户权限。要启动这个程序,点击面板上的 启

动 => 设置 => 控制面板 => 网络

启动后的网络配置工具界面如图 2-2 所示:

172.17.100.201

192.1.1.1

172.17.100.X

192.1.1.X

e

th0

e

th1

e

th1

e

th0

内部 LAN

公共 LAN

192.1.1

心跳

172.17.100

图 2-1 网络配置示例图

Page 36: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

14

图 2-2 网络配置工具界面

如果默认没有 eth0和 eth1网络设备,请使用 网络配置工具 来配置网络连接:

1. 添加和该物理硬件设备相关的网络设备。

2. 如果物理硬件设备不存在,把它添加到硬件列表中。

3. 配置主机名和 DNS 设置。

在 配置网络设置 窗口上,请选择静态 IP 地址。如果该设备在每次网络启动时都指定

不同的 IP地址,就不要为其指定主机名。点击 前进 来继续。

点击 创建以太网设备 上的 应用 按钮。

图 2-3 以太网设置

Page 37: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

第二章 系统环境搭建的详细说明

15

配置完成信息如图 2-4 所示。

图 2-4 以太网设置完成

配置了以太网设备后,它就会出现设备列表中。

图 2-5 主机名的设置

Page 38: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

16

添加了以太网设备后,你可以从设备列表中选择它,然后点击 编辑 来编辑它的配置。

譬如,当某设备被添加,它被默认配置成引导时启动。要改变这个设置,选择编辑该设备,

修改 当计算机启动时激活设备 ,然后保存改变,如图 2-6 所示。

图 2-6 设置网络 IP 地址和默认激活网卡

当设备被添加后,它不会被立即激活,你会看到 不活跃 状态。要激活某设备,从设备

列表中选择它,然后点击 激活 按钮。如果系统配置表明要在计算机启动时激活设备(默认),

你就不必重新执行这一步骤。

2.6 高可用集群所需的操作系统配置修改

2.6.1 配置/etc/hosts 文件

正确设置了名字-地址解析,建议在每台服务器的/etc/hosts 文件中添加每台服务器的地

址-名字对应。验证可以成功地 ping 各台服务器的名字。请结合本地网络环境配置主机对应

的 IP 地址信息,如下所示/etc/hosts 文件内容:

cat /etc/hosts

Page 39: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

第二章 系统环境搭建的详细说明

17

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1 localhost.localdomain localhost

10.1.6.245 server1 server1

10.1.6.246 server2 server2

::1 localhost6.localdomain6 localhost6

2.6.2 关闭防火墙服务

关闭防火墙服务:

[root@server1 ~]# chkconfig --level 35 iptables off

[root@server1 ~]# chkconfig --level 35 ip6tables off

通过以下命令查看是否默认不启动:

[root@server1 ~]# chkconfig --list|grep ip

2.6.3 系统服务调整

仅打开如下服务:

服务名称 状态

Acpid Enable

Autofs Enable

Cpuspeed Enable

Crond Enable

Irqbalance Enable

Kudzu Enable

lm_sensors Enable

Messagebus Enable

microcode_ctl Enable

Network Enable

Sshd Enable

Page 40: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

18

Syslog Enable

Sysstat Enable

Xfs Enable

Xinetd Enable

Rawdevices Enable

Cups enable

cups-config-daemon enable

cups-lpd enable

可以使用 ntsysv --level 3 和 ntsysv --level 5 进行调整。

Page 41: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

第四章 高可用集群配置和管理

19

3 高可用集群配置和管理

中标麒麟高可用集群软件配置指南可以帮助管理员迅速有效的创建高可用集群。本指南

提供最为常见的配置说明,但不包括所有可能存在的场景。以下内容将以基本的 NFS 文件

服务为例,按部就班的讲解如何创建一个低成本的高可用集群。

我们需要以下配置:

1、两台包含冗余硬件的机器,如双网卡等;

2、使用 drbd 作数据镜像;

3、同一时间内只允许一台机器读取数据;

4、提供一单独 IP 地址。

在开始配置之前,请按照第二章和第三章中的内容把两台机器安装配置到位。附加说明

一点,每个机器需要提供一相同的分区以备配置 drbd 之需。

配置说明分两个主要部分:配置高可用资源和创建限制条件。

所有的配置将会以 XML 文件方式存储。为方便起见,依赖关系要单独的加载到集群配

置中。

3.1 基础配置

集群管理工具被分割为两部分,配置与管理。管理部分包含资源状态以及资源属性等,

管理工具可构建实时的集群状态。状态显示部分通过集群中每个节点的本地资源管理进程

(lrmd)提供。集群有可能重新载入整个部分,所以这些不会写入磁盘并告诫管理员禁止修

改。

配置部分包含基本的集群控制选项,资源列表,资源属性以及限制条件等。此部分主要

的焦点问题被分为以下 4 部分内容:

1、基本配置选项;

2、节点;

3、资源;

4、限制条件(可以理解为资源之间的关系)。

以下为配置文件基本构架(空配置)示例:

Page 42: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

20

<cib generated="true" admin_epoch="0" epoch="0" num_updates="0"

have_quorum="false">

<configuration>

<crm_config/>

<nodes/>

<resources/>

<constraints/>

</configuration>

<status/>

</cib>

3.1.1 集群实时状态

在配置集群之前,需要解释如何用命令行查看状态。使用 crm_mon 工具可以显示正在

运行的集群状态,包括资源状态,节点状态等信息,另外可利用它检测集群中不正常的状态。

详细参数执行 crm_mon --help 即可。

3.1.2 更新配置

下面是一则警告:

警告:更行配置规则

请不要手动编辑 cib.xml 文件,否则集群会拒绝使用该配置文件。如有需要,使用

cibadmin进行配置。

利用 cibadmin 命令可对正在运行中的集群进行配置。cibadmin 提供执行效率高的查询,

添加,删除,升级以及替换功能。简单的使用 cibadmin 分以下三步走:

1、保存当前配置文件

[root@server1 ~]# cibadmin --cib_query > /tmp/tmp.xml

Page 43: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

第四章 高可用集群配置和管理

21

2、编辑保存的 xml 文件

利用 xml 工具或其它文本编辑工具进行编辑(可以利用 xml 编辑工具的 DTD 功能进行

语法标识,dtd 文件存放于/opt/NeoKylinHA/lib/heartbeat/crm.dtd)

3、更新配置

[root@server1 ~]# cibadmin --cib_replace --xml-file /tmp/tmp.xml

如果只需要编辑资源配置部分,可利用下面方式:

[root@server1 ~]# cibadmin --cib_query --obj_type resources >

/tmp/tmp.xml

[root@server1 ~]# vi /tmp/tmp.xml

[root@server1 ~]# cibadmin --cib_replace --obj_type resources

--xml-file /tmp/tmp.xml

3.1.3 迅速删除某段配置

有些时候需要快速删除一部分配置,可以进行如下 3 步:

1、标识出那些兑现是要删除的:

[root@server1 ~]# cibadmin -Q | grep stonith

<nvpair id="cib-bootstrap-options-stonith-action" name="stonith-action"

value="reboot"/>

<nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled"

value="1"/>

<primitive id="child_DoFencing" class="stonith" type="external/vmware">

<lrm_resource id="child_DoFencing:0" type="external/vmware" class="stonith">

<lrm_resource id="child_DoFencing:0" type="external/vmware" class="stonith">

<lrm_resource id="child_DoFencing:1" type="external/vmware" class="stonith">

<lrm_resource id="child_DoFencing:0" type="external/vmware" class="stonith">

<lrm_resource id="child_DoFencing:2" type="external/vmware" class="stonith">

<lrm_resource id="child_DoFencing:0" type="external/vmware" class="stonith">

<lrm_resource id="child_DoFencing:3" type="external/vmware" class="stonith">

2、标识出资源标记和 id

Page 44: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

22

本例子中为 primitive 和 child_DoFencing

3、执行 cibadmin

[root@server1 ~]# cibadmin --cib_delete --crm_xml ‘<primitive

id=”child_DoFencing”/>’

3.1.4 不利用 XML 更行配置

利用其它高级工具同样可以更行配置文件,从而避免编辑复杂的 XML 文件。例如:

启动 STONITH:

[root@server1 ~]# crm_attribute --attr-name stonith-enabled

--attr-value true

查看某节点是否处于备机状态:

[root@server1 ~]# crm_standby --get-value --node-uname somenode

查询某资源的位置限制条件:

[root@server1 ~]# crm_resource --locate --resource my-test-rsc

3.1.5 测试配置

在更改完配置以后,验证其正确性是很有必要的。下面将讲解如何验证:

1、保存当前配置:

[root@server1 ~]# cibadmin --cib_query > /tmp/tmp.xml

Page 45: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

第四章 高可用集群配置和管理

23

2、利用 XML 编辑器编辑该文件。

3、利用 ptest 工具进行验证:

[root@server1 ~]# ptest -VVVVV --xml-file /tmp/tmp.xml

--save-graph tmp.graph --save-dotfile tmp.dot

该工具使用与集群相同底层库文件来模拟利用此配置文件所发生的情况。tmp.graph 与

tmp.dot 是所输入的两个重要文件。两个文件用来描述根据配置文件集群所做出的响应。graph

文件是存储转换完成情况,包含一系列的动作,参数以及先决条件。虽然 graph 文件不易读

懂,但可以利用 dot 文件来理解相同的意思。

3.2 命令行配置管理资源

中标麒麟高可用集群软件提供 3 中不同的资源代理脚本。一是早期的中标麒麟高可用集

群软件遗留脚本,二是 Linux 的 LSB 脚本,三是开放集群框架脚本,简称 OCF。一下内容

将以 LSB 和 OCF 脚本为主,来讲解如何配置高可用资源。

3.2.1 LSB 资源代理脚本

所有的 LSB 脚本都可在 Linux 系统的/etc/init.d 下找到。LSB 脚本必须包含 start,stop,

restart,reload,force-reload,status 执行部分。

/etc/init.d 下的服务并不一定符合标准情况,所以在利用 LSB 脚本的时候,管理员要充

分理解和掌握技术要领。利用中标麒麟高可用集群软件进行配置/etc/init.d 下的服务可能出

现错误,所以,需要手动确认需要配置的服务是否是系统自动启动的。如果是被系统在开始

时候启动的,需要手动配置为停止状态以及不随系统启动而启动,这样才能避免出现不必要

的麻烦,切记。另外,在配置 LSB 资源之前,需确认是否集群中每个节点都存在该 LSB 脚

本(中标麒麟高可用集群软件不负责此部分)。

3.2.2 OCF 资源代理脚本

所有的 OCF 资源代理脚本存放在/opt/NeoKylinHA/lib/ocf/resource.d/heartbeat 下。OCF

Page 46: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

24

脚本类似于 LSB 脚本,但是 OCF 可以输入参数。OCF 资源脚本至少包含 start,stop,status,

monitor 以及 meta-data 执行动作。其中,meta-data 动作给出如何配置该脚本,例如:

[root@server1 ~]# /opt/NeoKylinHA/lib/ocf/resource.d/heartbeat/IPaddr meta-data

上述命令输出为 XML 格式。可利用 ra-api-1.dtd 来验证 XML 的正确性。它包含 3 部分:

首先是描述部分,然后是所有的参数,最后为动作部分。

一个典型的 OCF 资源代理脚本的 meta-data 输出为:

<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">

<resource-agent name="apache"> ❶

<!-- Some elements omitted -->

<parameter name="ip" unique="1" required="1">❷

<longdesc lang="en">❸

The IPv4 address to be configured in dotted quad notation, for example

"192.168.1.1".

</longdesc>

<shortdesc lang="en">IPv4 address</shortdesc>

<content type="string" default="" />❹

</parameter>

</resource-agent>

这是 IPaddr 代理脚本的一部分。下面详细解释一下:

❶ 根元素;

❷ 配置参数为 ip,这是该资源代理脚本的强制部分;

❸ 参数描述;

❹ 参数类型以及缺省值;

在第 3 章中可找到配置资源代理实例。

3.2.3 NFS 服务配置实例

搭建 NFS 服务器,需要文件系统资源,drbd 资源和 NFS 服务 IP 地址组成的组资源。

管理原可以针对每个资源进行单独的配置,然后通过 cibadmin 进行导入,命令行如下:

Page 47: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

第四章 高可用集群配置和管理

25

[root@server1 ~]# cibadmin -C -o resources -x resource_configuration_file

3.2.4 配置文件系统资源

文件系统资源是一个 OCF 资源代理脚本,通过它可以实现挂载卸载文件系统。在本实

例中磁盘设备为/dev/drbd0,挂载点为/srv/failover,文件系统为 reiserfs。

资源配置如下:

<primitive id="filesystem_resource" class="ocf" provider="heartbeat"

type="Filesystem">

<instance_attributes id="ia-filesystem_1">

<attributes>

<nvpair id="filesystem-nv-1" name="device" value="/dev/drbd0"/>

<nvpair id="filesystem-nv-2" name="directory" value="/srv/failover"/>

<nvpair id="filesystem-nv-3" name="fstype" value="reiserfs"/>

</attributes>

</instance_attributes>

</primitive>

3.2.5 NFS 服务和 IP 地址

配置 NFS 服务两台机器需要使用相同的 IP 地址,并且他们必须同时运行在一个机器上。

在这种状况下,启动次序并不是非常重要的,他们可以同时被启动,所以可以将 NFS 服务

IP 地址放入一个组中来管理。

在开始配置之前,需要确保 NFS 能够正常提供服务,详细请参考相关 NFS 手册即可。

NFS 服务是 LSB 资源代理脚本,IP 地址为 OCF 资源代理脚本。

<group id="nfs_group">❶

<primitive id="nfs_resource" class="lsb" type="nfsserver"/>❷

<primitive id="ip_resource" class="ocf" provider="heartbeat"

Page 48: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

26

type="IPaddr">❸

<instance_attributes id="ia-ipaddr_1">

<attributes>

<nvpair id="ipaddr-nv-1" name="ip" value="10.10.0.1"/>❹

</attributes>

</instance_attributes>

</primitive>

</group>

❶ 组资源标识;

❷ nfsserver 资源基本元素;

❸ IPaddr OCF 资源代理脚本不需要任何配置,只需配置 instance_attributes;

❹ 这是 IPaddr 中唯一一处配置参数。更多的参数可以在资源代理脚本的 metadata 中找

到。

3.2.6 配置 CRM 选项

CRM 选项是整个集群的全局变量。领论上缺省的参数可用于多数的集群环境,但是如

果需要提供特殊服务必须更改些选项值,比如 STONITH 等。所有的选项可以通过 crm_config

工作以 nvpair 为标识添加到 cib.xml 中。例如,更改 cluster-delay 从 60 秒到 120 秒,用如下

配置:

<cluster_property_set>

<attributes>

<nvpair id="1" name="cluster-delay" value="120s"/>

</attributes>

</cluster_property_set>

将此内容写入一文本文件,然后利用 cibadmin -C -o crm_config -x filename 进行导入。

下面详细介绍所有 crm 参数:

cluster-delay(间隔时间,缺省 60s):该参数与 transiton_idle_timeout 一样需要众所周

知。如果在这断时间内没有任何响应,通讯即被认为出现问题。如果任何初始化操作需要明

显的高延迟的话,该值要调高。

Page 49: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

第四章 高可用集群配置和管理

27

symmetric_cluster(布尔值,缺省为 TRUE):如果为真,资源可缺省运行与任何节点

上。否则,需要明确设置限制条件,资源才能被启动。

stonith_enabled(布尔值,缺省为 TRUE):如果为真,将隔离失效的节点。

no_quorum_policy(枚举类型,缺省为 stop):有如下三个取值。

a. ignore,继续认定仲裁有效。

b. freeze,不启动任何资源,但可以迁移资源。Fencing 被禁止。

c. stop,停止所有正在运行的资源。Fencing 被禁止。

default_resource_stickiness(整型,缺省等于 0):资源粘贴值,用于描述资源是否可以

从已运行的节点迁移到其它“更好“的节点。主要分以下几种情况:

a. 0,资源运行在哪个节点上有系统来决定。

b. 大于 0 的值,资源选择继续运行在当前节点上的权重,越高的值,当前节点就具有

更高的选择权。

c. 小于 0 的值,资源选择不继续运行在当前节点上的权重,越高的绝对值表明当前节

点有更高的遗弃权。

d. INFINITY,正无穷,资源会一直运行在当前节点上,除节点宕机,节点转换为备

机或者配置改变。

e. -INFINITY,资源总是从当前节点迁移走。

is_managed_default(布尔值,缺省为 TRUE):

a. TRUE,资源可启动,关闭,监控,迁移等。

b. FALSE,资源不受集群管理,如当停止的时候不会再启动等。

stop_orphan_resources(布尔值,缺省为 TRUE),如果某个资源被发现没有被定义任

何选项,则:

a. TRUE,停止该资源。

b. FALSE,不理睬该资源。

此参数多用于当某个资源被删除而不需要先执行停止该资源的操作。

stop_orphan_actions(布尔值,缺省为 TRUE),如果发现当前执行的动作为被定义,

则:

a. TRUE,停止该动作。

b. FALSE,不理睬改动作。

Page 50: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

28

3.2.7 限制条件的配置

当配置完资源以后,需要配置限制条件,这样集群才会明确资源的运行规则。没有限制

条件的配置,资源会没有规则的运行在节点上,势必可能会发生意想不到的错误。

在中标麒麟高可用集群中存在 3 中不同的限制条件:

1、位置限制条件,定义资源运行的节点;

2、协同限制条件,定义哪两个资源是否运行于同一个节点;

3、顺序限制条件,定义资源的启动顺序。

3.2.7.1 位置限制条件

该限制条件可针对每个资源添加多次。所有的的位置限制条件需要对给予的资源赋值。

简单的实例,资源 filesystem_1 在节点 earth 上的分值为 100:

<rsc_location id="filesystem_1_location" rsc="filesystem_1">❶

<rule id="pref_filesystem_1" score="100">❷

<expression attribute="#uname" operation="eq" value="earth"/>❸

</rule>

</rsc_location>

❶ 位置限制条件的基本标识;

❷ 设置分值为 100,分值计算请参见“分值计算规则”;

❸ 设置表达式属性。

3.2.7.2 协同限制条件

协同是用于定义资源是否可以运行在同一个节点上的,它只能定义 INFINITY 或者

-INFINITY 值,来表明运行在同一个节点和不能运行在同一个节点。实例如下,资源

filesyste_resource 和 nfs_group 总是运行在同一个节点上:

<rsc_colocation

id="nfs_on_filesystem"

to="filesystem_resource"

Page 51: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

第四章 高可用集群配置和管理

29

from="nfs_group"

score="INFINITY"/>

针对主从模式的资源配置需要事先明确当前节点是否为主模式方式运行,可通过附加的

to_role 或者 from_role 属性来判定。

3.2.7.3 顺序限制条件

有些时候有些资源需要其它资源启动以后才能启动,这样就需要利用顺序限制条件来解

决此问题。顺序限制条件可以不同的次序启动或者关闭不同的资源,可以是启动或者关闭或

者提升为主模式等。例如:

<rsc_order id="nfs_after_filesystem" from="group_nfs" action="start"

to="filesystem_resource" to_action="start" type="after"/>

利用 type="after",可以指定 from 的资源在 to 的资源之后启动。

3.2.7.4 限制条件配置实例

本章的 drbd 实例如果没有添加限制条件是无法启用的。它必须指定所有的资源必须运

行在 drbd 主模式所在的节点上。或这说,在其它资源启动之前,该节点上的 drbd 服务必须

启动为主模式才可。因为只有 drbd 主模式上的机器上才能挂载磁盘。下面是详细限制条件

设置:

文件系统资源必须与主模式的 drbd 资源运行于同一个节点。

<rsc_colocation id="filesystem_on_master" to="drbd_resource"

to_role="master" from="filesystem_resource" score="INFINITY"/>

文件系统必须在 drbd 资源被提升为主模式以后才能被挂载。

<rsc_order id="drbd_first" from="filesystem_resource" action="

Page 52: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

30

to="drbd_resource" to_action="promote" type="after"/>

NFS 服务于 IP 地址必须在文件系统资源启动以后启动。

<rsc_order id="nfs_second" from="nfs_group" action="start"

to="filesystem_resource" to_action="start" type="after"/>

NFS 服务和 IP 地址要在同一个机器上运行。

<rsc_colocation id="nfs_on_drbd" to="filesystem_resource"

from="nfs_group" score="INFINITY"/>

可附加一条,用于防止 NFS 服务运行于从模式的 drbd 节点。

<rsc_colocation id="nfs_on_slave" to="drbd_resource"

to_role="slave" from="nfs_group" score="-INFINITY"/>

3.3 图形配置管理资源

高可用集群图形配置工具介绍

主界面如下图 3-1 所示:

Page 53: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

第四章 高可用集群配置和管理

31

图 3-1 高可用服务器图形配置工具

主界面中相关各按钮功能说明如下:

登录到集群;

从集群中断开;

添加资源,包括资源组、普通资源;

删除已有资源,包括资源组、普通资源;

组内外移动,将普通资源从资源组中移出、移入或资源组间移动;

启动资源;

停止资源;

刷新资源;

在资源组内向上移动资源,即提高该组内资源的启动优先级;

在资源组内向下移动资源,即降低该组内资源的启动优先级;

资源定位,设定资源所在节点,设定资源是否回迁,临时停止资源监控;

让节点备用,备用后的节点会主动释放自身已经启动资源;

让备用节点启用;

查看日志。

Page 54: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

32

主界面节点及资源监控中各项说明:

节点项

运行的节点备份心跳故障时的图标显示;

运行的节点心跳正常时的图标显示;

运行的主控节点备份心跳故障时的图标显示;

运行的主控节点心跳正常时的图标显示;

节点备用时的图标显示;

主控节点备用时的图标显示;

节点失效或未启动时的图标显示;

备用节点失效或未启动时的图标显示。

资源项

资源正常运行时图标显示;

资源未运行时图标显示。

主界面菜单栏中各项说明如下:

连接项

资源项

Page 55: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

第四章 高可用集群配置和管理

33

配置项

帮助项

3.4 磁盘镜像配置

3.4.1 drbd 介绍

drbd 是一种块设备,可以被用于高可用(HA)之中。它类似于一个网络 RAID-1 功能。

当你将数据写入本地文件系统时,数据还将会被发送到网络中另一台主机上。以相同的形式

记录在一个文件系统中。本地(主节点)与远程主机(备节点)的数据可以保证实时同步。当

Page 56: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

34

本地系统出现故障时,远程主机上还会保留有一份相同的数据,可以继续使用。

在高可用(HA)中使用 drbd 功能,可以代替使用一个共享盘阵。因为数据同时存在于本

地主机和远程主机上,切换时,远程主机只要使用它上面的那份备份数据,就可以继续进行

服务了。

drbd 的工作原理如下图 3-2:

图 3-2 DRBD 的工作原理图

在开始之前,需要把 drbd 设备配置正确。drbd 的配置文件为/etc/drdb.conf,管理员需测

试通过,并保证 drbd 为实时同步状态。drbd 配置可以详细查询有关的 drbd 手册即可。

drbd 资源为 OCF 资源代理脚本,但分为主从模式。管理员可以在 drbd 代理脚本中查询

到相关的信息描述。其中,promote 和 demote 是该资源脚本的重要动作执行部分,该类型动

作是主从类型资源脚本所特有的。

主从类型的资源可以多个节点上运行主模式,也可以在同一个节点上运行主模式和从模

式。因此配置该类型的资源需要明确主模式的节点和从模式的节点。主从类型的资源是一种

特别的克隆类型的资源。每个主模式节点和每个从模式节点被认作为克隆。

Page 57: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

第四章 高可用集群配置和管理

35

3.4.2 drbd 手动配置

<master_slave id="drbd_resource" ordered="false">❶

<meta_attributes>

<attributes>

<nvpair id="drbd-nv-1" name="clone_max" value="2"/> ❷

<nvpair id="drbd-nv-2" name="clone_node_max" value="1"/>❸

<nvpair id="drbd-nv-3" name="master_max" value="1"/>❹

<nvpair id="drbd-nv-4" name="master_node_max" value="1"/>❺

<nvpair id="drbd-nv-5" name="notify" value="yes"/>❻

</attributes>

</meta_attributes>

<primitive id="drbd_r0" class="ocf" provider="heartbeat" type="drbd">❼

<instance_attributes id="ia-drbd_1">

<attributes>

50 Heartbeat

<nvpair id="drbd-nv-5" name="drbd_resource" value="r0"/>❽

</attributes>

</instance_attributes>

</primitive>

</master_slave>

❶ 标识是主从类型的资源,标明资源 ID 以及相关参数;

❷ clone_max 定义集群中有多少个主和从节点;

❸ clone_node_max 定义单个节点上能运行的资源最多个数;

❹ master_max 定义该集群中可以运行多少个主模式的资源;

❺ master_node_max 与 clone_node_max 类似,定义每个节点可运行多少个主模式节点;

❻ notify 用于标识该资源的运行和停止,用于重新配置节点为主模式;

❼ 标明该资源的基本元素;

❽ drbd 资源的配置参数。

3.4.3 drbd 图形配置

在菜单选项中选择 配置 => 磁盘镜像配置 ,分别选择服务器节点,选择同步使用的

IP 地址,输入本地磁盘镜像分区的设备名称。

Page 58: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

36

图 3-3 磁盘镜像配置

点击 确定 后,系统会提示确认信息。

图 3-4 磁盘镜像配置——确认信息

点击 是 ,提示如下图 3-5:

图 3-5 磁盘镜像配置——消息提示

在集群内节点都完成磁盘镜像初始化后,磁盘镜像即可使用。

Page 59: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

第四章 高可用集群配置和管理

37

3.5 共享磁盘锁配置

3.5.1 共享磁盘锁功能详细说明

共享磁盘锁功能以 HA 资源的方式实现对共享磁盘的保护,在共享磁盘上划定一块

特殊的分区并使其在不同状态下分别具有 status、node、count 三种状态,HA 会依据这

三种状态的返回值结合保护脚本实现共享磁盘的唯一属主分配,以防止共享磁盘在极端

情况下被多个节点挂载导致数据遭到破坏。以下是资源脚本的参数:

Device 含有独占信息的块设备名;

Index 含有独占信息的块设备个数;

collision_timeout 发生冲突时等待的时间;

lock_timeout 磁盘锁有效时限;

Fsck 取得磁盘锁控制权后对磁盘进行正确性检查;

fsck_mode 磁盘检查的模式设定;

Halt 当磁盘出现同时被多次挂装的状态时,执行终结命令以使风险降到最低。

3.5.2 共享磁盘锁图形配置

在菜单选项中选择 配置 => 共享磁盘锁配置 。首先需在共享磁盘上划分出一个 100M

左右的分区,再到 共享磁盘锁配置 的配置界面将该分区名称填入,并设定锁的个数。通常

情况下,锁的最小个数为节点数加 1,一般情况使用系统提供的默认值即可。

图 3-6 共享磁盘锁配置

3.6 网络监控配置

pingd 是中标麒麟高可用集群软件提供的一种基于插件(plug-in)模式针对网卡设备。

Page 60: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

38

3.6.1 配置网卡应用资源保护

3.6.1.1 功能详细说明

网卡应用资源保护主要实现当集群中某个节点,其提供服务的网卡设备出现故障时,中

标麒麟高可用集群软件可以及时的发现,并做出最为安全快捷的保护,将此节点上资源按照

预设定规则平稳切换到正常节点上继续提供服务。网卡应用资源保护可以对如下设备与故障

进行保护:

Linux 系统支持的全部 10/100/1000M 以太网卡设备;

网线脱落,导致服务提供中断;

网卡在使用中物理损坏;

交换机或 hub 故障导致网卡失效;

误设的防火墙规则或网络环境参数,导致网卡失效;

应用软件导致网卡失效;

受到网络攻击导致网卡失效;

IP/MAC 地址冲突导致网卡失效。

3.6.1.2 环境配置

在集群节点中或集群节点外提供一台机器作为 ping 节点。建议此 ping 节点在集群节点

外最好为网关或负载较少的设备。

3.6.1.3 保护配置

主要分为两部分:

在中标麒麟高可用集群软件集群主配置文件 ha.cf 中添加配置项,过程如下:

1) vi /opt/NeoKylinHA/etc/ha.d/ha.cf

2) 添加: ping ip 地址(此处的 IP 地址应选择第 2 部分“环境配置”中所描述的设备)

3) 添加: respawn root /opt/NeoKylinHA/lib/heartbeat/pingd –m 100 -d 5s

4) 存盘退出。

用中标麒麟高可用集群软件集群系统管理客户端配置工具中添加如下配置:

在菜单选项中点击 配置 => 网络监控配置 ,选择 修改配置 ,设定 ping 节点的 IP 地

址,此 IP 地址通常设置为较为稳定的网关或者负载较轻的可靠设备 IP 地址。系统能够自动

探测到光纤卡的型号。通过启动和停止选项对网卡和光纤卡进行监控。

Page 61: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

第四章 高可用集群配置和管理

39

图 3-7 网络监控配置

3.6.2 配置 HBA 卡应用资源保护

3.6.2.1 功能详细说明

HBA 卡应用资源保护主要实现当集群中某个节点,其连接共享存储设备的 HBA 卡出现

故障时,中标麒麟高可用集群软件可以及时发现,并做出最为安全快捷的保护,将此节点上

的资源按照预设定的规则平稳切换到正常节点上继续提供服务。HBA 卡应用资源保护可以

对如下设备与故障进行保护:

Qlogic 系列 HBA 卡;

Emulex 系列 HBA 卡;

HBA 卡在使用中物理损坏;

HBA 卡线脱落;

光纤交换机故障,导致 HBA 卡失效;

HBA 卡驱动不稳定,导致 HBA 卡失效;

使用 HBA 卡自带配置工具,配置 HBA 卡参数不当导致其失效。

3.6.2.2 环境配置

适用于 SAN 架构的保护,适用于共享存储的架构。

Page 62: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

40

3.6.2.3 保护配置

保护配置主要分为以下几个部分:

利用增值包提供的工具检测 HBA 卡信息:

1) 执行 /opt/NeoKylinHA/sbin/hbaapitest

2) 取得类似如下的信息:

HBA API Library version is 2

Number of HBA's is 1

********************************************

Adapter number 0 is named: Emulex-LP982-1

Adapter Attributes

Manufacturer:Emulex Corporation:

SerialNumber:MM40438049:

Model:LP982:

ModelDesc:Emulex LP982 2Gb PCI-X Fibre Channel Adapter:

NodeWWN:0x20000000C93B7595

NodeSymName::

HardwareVersion:2003806d:

DriverVersion:8.0.16.40; HBAAPI(I) v1.3, 3-29-02:

OptionROMVersion::

FirmwareVersion:1.92A1 (L2F1.92A1):

VendorSpecificID:-258469665:

NumberOfPorts:1:

DriverName:lpfc:

PortIndex:0

Adapter Port Attributes

Page 63: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

第四章 高可用集群配置和管理

41

NodeWWN:0x20000000C93B7595

PortWWN:0x10000000C93B7595

PortFcId:0x000002

PortType:20

PortState:2

PortSupportedClassofService:12

PortSupportedFc4Types: 00 00 01 20 00 00 00 01 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

PortActiveFc4Types: 00 00 01 00 00 00 00 01 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

PortSymbolicName::

OSDeviceName:/proc/scsi/lpfc/3:

PortSupportedSpeed:3

PortSpeed:2

PortMaxFrameSize:2048

FabricName:0x0000000000000000

NumberofDiscoveredPorts:1

Adapter Port Statistics:

SecondsSinceLastReset: 4969

TxFrames: 4117

TxWords: 43264

RxFrames: 205

RxWords: 12288

LIPCount: 1

NOSCount: -1

ErrorFrames: 0

DumpedFrames: -1

Page 64: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

42

LinkFailureCount: 1

LossOfSyncCount: 6

LossOfSignalCount: 1

PrimitiveSeqProtocolErrCount: 0

InvalidTxWordCount: 32

InvalidCRCCount: 0

Discovered Port Attributes (index=0)

NodeWWN:0x20000000C93B7559

PortWWN:0x10000000C93B7559

PortFcId:0x000001

PortType:20

PortState:2

PortSupportedClassofService:12

PortSupportedFc4Types: 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

PortActiveFc4Types: 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

PortSymbolicName::

OSDeviceName::

PortSupportedSpeed:0

PortSpeed:2

PortMaxFrameSize:2048

FabricName:0x0000000000000000

NumberofDiscoveredPorts:0

Target Mappings: 0

HBA_GetFcpPersistantBinding is not supported

在中标麒麟高可用集群软件集群主配置文件 ha.cf 中添加如下配置项,过程如下:

Page 65: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

第四章 高可用集群配置和管理

43

1) vi /opt/NeoKylinHA/etc/ha.d/ha.cf

2) 添加: hbping fc-card-name (此处 fc-card-name 应参考执行 hbaapitest 命令时输

出的 Adapter number 0 is named: 结果设定。

3) 添加: respawn root /opt/NeoKylinHA/lib/heartbeat/pingd –m 100 -d 5s

4) 存盘退出。

用中标麒麟高可用集群软件集群系统管理客户端配置工具中配置,参考配置网卡应

用资源保护的图形配置过程,详细见 4.6.1.3 小节。

3.7 配置 STONITH

STONITH(shoot the other node in the head)是 NeoKylinHA 保护共享磁盘的服务。

NeoKylinHA 是具有控制若干网络电源开关的能力,并能防止潜在的故障节点并让

STONITH 使出现问题的节点从集群环境中脱离。 如果一个节点 失败,带有服务配置正确

的 stonith 的 NeoKylinHA 需作以下工作:

⑴察觉到这个节点没有发送运行连通信息包给集群。

⑵向其它的节点预先发出了停止通知。这些通知包括的信息是将关闭失效节点。

⑶命令 STONITH 服务关闭失效节点。

⑷当成功地关闭失效节点后,发送停止通知给其它节点。这些通知包括的信息是已关闭

失效节点。

3.7.1 配置 STONITH 作为一个集群资源

⑴通过 HA 图形管理程序启动 HA 管理程序并连接集群。

⑵启用 STONITH。

⑶从菜单中选择“资源”然后添加新的项目。

⑷选择基础项目类型。

⑸为 STONITH 资源指定资源 ID(名字)。

⑹设定 STONITH 控制相应节点开关。

⑺进入属性界面,进行 STONITH 的参数值的设置。

⑻选择“克隆”复选框。这使得资源能够在多个集群节点上同时运行。

⑼在 clone_node_max 字段中,根据输入“数值”的情况可使 STONITH 运行在某一特

Page 66: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

44

定节点。这个值一般应设置为 1。

⑽在 clone_max 字段中,输入运行 STONITH 服务的集群中节点的数量。须注意的该数

目要与你的 STONITH 设备支持连接数一致。

⑾点击“添加”,将 STONITH 资源添加到集群。

⑿启动 STONITH 资源

3.8 资源配置示例

在前面第三章高可用软件的部署中详细描述了集群软件的安装与预配置,本节通过配置

一个 IP 地址资源作为实例,说明命令行配置和图形配置的方法。

3.8.1 命令行配置 IP 资源

资源是计算机中所提供的所有类型的服务。高可用中的资源脚本可以分为 LSB(Linux

Standard Base,即 Linux 标准)脚本和 OCF(Open Cluster Framework,即开放集群结构)脚

本。所有的资源配置都在 CIB(Cluster Information Base)文件中,详细地高可用资源可以查

看 OCF 应用。

添加一个资源当前配置,首先写一个 XML 文件。例如,添加 IP 地址 10.10.10.1 到集群

中,配置实例如下:

<primitive id="ip_1"❶

class="ocf" ❷

type="IPaddr" ❷

provider="heartbeat" ❷ >

<instance_attributes>

<attributes>❸

<nvpair name="ip" value="10.10.0.1"❹/>

</attributes>

</instance_attributes>

</primitive>

❶ 在 XML 中“primitive”标签的 id 属性值是能够自由选择定义的,在一个系统中此

名称是唯一的。例如,ip_1,放在“Primitive”中。

Page 67: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

第四章 高可用集群配置和管理

45

❷ 此部分给这个“primitive”进行了 class、type、provider 三个属性定义,并给出了精

确的脚本,例如,脚本 IPaddr,在/opt/lib/ocf/resource.d/heartbeat/IPaddr。

❸ nvpair所列的所有项目为参数所需传入 OCF 脚本中内容。

❹ 这个例子是资源应用中为 IPaddr资源脚本设定 ip地址的项目。

注意:当在配置一个高可用资源时,同样的资源不能被初始化启动,其取决于所有的服

务的启动还是停止动作。

加入这个 IPaddr 配置到集群中,首先要将配置保存到一个 XML 文件中,例如:ip_1.xml。

然后将其用命令导入。其命令为:

[root@server1 ~]# cibadmin –o resources –C –x ip_1.xml

如果配置成功,一个新的资源应用将在集群任意一个节点中能够用 crm_mon 命令启动。

3.8.2 图形配置 IP 资源

增加一个集群资源和迁移的实例协助集群测试,以确保高可用集群运行正常。IP 地址

资源的配置与迁移,以下给出图形添加 ip 资源的步骤,图形添加效果可参考 4.3.2 小节。

3.8.2.1 增加 IP 地址集群资源

1、 开始启动高可用管理客户端;

2、 点击资源,然后点击添加新资源,或者点击“ ”;

3、 选择资源项类型,点击“确定”;

4、 给 IP 地址资源保护输入资源 ID,例如:ipaddress1;

5、 在此页下面的类型部分的列表中选择 IPaddr(OCF 资源应用)作为资源类型;

6、 在页面中的参数选择项中,出现一个 ip 参数,该行在双击后能够呈现文本输入状

态;

7、 在 ip 地址资源中添加一个 ip 地址;

8、 点击“参数添加”按钮,从下拉菜单中选择“nic”并将网卡名称添加进入,点击

“ok”;

Page 68: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

46

9、 点击添加资源页面中的“添加”按钮,则一个资源将被添加进入集群之中;

10、选择主界面的左侧的资源,选中新添加的资源用右键,再选择启动资源。

3.8.2.2 迁移资源到其它节点

在集群中将一个资源利用高可用客户端或者字符命令迁移到其它节点上。

1、 命令行模式迁移,使用下列命令:

[root@server1 ~]# crm_resource -M -r resource_name -H hostname

例如,将名为 ipaddress1 的资源迁移到节点名为 node2 的节点上,你需要输入:

[root@server1 ~]# crm_resource -M -r ipaddress1 -H node2

2、 用高可用管理客户端进行迁移,在主窗口的左侧选择需要迁移的资源,右键选择“迁

移资源”。

3、 弹出一个对话框,在迁移资源对话框中点击下拉菜单,从中选择节点 node2。

3.9 Windows 客户端管理

NeoKylinHA 高可用集群软件还提供了 Windows 平台的客户端管理工具,安装程序可在

NeoKylinHA 安装光盘中获得,安装 Windows 客户端后,即可在 Windows 平台下访问集群

并进行管理。如下图 3-8 所示为客户端运行效果。

Page 69: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

第四章 高可用集群配置和管理

47

图 3-8 Windows 客户端管理工具

Page 70: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028
Page 71: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

第五章 高可用集群管理工具

49

4 高可用集群管理工具

本章主要介绍在 CIB 和集群资源管理配置中的必要工具,其它用于管理资源应用和调

试排错的工具在第八章增加资源和第七章常见问题解答中有详细说明。

以下介绍几个集群管理相关的任务,并简要的介绍如何使用工具来完成这些任务。

集群状态监控

crm_mon 命令主要用于集群状态监控和配置。该命令输出包括节点数目、uname、uuid、

状态、集群中的资源配置和目前的状态。crm_mon 的输出能够在字符终端下显示或者记录

在 HTML 文件中。当节点状态在配置文件中没有被定义,crm_mon 在文件的指定区域增加

节点和资源的描述。这个命令的用法和语法详细介绍参考 crm_mon(8)。

管理 CIB

cibadmin 命令是操作 CIB 的基础管理命令。它能够用来转存、更新、修改全部或部分

CIB 内容,删除整个 CIB 内容,或者执行各种 CIB 的管理操作。这个命令的用法和语法详

细介绍参考 cibadmin(8)。

管理配置转化

crm_diff 是帮助生成和应用 XML 补丁的命令。这是用于显示集群配置两个版本之间的

不同变化或者使用 cibadmin(8)命令保存最后一次应用配置。这个命令的用法和语法详细

介绍参考 crm_diff(8)

修改 CIB 属性

crm_attribute 命令可以对 CIB 进行查询和修改。管理员利用 crm_attribute 修改 CIB 中的

“nodes”、“status”、“crm_config”段。详细见后。

验证集群配置

crm_verify 命令用于验证 CIB 的一致性、检测其它错误和测试是否可以联机到正在运行

Page 72: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

50

的集群。它反馈两类问题。只有将错有错误全部解决才能保证集群的运行。管理员可以将正

在使用的 CIB 复制出来进行修改,然后利用 crm_verify 对新更改的 CIB,确保无误以后可以

利用 cibadmin 将新 CIB 文件导入到正在运行的集群中。详细见后说明。

管理资源配置

crm_resource 负责与 CRM 进行交互。可以启动、停止、删除或者迁移资源在集群节点

中。详细见后说明。

管理资源错误统计

crm_failcount 命令可以查询当前资源错误统计。详细见后说明。

生成节点 UUIDs

UUIDs 是项的唯一标识。crm_uuid 用于显示节点的 UUID。详细见后说明。

管理节点备机状态

crm_standby 命令用来控制备机属性。无论如何资源可以被运行在某个节点上取决于该

节点在 CIB 中备机属性。资源只能运行在非处于备份状态。当一个节点处于备份状态,资

源不能被运行,但是可以执行其它的操作比如内核升级等。移除备份状态即可实现主机状态。

详细见后说明。

4.1 cibadmin-读取

cibadmin-读取,修改和管理 NeoKylinHA 的 CIB。

详解

cibadmin 是对 CIB 进行修改维护的主要命令。它对 CIB 的 XML 树进行操作,简化手动

编写 XML 文件的工作。

--id xml-object-id,-i xml-object-id,指定 XML ID,下个版本中会去除。

--obj_type object-type,-o object-type,指定对象属性,属性值为“节点”“资源”“状态”

Page 73: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

第五章 高可用集群管理工具

51

“限制条件”。

--verbose,-V,显示调试信息。

--help,-? ,显示命令帮助信息。

--cib_erase,-E,擦除整个 CIB。

--cib_query,-Q,查询 CIB。

--cib_create,-C,创建新的 CIB 文件。

--cib_replace,-R,递归替换 CIB 中的对象。

--cib_update,-U,递归更新 CIB 中的对象。

--cib_modify,-M,修改 CIB 中对象属性,利用—id 选项指定。

--cib_delete,-D,删除指定的第一个匹配对象。

--cib_delete_alt,-d,删除全部匹配对象,需要-o 参数。

--cib_ismaster,-m,显示是否为主 CIB 实例,返回 0 为主实例。

--cib_sync,-S,强制同步 CIB 文件(-h 指定节点,无-h 为利用 DC)。

--crm_xm xml-fragment-string,-X xml-fragment-string,指定一个 XML 段落。

--xml-file filename,-x filename,指定 XML 文件。

--xml_pipe,-p,指定冲管道方式获取该 XML 文件。

其它专用选项

--cib_bump,-B,强制增加 CIB 计数。

--cib_master,-w,强制 CIB 可读可写(危险操作)。

--cib_slave,-r,强制 CIB 实例只读(危险操作)。

--force_quorum,-f,强制写入 CIB,不管集群是否存在仲裁(需谨慎使用,否则将要产

生冲突)。

--host hostname,-h hostname,指定主机。

--local,-l,本地执行。

--no-bcast,-b,不对其它主机进行广播通知。

--sync-cal,-s,在退出之前等待传输给 cibadmin 的指令。

Page 74: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

52

4.2 crmadmin-控制 CRM

详解

--help,-?,显示帮助信息。

--verbose,-V,显示调试信息。

--quiet,-q,屏蔽调试信息。

--bash-export,-B,导入到 Bash 环境变量,为 crmadmin -N 所用。

--debug_inc node,-i node,增加 CRM 守护进程调试等级。

--debug_dec node,-d node,减少 CRM 守护进程调试等级。

--kill node,-K node,关掉指定节点的 CRM。

--status node,-S node,查询指定节点的 CRM 状态。

--election node,-E node,打开指定节点的选举功能。

--dc_lookup,-D,查询当前 DC 的信息。

--nodes,-N,查询所有节点的信息。

4.3 crm_attribute-手动维护 CIB

命令可以对 CIB 进行查询和修改。管理员利用 crm_attribute 修改 CIB 中的“nodes”、

“status”、“crm_config”段。

详解

--help,-?,显示帮助信息。

--verbose,-V,显示调试信息。

--quiet,-Q,利用-G 参数进行查询的时候,只输出值。

--get-value,-G,检索信息。

--delete-attr,-D,删除属性。

--attr-value string,-v sting,设置属性,于-G 冲突。

--node-uuid node_uuid,-u node_uuid,指定节点的 UUID。

--node-uname node_uname,-U node_uname,指定节点的 uname。

--set-name string,-s string,指定设置属性。

Page 75: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

第五章 高可用集群管理工具

53

--attr-name string,-n string,指定设置或查询的属性。

--type string,-t type,限定 CIB 那些数据段可以被设置,值包括 nodes,status 或者

crm_config。

4.4 crm_diff-区别集群配置文件与接受配置文件补丁

crm_diff 用以帮助集群管理员合并不同的配置至 CIB 中。它可以比较两个配置文件的不

同之处,可以创建补丁。

详解

--help,-?,显示帮助信息。

--original filename,-o filename,指定原有文件。

--new filename,-n filename,指定新文件名。

--original-string string,-O string,指定原有字段。

--new-string string,-N string,指定新字段。

--patch filename,-p filename,对原有 XML 打补丁,与-o 合用。

--cib,-c,作为 CIB 输入。

--stdin,-s,从标准输入中读取输入。

4.5 crm_failcount-在指定的资源上进行错误统计

NeoKylinHA利用复杂的方法指定错误切换到那个节点上。当资源设置了资源粘性以后,

根据数值大小判断优先级。带有资源错粘性属性,根据值来决定触发切换。错误统计是资源

监视器的附加属性,它与资源错误粘性数值相乘得到结果为错误切换分值。如果这个数值超

过设置的大小,资源就会发上切换,除非错误统计数被重置。crm_failcount 负责查询给定节

点上的每一个资源的错误记录。要将资源会切,需删除错误统计数。

详解

--help,-?,显示帮助信息。

--verbose,-V,显示调试信息。

--quiet,-Q,利用-G 进行查询时,只显示数值。

--get-value,-G,查询检索。

Page 76: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

54

--delete-attr,-D,删除属性。

--attr-value string,-v sting,指定属性字段,与-G 冲突。

--node-uuid node_uuid,-u node_uuid,指定 UUID。

--node-uname node_uname,-U node_uname,指定 uname。

--resource-id resource name,-r resource name,指定资源名称。

4.6 crm_master-指定那个资源可以被加载

通过调用外部资源代理程序来决定那个资源可以被执行。它不建议冲命令行执行,只是

作为一个资源代理程序的帮助工作而已。通过设置有效时间周期,可以指定在重启以后继续

运行(生存周期设置为“永远”)或者重启以后不自动运行(生存周期设置为“重启”)。

详解

--help,-?,显示帮助信息。

--verbose,-V,显示调试信息。

--quiet,-Q,利用-G 参数进行查询的时候,只输出值。

--get-value,-G,检索信息。

--delete-attr,-D,删除属性。

--attr-value string,-v sting,设置属性,于-G 冲突。

--lifetime string,-l string,指定时间周期,有 reboot 与 forever 两个值。

4.7 crm_mon-集群状态监视器

利用 crm_mon 命令可以配置和监视集群状态。该命令输出节点数量、名称、UUID 以

及状态。crm_mon 的所收集的数据能够很容易提供给显示程序。crm_mon 输入的信息可以

在终端显示或者输出为 HTML 页面。通过 XML 集群配置文件可以创建一个关于节点和资

源的预览。

详解

--help,-?,显示帮助。

--verbose,-V,显示调试信息。

Page 77: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

第五章 高可用集群管理工具

55

--interval seconds,-i seconds,是监视时间间隔,缺省为 15 秒。

--group-by-node,-n,资源分组显示。

--inactive,-r,显示不活动的资源。

--as-console,-c,在终端上显示集群状态。

--one-shot,-1,显示一次状态即退出。

--as-html filename,-h filename,写入指定的 html 文件。

--daemonize,-d,后台执行。

--pid-file filename,-p filename,指定集群配置 XML 文件。

4.8 crm_resource

crm_resource-与 CRM 进行交互,列出资源,启动,停止或迁移资源。

详解

--help,-?,显示帮助信息。

--verbose,-V,显示调试信息。

--quiet,-Q,只输出值,与-W 同用。

--list,-L,列出所有资源。

--query-xml,-x,查询一个资源,需要-r 参数同时执行。

--locate,-V,定位一个资源,需要-r 参数同时执行。

--migrate,-M,迁移一个资源,利用-H 指定目标节点。如果-H 没有被指定,则强制资源

进行转移通过当前位置和-INFINITY 分值创建的规则。

需要-r 参数,可选参数-H,-f

--un-migrate,-U,移除所有通过-M 设置的限制,需要-r,-t 参数。

--delete,-D,重 CIB 中删除一个资源,需要-r,-t 参数。

--cleanup,-C,重 LRM 中删除一个资源,需要-r 参数,可选参数-H。

--reprobe,-P,从 CRM 外部重新检测已启动的资源,可选参数-H。

--refresh,-R,从 LRM 中刷新 CIB,可选参数-H。

--set-parameter string,-p string,设置资源参数,需要-r,-v,可选-i,-s。

--get-parameter string,-g string,获得资源参数,需要-r,可选-i,-s。

--delete-parameter string,-d string,删除资源参数,需要-r,可选-i。

Page 78: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

56

--get-property sting,-G sting,获取被命名的属性。

--set-property sting,-S string,设置被命名的属性。

--resource sting,-r string,指定资源 ID。

--resource-type sting,-t sting,指定资源类型(原始的,副本,组等)。

--property-value string,-v string,指定属性值。

--host-uname string,-H string,指定主机名。

--force-relocation,-f,强制资源进行转移,通过当前位置和-INFINITY 分值所创建的规则,

用于当资源粘性与限制分数超过 INFINITY(100,000)的时候。

-s string,指定实例属性的 ID。

-i string,指定 nvpair 对象的属性。

4.9 crm_standby

crm_standby-对节点的备机属性进行错作并决定资源是否可以运行在该节点上。无论

如何资源可以被运行在某个节点上取决于该节点在 CIB 中备机属性。资源只能运行在非处

于备份状态。当一个节点处于备份状态,资源不能被运行,但是可以执行其它的操作比如内

核升级等。移除备份状态即可实现主机状态。通过设置有效时间周期,可以指定在重启以后

继续运行(生存周期设置为“永远”)或者重启以后不自动运行(生存周期设置为“重启”)。

详解

--help,-?,显示帮助信息。

--verbose,-V,显示调试信息。

--quiet,-Q,利用-G 参数进行查询的时候,只输出值。

--get-value,-G,检索信息。

--delete-attr,-D,删除属性。

--attr-value string,-v sting,设置属性,于-G 冲突。

--node-uuid node_uuid,-u node_uuid,指定节点的 UUID。

--node-uname node_uname,-U node_uname,指定节点的 uname。

--lifetime string,-l string,指定时间周期,有 reboot 与 foreve 两个值。

Page 79: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

第五章 高可用集群管理工具

57

4.10 crm_uuid-获取节点 UUID

详解

直接执行即可。

4.11 crm_verify-验证 CIB 一致性

用于验证 CIB 的一致性、检测其它错误和测试是否可以联机到正在运行的集群。它反

馈两类问题。只有将错有错误全部解决才能保证集群的运行。管理员可以将正在使用的 CIB

复制出来进行修改,然后利用 crm_verify 对新更改的 CIB,确保无误以后可以利用 cibadmin

将新 CIB 文件导入到正在运行的集群中。

详解

--help,-?,显示帮助信息。

--verbose,-V,显示调试信息。

--live-check,-L,测试集群连接。

--crm_xml string,-X string,根据提供的字段检测配置,只能通过完整的 CIB。

--xml-file file,-x file,检测配置文件。

--xml-pipe,-p,通过标准输入使用配置,只能通过完整的 CIB。

Page 80: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028
Page 81: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

第六章 资源保护脚本简介

59

5 资源保护脚本简介

在高可用集群中对应用的保护和管理都是通过创建和管理对应的资源来实现的,在高可

用集群中提供了资源代理(resource agents)和 STONITH 代理(STONITH agents),你可以

通过编写自己的资源代理和 STONITH 代理脚本来扩展高可用集群对不同应用保护的支持。

注释:什么是 STONITH?

Stonith 即 shoot the other node in the head,在高可用集群中实现节点隔离和阻断的功能。

Stonith 设备是一种能够自动关闭电源来响应软件命令的设备。

5.1 STONITH 代理

当集群检测到集群中的节点出现故障时将删除该节点,我们称之为隔离节点,要实现问

题节点的隔离就需要通过使用 STONITH 资源实现该功能。所有 STONITH 资源默认存放在

每个节点的/usr/lib/stonith/plugins 目录下。通过这些 STONITH 资源可是实现节点关机、节

点重启等功能。

我们可以使用 SSH STONITH 代理进行 STONITH 功能的测试,可以通过 SSH STONITH

代理实现关闭节点的功能。在实际的生产环境中,我们不建议使用 SSH STONITH 代理进行

节点的管理,因为使用 SSH STONITH 代理就需要确保所有系统都可以提供 SSH 服务并且

能够通过 SSH 进行访问。

如果想知道集群能够提供那些 STONITH 设备的支持,可以使用 stonith –L 命令进行

查看。

如果想了解如何编写 STONITH 代理可以参照系统提供的 STONITH 代理编写,也可以

登陆 http://www.Linux-ha.org/stonith 学习如何编写 STONITH 代理。

5.2 其它资源代理

集群中所有被保护的资源都是通过资源代理进行管理和监控的,NeoKylinHA 支持两种

类型的资源代理:

Page 82: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

60

5.2.1 LSB 脚本

LSB 即 Linux Standard Base (LSB),LSB 脚本的编写规范和系统启动是运行的服务启动

脚本规范相同,系统提供的 LSB 资源脚本存放在/etc/init.d 目录下。

5.2.2 OCF 脚本

在高可用集群中,我们建议用户在进行资源保护时采用 OCF 资源代理脚本实现对资源

的管理和监控。OCF(Open Cluster Framework project)脚本编写规范是基于 LSB 的扩展,

系统提供的 OCF 资源代理脚本存放在/usr/lib/ocf/resource.d 下。

想了解更多 OCF 脚本的信息请参考附录一。

5.2.3 如何编写 OCF 脚本

系统提供的 OCF 资源代理脚本放置在/usr/lib/ocf/resource.d/目录下,如果你想自己定义

OCF 资源代理脚本可以将自定义的 OCF 脚本放置在自定义的目录下,例如:如果你有一个

资源组为 room 并定义了一个资源脚本为 bad_room,你可以将该资源脚本放置在

/usr/lib/ocf/resource.d/room/目录下。如果要访问该资源脚本,配置如下:

[root@server1 ~]# <primitive id="bad_1" class="ocf" type="bad_room" provider="room"/>

如果要正确执行你的自定义 OCF 脚本,你必须提供符合 OCF 脚本要求的 start、stop、

monitor 等有效的操作。你可以登陆 http://www.Linux-ha.org/OCFResourceAgent 了解更多关

于如何编写 OCF 脚本的信息。

Page 83: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

第七章 常见问题

61

6 常见问题

在我们实际使用高可用软件过程中可能遇到很多无法理解的问题,中标麒麟高可用集群

软件提供很多有用的工具帮助用户了解高可用软件内容运行的情况。

6.1 高可用集群的运行情况?

要查看当前高可用集群的运行情况,我们可以使用 crm_mon 命令查看。通过该命令可

以查看 DC 运行的节点、节点和资源的运行情况等。

6.2 集群的中的一些节点无法看到其它节点?

出现该问题的主要原因可能是节点之间的通信(比如心跳)出现问题,通常情况下是由

于节点配置了防火墙导致节点间通信出现问题。当然如果集群中出现脑裂(Split-Brain)的

情况也会导致该问题的出现。

注释:什么是脑裂(Split-Brain)?

当节点之间都不能正确获取到对方节点状态时会出现脑裂的情况。可以通过使用

fencing 设备或采用创建多个通信链路的方法解决通信的单点故障导致集群出现脑裂的问

题。了解更多信息请登陆 http://www.Linux-ha.org/SplitBrain。

6.3 要列出当前已知资源

要列出当前系统已知资源可以使用 crm_resource –L 命令,执行结果示例如图 6-1 所

示。

Page 84: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

62

图 6-1 列出当前已知资源

6.4 配置的一个资源总是提示运行失败?

当添加一个资源时如果提示运行失败,请先尝试通过手动运行资源代理脚本的方法进行

测试,以确定脚本的正确性。如果使用 LSB 脚本,通过运行 scriptname start、scriptname stop

起停服务。如果使用 OCF 脚本,请先设置相关的环境变量,然后手动运行脚本进行测试。

例如:要测试 IPaddr OCF 脚本,你需要先设置以 OCF_RESKEY_开头的 OCF_RESKEY_ip

变量。请运行以下命令:

[root@server1 ~]# export OCF_RESKEY_ip=<your_ip_address>

[root@server1 ~]# /usr/lib/ocf/resource.d/heartbeat/IPaddr validate-all

[root@server1 ~]# /usr/lib/ocf/resource.d/heartbeat/IPaddr start

[root@server1 ~]# /usr/lib/ocf/resource.d/heartbeat/IPaddr stop

如果运行失败,很可能你没有按照要求提供所需变量的定义或者设置参数时键入了错误

的变量定义内容。

6.5 如果提示错误信息,如何获取更多有效的错误信息?

你可以在运行命令时添加-V 选项,系统将提示更多调试信息。

Page 85: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

第七章 常见问题

63

6.6 如何清理我的资源?

你可以通过 crm_resource –L 获取你的资源的 ID,然后通过 crm_resource –C –r 资

源 id 删除该资源。

如果想了解更多关于 Linux 下的高可用集群的信息,请登陆 http://www.Linux-ha.org。

Page 86: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028
Page 87: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

附录一 OCF 资源代理

65

附录一 OCF 资源代理

在使用所有的 OCF 资源代理脚本以前我们需要针对不同的 OCF 脚本设置一些变量,在

本章节中我们将介绍各种资源代理的使用方法。这些变量通过在每个 OCF 脚本的 meta-data

进行调用。你可以在/opt/NeoKylinHA/lib/ocf/resource.d/heartbeat/目录下找到所有的 OCF 资

源代理脚本。

当配置一个资源代理时,变量前缀 OCF_RESKEY_将被忽略,方括号中定义的变量可

以作为选项配置。

ocf:Apusic

ocf:Apusic - 金蝶中间件资源脚本

摘要

OCF_RESKEY_APUSIC_HOME=string

[OCF_RESKEY_port=string]

Apusic [start | stop | status | monitor | meta-data | validate-all]

描述

Apusic 资源脚本,用于保护金蝶中间件 Apusic

支持的参数

OCF_RESKEY_APUSIC_HOME=Apusic installdir (金蝶中间件安装路径)

金蝶中间件 Apusic 的安装路径

OCF_RESKEY_port=string (端口号)

默认值为 6888 。启动该资源后,可以用浏览器通过地址 http://127.0.0.1:6888 来管理该

中间件。

ocf:AudibleAlarm

ocf:AudibleAlarm —声音报警资源代理

摘要

Page 88: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

66

[OCF_RESKEY_nodelist=string]

AudibleAlarm [start | stop | restart | status |monitor | meta-data | validate-all]

描述

声音报警资源脚本。该资源代理提供峰鸣报警功能。

支持的参数

OCF_RESKEY_nodelist=Node list(节点列表)

节点列表中设置的节点将不提供声音报警。

ocf:bind

ocf:bind — DNS 服务器资源代理

摘要

[OCF_RESKEY_rootdir=string]

[OCF_RESKEY_named=string]

bind [start | stop | status | monitor | meta-data | validate-all]

描述

这是 DNS 服务器 bind 的资源代理。

支持的参数

OCF_RESKEY_rootdir=Configuration file path(配置文件路径)

默认值是/var/named/chroot

OCF_RESKEY_named=path of the DNS binary (DNS 二进制命令的路径)

默认值是/usr/sbin/named

ocf:ClusterMon

ocf:ClusterMon — ClusterMon 资源代理

摘要

Page 89: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

附录一 OCF 资源代理

67

[OCF_RESKEY_user=string]

[OCF_RESKEY_update=integer]

[OCF_RESKEY_extra_options=string]

OCF_RESKEY_pidfile=string

OCF_RESKEY_htmlfile=string

ClusterMon [start | stop | monitor | meta-data |validate-all]

描述

这是 ClusterMon 资源代理。该资源代理可以将集群状态输出到 html 文件。

支持的参数

OCF_RESKEY_user=The user we want to run crm_mon as(运行 crm_mon 的用户)

以定义的用户运行 crm_mon 命令。

OCF_RESKEY_update=Update interval(更新间隔)

定义多长间隔更新集群状态。

OCF_RESKEY_extra_options=Extra options(附加选项)

crm_mon 命令的附加选项,例如:-n –r。

OCF_RESKEY_pidfile=PID file(PID 文件)

PID 文件用于确保只有一个实例在运行。

OCF_RESKEY_htmlfile=HTML output(HTML 格式输出)

采用 HTML 格式输出。

ocf:db2

ocf:db2 — db2 resource agent(db2 数据库资源代理)

摘要

[OCF_RESKEY_instance=string]

[OCF_RESKEY_admin=string]

db2 [start | stop| status | monitor | validate-all | meta-data | methods]

描述

Page 90: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

68

db2 资源代理脚本,用于管理 DB2 数据库的一个实例(作为 HA 中的一个资源)。

支持的参数

OCF_RESKEY_instance=instance(实例名称)

数据库实例的名称。

OCF_RESKEY_admin=admin(管理员用户名)

该数据库实例的管理员名称。

ocf:Delay

ocf:Delay — Delay resource agent(Delay 资源代理)

摘要

[OCF_RESKEY_startdelay=integer]

[OCF_RESKEY_stopdelay=integer]

[OCF_RESKEY_mondelay=integer]

Delay [start | stop | status | monitor | meta-data| validate-all]

描述

该代理资源脚本是提供延时的测试资源脚本。

支持的参数

OCF_RESKEY_startdelay=Start delay(启动延时)

在执行 start 操作时延时的秒数。

OCF_RESKEY_stopdelay=Stop delay(停止延时)

在执行 stop 操作时延时的秒数,如果未设置该选项,默认使用 startdelay 值。

OCF_RESKEY_mondelay=Monitor delay(监控延时)

在执行 monitor 操作时延时的秒数。如果未设置该选项,默认使用 startdelay 值。

Page 91: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

附录一 OCF 资源代理

69

ocf:DMAgent

ocf:DMAgent — 提供对达梦数据库代理的资源管理

摘要

OCF_RESKEY_datadir=string

DMAgent [start | stop | status | monitor | meta-data | validate-all]

描述

达梦数据库代理的资源脚本。

支持的参数

OCF_RESKEY_datadir=directory containing database (数据库安装路径)

ocf:DMDB

ocf:DMDB — 提供对达梦数据库的资源管理

摘要

OCF_RESKEY_datadir=string

DMDB [start | stop | status | monitor | meta-data | validate-all]

描述

达梦数据库的资源脚本。

支持的参数

OCF_RESKEY_datadir=directory containing database (数据库安装路径)

ocf:drbd

ocf:drbd — 提供对 DRBD 资源的管理

注释:什么是 DRBD?

DRBD 是 Linux 操作系统内核模块和相关脚本而构成的一个分布式远程块设备。它允

许您在远程主机上建立一个本地块设备的实时镜像。

Page 92: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

70

注释:DRBD 工作原理?

每个设备(drbd 提供了不止一个设备)都有一个状态,可能是‘主’状态或‘辅助’

状态。在主要设备(Master)的节点上,应用程序运行和访问设备(/dev/nbX)。每次写入都

会发往本地低层设备和带有‘辅助’状态(Slave)设备的节点中。次要设备只能简单地把

数据写入它的低层块设备上。读取数据通常在本地进行。如果主要节点发生故障,心跳将会

把辅助设备转换到主状态,并启动其上的应用程序。(如果您将它和无日志 FS 一起使用,

则需要运行 fsck)。如果发生故障的节点恢复工作,它就会成为新的辅助节点,而且必须使

自己的内容与主节点的内容保持同步。当然,这些操作不会干扰到后台的服务。

摘要

OCF_RESKEY_drbd_resource=string

[OCF_RESKEY_drbdconf=string]

[OCF_RESKEY_clone_overrides_hostname=boolean]

[OCF_RESKEY_clone_max=integer]

[OCF_RESKEY_clone_node_max=integer]

[OCF_RESKEY_master_max=integer]

[OCF_RESKEY_master_node_max=integer]

drbd [start | promote | demote | notify | stop | monitor | monitor | meta-data |

validate-all]

描述

DRBD 主/从(Master/Slave) OCF 资源代理脚本

支持的参数

OCF_RESKEY_drbd_resource=drbd resource name(drbd 资源名称)

Drbd 资源名称在 drbd.conf 中定义。

OCF_RESKEY_drbdconf=Path to drbd.conf(drbd.conf 配置文件存放的绝对路径)

drbd.conf 配置文件存放的绝对路径。

OCF_RESKEY_clone_overrides_hostname=Override drbd hostname(cloneno 替代 drbd 主

机名;Yes 或 No)

是否使用 clone 号代替主机名。该选项可以在各个节点配置。设置该选项 drbd 将使用

Page 93: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

附录一 OCF 资源代理

71

cloneno 代替真实的主机名。该选项也可以在 drbd.conf 中使用。

OCF_RESKEY_clone_max=Number of clones(克隆 drbd 资源的数量)

克隆 drbd 资源的数量,建议不要修改默认值。

OCF_RESKEY_clone_node_max=Number of nodes(节点的数量)

克隆节点,建议不要修改默认值。

OCF_RESKEY_master_max=Number of primaries(激活主节点数量)

激活主节点的最大数量,建议不要修改默认值。

OCF_RESKEY_master_node_max=Number of primaries per node(每个节点 master 数量)

每个节点 master 的最大数量。建议不要修改默认值。

查看更多信息请登陆 http://www.Linux-ha.org/DRBD/HowTov2

ocf:Dummy

ocf:Dummy — Dummy 资源代理

摘要

OCF_RESKEY_state=string

Dummy [start | stop | monitor | reload | migrate_to | migrate_from | meta-data | validate-all]

描述

这是 Dummy 资源代理脚本,通常作为编写资源代理脚本的范例使用。资源脚本本身并

没有实际的功能,只是不断的测试服务是否运行。

支持的参数

OCF_RESKEY_state=State file(状态文件)

存储资源状态的文件。

ocf:eDir88

ocf:eDir88 — eDirectory 资源代理

Page 94: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

72

摘要

OCF_RESKEY_eDir_config_file=string

[OCF_RESKEY_eDir_monitor_ldap=boolean]

[OCF_RESKEY_eDir_monitor_idm=boolean]

[OCF_RESKEY_eDir_jvm_initial_heap=integer]

[OCF_RESKEY_eDir_jvm_max_heap=integer]

[OCF_RESKEY_eDir_jvm_options=string]

eDir88 [start | stop | monitor | metadata| validate-all]

描述

该资源代理用于管理 eDirectory 实例,将 eDirectory 的单一实例作为 HA 的资源进行管

理。 在 eDirectory8.8 版本中提供了多实例运行的支持。该资源代理脚本不支持 eDirectory8.8

以前的任何版本。该资源脚本能够支持在同一个主机上运行多个 eDirectory 的实例。我们强

烈建议在配置

eDirectory 时将 eDirectory 的配置文件存放在每个节点的本地磁盘中。如果将配置文件

放置在共享存贮中,当共享存储出现问题时,将导致资源代理脚本不能正常获取 eDirectory

的配置,导致资源代理脚本运行失败,高可用集群将无法完成对该资源的管理。

由于 eDirectory(包含 IDM)启动的时间可能超过 10 分钟,所以请设置足够大的 timeout

时间,以确保 eDirectory 启动所需要的时间小于 timeout 的时间。

支持的参数

OCF_RESKEY_eDir_config_file=eDir config file(eDir 的配置文件)

eDirectory 实例的配置文件路径。

OCF_RESKEY_eDir_monitor_ldap=eDir monitor ldap(是否监控 ldap)

是否监控 eDirectory 实例运行的 LDAP 服务。

OCF_RESKEY_eDir_monitor_idm=eDir monitor IDM(是否监控 IDM)

是 否 监 控 eDirectory 实 例 运 行 的 IDM 服 务 。

OCF_RESKEY_eDir_jvm_initial_heap=DHOST_INITIAL_HEAP value

(DHOST_INITIAL_HEAP 值)

DHOST_INITIAL_HEAP 值,java 环境变量,如果不设置该变量,将使用 java 默认设置。

Page 95: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

附录一 OCF 资源代理

73

OCF_RESKEY_eDir_jvm_max_heap=DHOST_MAX_HEAP value(DHOST_MAX_HEAP

值)

DHOST_MAX_HEAP 值,java 环境变量,如果不设置该变量,将使用 java 默认设置。

OCF_RESKEY_eDir_jvm_options=DHOST_OPTIONS value(DHOST_OPTIONS 值)

DHOST_OPTIONS 值,java 环境变量,如果不设置该变量,将使用 java 默认设置。

ocf:Evmsd

ocf:Evmsd — Evmsd 资源代理

注释:什么是 EVMS?

EVMS(Enterprise Volume Management System)企业级分卷管理系统是一个更灵活的工

具,从低级的 RAID 和 LVM 功能到高级的用于管理分区、RAID 阵列、逻辑卷和文件系统

的命令行和图形工具,EVMS 可以提供比单独的 RAID 更加优秀和完善的“一条龙”存储管

理解决方案。

摘要

Evmsd [start | stop | monitor | meta-data]

描述

这是 Evmsd 资源代理。

ocf:EvmsSCC

ocf:EvmsSCC — EVMS SCC 资源代理

摘要

EvmsSCC [start | stop | notify | status | monitor | meta-data]

描述

EVMS 共享集群容器的资源代理脚本。在集群中的每一个结点上运行 evms_activate。

Page 96: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

74

ocf:Filesystem

ocf:Filesystem — Filesystem 文件系统资源代理

摘要

[OCF_RESKEY_device=string]

[OCF_RESKEY_directory=string]

[OCF_RESKEY_fstype=string]

[OCF_RESKEY_options=string]

[OCF_RESKEY_ocfs2_cluster=string]

[OCF_RESKEY_ocfs2_configfs=string]

Filesystem [start | stop | notify |monitor | validate-all | meta-data]

描述

文件系统资源代理脚本,用于管理共享存储之上的文件系统。

支持的参数

OCF_RESKEY_device=block device(块设备)

文件系统的块设备文件名,使用 mount 命令是可以使用 -U, -L 选项或 NFS

选项。

OCF_RESKEY_directory=mount point(挂装点)

文件系统的挂装点。

OCF_RESKEY_fstype=filesystem type(文件系统类型)

要挂装的文件系统的类型描述。

OCF_RESKEY_options=options(选项)

挂装文件系统时使用 -o 选项附加的一些选项定义。

OCF_RESKEY_ocfs2_cluster=OCFS2 cluster name/UUID(OCFS2 集群名或 UUID)

OCFS2(UUID) 集群文件系统的名称,当有多个集群时,将使用 OCFS2 资源,你可

以不设置该选项。

OCF_RESKEY_ocfs2_configfs=OCFS2 configfs root(OCFS2 configfs 根)

Configfs 集群挂装点,你可以不设置该选项。

Page 97: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

附录一 OCF 资源代理

75

ocf:httpd

ocf: httpd- Apache web 服务器资源代理

摘要

OCF_RESKEY_configfile=string

[OCF_RESKEY_httpd=string]

[OCF_RESKEY_port=integer]

[OCF_RESKEY_statusurl=string]

[OCF_RESKEY_options=string]

[OCF_RESKEY_testregex=string]

httpd [start | stop | status | monitor | meta-data | validate-all]

描述

这是 apache web server 的资源代理,该资源代理脚本支持 httpd1.x 和 httpd2.x 版本,想

了解关于 apache 更多信息请登陆 http://www.apache.org。

支持的参数

OCF_RESKEY_configfile=configuration file path(存放配置文件的路径)

Apache 配置文件存放的绝对路径,该配置文件定义了一些资源代理脚本所需的变量的

默认值。比如/etc/httpd/conf 为默认配置文件存放的路径。

OCF_RESKEY_httpd=httpd binary path(存放 httpd 二进制程序的路径)

Httpd 二进制程序存放的绝对路径(可选设置)

OCF_RESKEY_port=httpd port(httpd 服务的端口)

你可以从 apache 配置文件中查看默认 httpd 端口,通常默认端口为 80。

OCF_RESKEY_statusurl=url name

我们可以通过 apache 提供的 mod_status 获取 apache 的状态信息,该 URL name 为该模

块 的 信 息 , 如 果 不 进 行 设 置 , 将 使 用 httpd.conf 中 的 默 认 配 置 , 例 如 :

http://servername/server-status.

OCF_RESKEY_options=command line options(命令行选项)

Page 98: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

76

当启动 apache 时所使用的扩展命令行选项,请参考 man httpd(8).

OCF_RESKEY_testregex=test regular expression(测试使用的正则表达式)

用于匹配 statusurl 的正则表达式。

ocf:ICP

ocf:ICP — ICP 资源代理

什么是 ICP 控制器?

ICP Vortex 公司的磁盘阵列控制器驱动是 Linux 2.0.x 和 Linux 2.2.x 内核的标准部分,因

此大多数引导磁盘都能识别 ICP 控制器。另外,ICP Vortex 公司还提供 GDT Monitor 管理工

具,用来监听传输速率、设置硬盘和控制器参数,以及热交换和重建错误驱动器。

摘要

[OCF_RESKEY_driveid=string]

[OCF_RESKEY_device=string]

ICP [start | stop| status | monitor | validate-all | meta-data]

描述

ICP 资源管理脚本。

支持的参数

OCF_RESKEY_driveid=ICP cluster drive ID(ICP 集群驱动 ID)

ICP 集群驱动 ID。

OCF_RESKEY_device=device(设备)

设备名称。

ocf:ids

ocf:ids —Informix 数据库(IDS)OCF 资源代理脚本。

摘要

Page 99: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

附录一 OCF 资源代理

77

[OCF_RESKEY_informixdir=string]

[OCF_RESKEY_informixserver=string]

[OCF_RESKEY_onconfig=string]

[OCF_RESKEY_dbname=string]

[OCF_RESKEY_sqltestquery=string]

ids [start | stop | status | monitor | validateall| meta-data | methods | usage]

描述

该资源代理脚本用于管理集群中的 IBM Informix Dynamic Server (IDS) 实例。

支持的参数

OCF_RESKEY_informixdir= INFORMIXDIR environment variable(INFORMIXDIR 环境

变量的设置)

该环境变量是在典型安装 IDS 以后需要设置的环境变量。用于定义 Informix 的安装后

的路径。如果不设置该变量,OCF 脚本将从当前 Shell 环境下获取该变量的定义。

OCF_RESKEY_informixserver= INFORMIXSERVER environment variable

(INFORMIXSERVER 环境变量设置)

该环境变量是在典型安装 IDS 以后需要设置的环境变量,用于定义 Informix 运行实例

的名称。如果不设置该变量,OCF 脚本将从当前 Shell 环境下获取该变量的定义。

OCF_RESKEY_onconfig= ONCONFIG environment variable(ONCONFIG 环境变量设置)

该环境变量是在典型安装 IDS 以后需要设置的环境变量,用于定义 Informix 运行实例

的配置文件。该配置文件将在/etc 目录下被自动检索。如果不设置该变量,OCF 脚本将从当

前 Shell 环境下获取该变量的定义。

OCF_RESKEY_dbname= database to use for monitoring(用于监控的数据库名称,默认为

'sysmaster')

该变量定义了在监控数据库实例是否正常运行时访问的临时数据库名称。如果不设置该

变量将默认使用“sysmaster”数据库。

OCF_RESKEY_sqltestquery= SQL 语句(用于监控实例运行时执行的 SQL 语句,默认为

“SELECT COUNT(*) FROM systables;”)

SQL 查询用于确定在“dbname'”中定义的数据库是否可以正常执行,以确定数据库实

例是否正常提供服务如果不设置该参数将默认使用“SELECT COUNT(*) FROM systables;”

Page 100: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

78

语句。

ocf:IPaddr2

ocf:IPaddr2 — 管理 IPv4 地址资源代理脚本

摘要

OCF_RESKEY_ip=string

[OCF_RESKEY_nic=string]

[OCF_RESKEY_cidr_netmask=string]

[OCF_RESKEY_broadcast=string]

[OCF_RESKEY_iflabel=string]

[OCF_RESKEY_lvs_support=boolean]

[OCF_RESKEY_mac=string]

[OCF_RESKEY_clusterip_hash=string]

[OCF_RESKEY_arp_interval=integer]

[OCF_RESKEY_arp_count=integer]

[OCF_RESKEY_arp_bg=string]

[OCF_RESKEY_arp_mac=string]

IPaddr2 [start| stop | status | monitor | meta-data | validate-all]

描述

该资源代理脚本用于管理 IP 别名和 IP 地址。你可以通过该脚本添加一个 IP 别名或删

除已经添加的 IP 别名,如果作为克隆资源(clone)调用,该资源代理脚本还能够完成集群

别名 IP 功能。使用该资源可以用于创建浮动 IP 地址资源。

支持的参数

OCF_RESKEY_ip=IPv4 address(IPv4 类型的 ip 地址)

配置 IPv4 地址,例如"192.168.1.1"。

OCF_RESKEY_nic=Network interface(网络接口)

设置 OCF_RESKEY_ip 指定 IP 地址所要捆绑的网卡接口设备,比如 eth0 或 eth1。如果

Page 101: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

附录一 OCF 资源代理

79

设置该变量为空,脚本将自动从路由表中获取所需信息以确定设置的 IP 地址应该捆绑在那

个网卡设备上。请不要采用别名设备接口方式定义该变量,比如 eth0:1,只需要设置实际的

网卡设备文件即可。

OCF_RESKEY_cidr_netmask=CIDR netmask(CIDR 子网掩码)

网卡设备的子网掩码(例如 24 或 255.255.255.0),如果不设置该变量的值,脚本将自动

从路由表中获取所需信息以确定对应的子网掩码。

OCF_RESKEY_broadcast=Broadcast address(广播地址)

IP 地址对应的广播地址,如果不设置该变量的值,脚本将根据子网掩码确定广播地址。.

OCF_RESKEY_iflabel=Interface label(接口标签)

你可以为你的 IP 地址定义一个标签,该标签将被添加到你的网络接口名称上,如果你

使用网络接口名作为标签,该参数将不会生效。

OCF_RESKEY_lvs_support=Enable support for LVS DR(支持 LVS DR)

开启对 LVS DR 配置支持。如果设置浮动 IP 地址服务关闭,该 IP 地址将被设置在本地

环路设备上并实现对本地节点继续提供服务,对外部网络将无法继续提供该服务。

OCF_RESKEY_mac=Cluster IP MAC address(集群 IP MAC 地址)

设置网络接口的 MAC 地址,通常只是应用在设置集群 IP 地址别名时使用。如果不设

置该变量,系统将自动设置。

OCF_RESKEY_clusterip_hash=Cluster IP hashing function(集群 IP hashing 功能)

为集群 IP 地址功能设置 hashing 算法。

OCF_RESKEY_arp_interval=ARP packet interval in ms(ARP 包间隔(毫秒))

设置 ARP 包的发送间隔(milliseconds 毫秒)。

OCF_RESKEY_arp_count=ARP packet count(ARP 包数量)

发送 ARP 数据包的数量。

OCF_RESKEY_arp_bg=ARP from background(后台发送 ARP 包)

是否采用后台方式发送 ARP 数据包。

OCF_RESKEY_arp_mac=ARP MAC(ARP 包 MAC 地址)

发送 ARP 数据包的 MAC 地址,不建议用户设置该变量。

Page 102: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

80

ocf:IPaddr

ocf:IPaddr — 管理虚拟 IPv4 的 IP 地址

摘要

OCF_RESKEY_ip=string

[OCF_RESKEY_nic=string]

[OCF_RESKEY_cidr_netmask=string]

[OCF_RESKEY_broadcast=string]

[OCF_RESKEY_iflabel=string]

[OCF_RESKEY_lvs_support=boolean]

[OCF_RESKEY_local_stop_script=string]

[OCF_RESKEY_local_start_script=string]

[OCF_RESKEY_ARP_INTERVAL_MS=intege

[OCF_RESKEY_ARP_REPEAT=integer]

[OCF_RESKEY_ARP_BACKGROUND=boolean]

[OCF_RESKEY_ARP_NETMASK=string]

IPaddr [start | stop | monitor | validate-all| meta-data]

描述

该资源代理脚本用于管理 IP 别名 IP 地址,你可以添加一个 IP 别名或删除已经添加的

IP 别名。

支持的参数

OCF_RESKEY_ip=IPv4 address(IPv4 类型的 IP 地址)

设置 IPv4 类型的 IP 地址,例如:"192.168.1.1"。

OCF_RESKEY_nic=Network interface(网络接口名称)

设置 OCF_RESKEY_ip 指定 IP 地址所要捆绑的网卡接口设备,比如 eth0 或 eth1。如果

设置该变量为空,脚本将自动从路由表中获取所需信息以确定设置的 IP 地址应该捆绑在那

个网卡设备上。请不要采用别名设备接口方式定义该变量,比如 eth0:1,只需要设置实际的

网卡设备文件即可。

OCF_RESKEY_cidr_netmask=Netmask(子网掩码)

Page 103: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

附录一 OCF 资源代理

81

网卡设备的子网掩码(例如 24 或 255.255.255.0),如果不设置该变量的值,脚本将自动

从路由表中获取所需信息以确定对应的子网掩码。

OCF_RESKEY_broadcast=Broadcast address(广播地址)

IP 地址对应的广播地址,如果不设置该变量的值,脚本将根据子网掩码确定广播地址。

OCF_RESKEY_iflabel=Interface label(网络接口标签)

你可以为你的 IP 地址定义一个额外的标签。

OCF_RESKEY_lvs_support=Enable support for LVS DR(允许 LVS DR 支持)

开启对 LVS DR 配置支持。如果设置浮动 IP 地址服务关闭,该 IP 地址将被设置在本地

环路设备上并实现对本地节点继续提供服务,对外部网络将无法继续提供该服务。

OCF_RESKEY_local_stop_script=Script called when the IP is released(当 IP 地址释放后

是否调用脚本)

当 IP 地址释放后是否调用脚本。

OCF_RESKEY_local_start_script=Script called when the IP is added(当 IP 地址被添加时

是否调用脚本)

当 IP 地址被添加时是否调用脚本 OCF_RESKEY_ARP_INTERVAL_MS=milliseconds

between gratuitous ARPs(ARP 包间隔时间(ms))

ARP 包间隔时间(ms)。

OCF_RESKEY_ARP_REPEAT=repeat count(重复数量)

当启用新的 IP 地址时发送多少 ARP 数据包。

OCF_RESKEY_ARP_BACKGROUND=run in background(后台执行)

无条件后台执行。

OCF_RESKEY_ARP_NETMASK=netmask for ARP(ARP 子网掩码)

ARP 子网掩码 – 非标准十六进制格式。

ocf:IPsrcaddr

ocf:IPsrcaddr — IPsrcaddr 资源代理

摘要

Page 104: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

82

[OCF_RESKEY_ipaddress=string]

IPsrcaddr [start | stop | stop | monitor | validate-all | meta-data]

描述

IPsrcaddr 资源代理脚本,用于修改首选的源地址。

注释:IPsrcaddr 的作用?

无论你是使用从属 ip 地址还是 ip 别名,源自服务器(连接创建自服务器)的数据包使

用的源地址将总是使用网卡的主 ip 地址,你可以使用 ipsrcaddr 脚本,强制内核使用从属 ip

地址或 ip 别名作为数据包头中的源地址。

支持的参数

OCF_RESKEY_ipaddress=IP address(IP 地址)

设置 IP 地址。

ocf:IPv6addr

ocf:IPv6addr — 管理 IPv6 别名

摘要

[OCF_RESKEY_ipv6addr=string]

IPv6addr [start | stop | status | monitor | validateall| meta-data]

描述

该资源代理脚本用于管理 IPv6 别名和 IPv6 地址,该脚本可以用于添加和删除 IPv6 别

名。

支持的参数

OCF_RESKEY_ipv6addr=IPv6 address(IPv6 地址)

该资源代理要管理的 IPv6 地址。

Page 105: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

附录一 OCF 资源代理

83

ocf:iscsi

ocf:iscsi — iscsi 资源代理

摘要

[OCF_RESKEY_portal=string]

OCF_RESKEY_target=string

[OCF_RESKEY_discovery_type=string]

[OCF_RESKEY_iscsiadm=string]

[OCF_RESKEY_udev=string]

iscsi [start | stop | status | monitor | validate-all |methods | meta-data]

描述

iSCSI OCF 资源代理脚本。添加(启动)、删除(关闭)iSCSI 目标。

注释:什么是 iSCSI?

iSCSI(互联网小型计算机系统接口)是一种在 Internet 协议网络上,特别是以太网上 进

行数据块传输的标准。它是由 Cisco 和 IBM 两家发起的,并且得到了 IP 存储技术拥护者 的

大力支持。是一个供硬件设备使用的可以在 IP 协议上层运行的 SCSI 指令集。简单地说,

iSCSI 可以实现在 IP 网络上运行 SCSI 协议,使其能够在诸如高速千兆以太网上进行路由选

择。

支持的参数

OCF_RESKEY_portal=portal(端口)

iSCSI 端口地址:{ip_address|hostname}[":"port]。

OCF_RESKEY_target=target(目标)

iSCSI 目标。

OCF_RESKEY_discovery_type=discovery_type(discovery 类型)

Discovery 类型,目前基于 open-iscsi 只支持 sendtargets 类型。

OCF_RESKEY_iscsiadm=iscsiadm

iscsiadm 程序路径。

OCF_RESKEY_udev=udev

如果下一个资源依赖于 udev 创建一个设备,我们需要等待该过程结束。正常情况下该

Page 106: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

84

过程会在很短时间内完成。如果你未使用 udev 请设置“no”,否则我们将进入一个死循环直

到执行超时。

ocf:Kingbase

ocf:Kingbase —Kingbase 资源代理

摘要

OCF_RESKEY_home=string

OCF_RESKEY_servername=tring

Kingbase [start | stop | status | monitor | meta-data | validate-all]

描述

对 Kingbase(人大金仓)数据库进行监控。

支持的参数

OCF_RESKEY_home=Kingbase install dir(Kingbase 数据库的安装路径)

OCF_RESKEY_servername=Kingbase user name (使用 Kingbase 数据库的用户名)

ocf:Ldirectord

ocf:Ldirectord — ldirectord 资源代理

摘要

OCF_RESKEY_configfile=string

[OCF_RESKEY_ldirectord=string]

Ldirectord [start | stop | monitor | meta-data | validate-all]

描述

它是一个比较简单的 OCF ldirectord 资源代理脚本,通过使用 ldirectord 接口创建 OCF

接口实现对 ldirectord 服务的监控。请注意:获取 ldirectord 状态需要花费的时间和消耗的系

统资源还是比较大的。

Page 107: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

附录一 OCF 资源代理

85

注释:什么是 Ldirectord?

在 LVS 集群中 Ldirectord 负责监测 Real Server,当 Real Server 失效时,把它从 Load

Balancer 列表中删除,恢复时重新添加。

支持的参数

OCF_RESKEY_configfile=configuration file path(配置文件路径名)

配置文件存放的绝对路径。

OCF_RESKEY_ldirectord=ldirectord binary path(ldirectord 二进制程序路径名)

存放 ldirectord 程序的绝对路径名。

ocf:LinuxSCSI

ocf:LinuxSCSI — LinuxSCSI 资源代理

摘要

[OCF_RESKEY_scsi=string]

LinuxSCSI [start | stop | methods | status | monitor |meta-data | validate-all]

描述

这是 LinuxSCSI 资源代理脚本,管理 Linux 核心视图中一个 SCSI 设备的有效性,可以

实现激活和关闭 Linux 系统下 SCSI 设备。

支持的参数

OCF_RESKEY_scsi=SCSI instance(SCSI 实例)

被管理的 SCSI 实例。

ocf:LVM

ocf:LVM — LVM 资源代理

摘要

[OCF_RESKEY_volgrpname=string]

Page 108: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

86

LVM [start | stop | status | monitor | methods |meta-data | validate-all]

描述

LVM 资源代理脚本,将 LVM 作为 HA 的一个资源进行管理。

支持的参数

OCF_RESKEY_volgrpname=Volume group name(卷组名称)

卷组的名称。

ocf:MailTo

ocf:MailTo — MailTo 资源代理

摘要

[OCF_RESKEY_email=string]

[OCF_RESKEY_subject=string]

MailTo [start |stop | status | monitor | meta-data | validate-all]

描述

MailTo 资源代理脚本,实现当发生系统切换时自动给管理员发送邮件的功能。

支持的参数

OCF_RESKEY_email=Email address(Email 地址)

系统管理员的 email 地址。

OCF_RESKEY_subject=Subject(标题)

发送的 Email 的标题。

ocf:ManageRAID

ocf:ManageRAID — 管理 RAID 设备

摘要

[OCF_RESKEY_raidname=string]

Page 109: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

附录一 OCF 资源代理

87

ManageRAID [start | stop | status | monitor |validate-all | meta-data]

描述

实现对/etc/conf.d/HB-ManageRAID 配置的 RAID 设备的启动、关闭、监控等管理功能。

支持的参数

OCF_RESKEY_raidname=RAID name(RAID 名称)

被管理 RAID 设备的名称 (在/etc/conf.d/HBManageRAID 配置中定义的设备)。

ocf:ManageVE

ocf:ManageVE — OpenVZ VE 资源代理

摘要

[OCF_RESKEY_veid=integer]

ManageVE [start | stop | status | monitor | validate-all| meta-data]

描述

该 OCF 资源代理脚本用于实现 OpenVZ VEs 的管理,请针对正常安装(包含 vzctl 工

具)的 OpenVZ 进行资源的保护。

支持的参数

OCF_RESKEY_veid=OpenVZ ID of VE

OpenVZ ID (请参考 vzlist -a 输出的所有已分配 ID 号)。

ocf:mysql

ocf:mysql — MySQL 资源代理

摘要

[OCF_RESKEY_binary=string]

[OCF_RESKEY_config=string]

[OCF_RESKEY_datadir=string]

Page 110: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

88

[OCF_RESKEY_user=string]

[OCF_RESKEY_group=string]

[OCF_RESKEY_log=string]

[OCF_RESKEY_pid=string]

[OCF_RESKEY_socket=string]

[OCF_RESKEY_test_table=string]

[OCF_RESKEY_test_user=string]

[OCF_RESKEY_test_passwd=string]

[OCF_RESKEY_enable_creation=integer]

[OCF_RESKEY_additional_parameters=integer]

mysql [start | stop |status | monitor | validate-all | meta-data]

描述

MySQL 资源代理脚本,将 MYSQL 数据库实例作为 HA 资源进行管理。

支持的参数

OCF_RESKEY_binary=MySQL binary(MySQL 二进制程序)

MySQL 二进制程序所在位置。

OCF_RESKEY_config=MySQL config(MySQL 配置文件)

MySQL 配置文件。

OCF_RESKEY_datadir=MySQL datadir(MySQL 数据文件存放目录)

MySQL 数据文件存放目录。

OCF_RESKEY_user=MySQL user(MySQL 用户)

运行 MySQL 数据库的用户。

OCF_RESKEY_group=MySQL group(MySQL 用户组)

运行 MySQL 数据库的用户组。

OCF_RESKEY_log=MySQL log file(MySQL 日志文件)

记录 mysqld 的日志文件。

OCF_RESKEY_pid=MySQL pid file(MySQL pid 文件)

Mysqld 进程文件。

Page 111: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

附录一 OCF 资源代理

89

OCF_RESKEY_socket=MySQL socket(MySQL 套接字)

Mysqld 所使用的套接字。

OCF_RESKEY_test_table=MySQL test table(MySQL 测试数据库表)

在 monitor 监控中所使用的测试数据库。

OCF_RESKEY_test_user=MySQL test user(MySQL 测试用户)

MySQL 测试用户。

OCF_RESKEY_test_passwd=MySQL test user password(MySQL 测试用户口令)

MySQL 测试用户口令。

OCF_RESKEY_enable_creation=Create the database if it does not exist(如果数据库不存在

是否创建该数据库)

如果数据库不存在是否创建该数据库。OCF_RESKEY_additional_parameters=Additional

paramters to pass to mysqld(需要传递给 mysqld 的额外参数)

在 mysqld 启动时需要传递给 mysqld 的参数(比如:--skip-external-

locking 或 –skip-grant-tables)。

ocf:o2cb

ocf:o2cb — OCFS2 成员服务分层管理器

注释:什么是 OCFS2?

一个集群文件系统能使运行在集群中所有节点并发的通过标准文件系统接口来访问存

储设备。这给管理跨越整个集群的应用系统带来方便。

OCFS1 问世于 2002 年 10 月,它是 Oracle 公司为了让 RAC 用户避免必须要与裸设备打

交道而开发出来的。这个文件系统用来存放数据库相关的文件,比如数据文件,控制文件,

在线日志文件,归档日志文件等。

OCFS2是下一代的ORACLE集群文件系统,它已经被设计成为一种为通用的文件系统,

它不仅可以存放数据库相关的文件,还可以存放 oracle 二进制文件(指 Oracle_home 下的软

件文件-译者注)和配置文件,从而使 RAC 的管理更加轻松。

o2cb 的作用是什么?

Page 112: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

90

OCFS2 有自己的集群服务结构,叫做 O2CB,O2CB 是一组集群服务,负责管理节点与

集群文件系统之间的通信,它包括:

NM:节点管理器,它对 cluster.conf 文件中所有节点进行的监控。

HB:心跳服务(Heart beat service),他在节点离开或加入 rac 时提示 up 和 down 的消息。

TCP:控制节点间的通讯。

DLM:分布式锁管理器,它持续跟踪所有的锁,锁的所有者及状态。

CONFIGFS:用户配置文件系统驱动空间,挂节点是/config

DLMFS:用户空间和内核空间 DLM 的接口。

所有这些 cluster 服务都已经被打包在 O2CB 系统服务当中,所有的操作,比如

format,mount 等,在进行这些操作以前,必须先启动 O2CB 提供的系统服务。

摘要

OCF_RESKEY_netdev=string

OCF_RESKEY_port=string

[OCF_RESKEY_ocfs2_cluster=string]

o2cb [start | stop | notify | monitor | validate-all | meta-data]

描述

该 资 源 代 理 脚 本 用 于 实 现 对 o2cb 的 管 理 , OCFS2 对 应 的 配 置 文 件 为

/etc/ocfs2/cluster.conf,通过该配置文件设定各个节点的信息,请保证各个节点配置文件保持

一致。通过 o2cb 可以实现对集群 ip 地址、挂装多个文件系统的管理。

支持的参数

OCF_RESKEY_netdev=Network device for o2cb(o2cb 网络设备)

要运行 o2cb 所需的网络设备标签。

OCF_RESKEY_port=Port number(端口号)

用于 o2cb 通信所使用的端口号。

OCF_RESKEY_ocfs2_cluster=o2cb cluster name(o2cb 集群名称)

o2cb 集群名称,建议使用默认值。

Page 113: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

附录一 OCF 资源代理

91

ocf:openldap.neoshine

ocf:openldap.neoshine — openldap 资源代理

摘要

[OCF_RESKEY_ldap_bin=string]

[OCF_RESKEY_ldap_conf=string]

[OCF_RESKEY_ldap_pidfile=string]

[OCF_RESKEY_ldap_port=integer]

[OCF_RESKEY_ldap_user=string]

[OCF_RESKEY_ldap_urls=string]

openldap.neoshine [start | stop | notify | monitor | validate-all | meta-data]

描述

openldap 资源代理脚本

支持的参数

OCF_RESKEY_ldap_bin=binary

该参数为必填参数,指定 ldap 的命令的路径。默认值为“/usr/sbin/slapd”。

OCF_RESKEY_ldap_conf=configuration file path

该参数为必填参数,指定 ldap 的配置文件的路径。默认值为“/etc/openldap/slapd.conf”。

OCF_RESKEY_ldap_pidfile=pidfile

该参数指定一个 ldap 的进程 id 文件。默认值为“/var/run/openldap/slapd.pid”

OCF_RESKEY_ldap_port=port number

指定 ldap 服务器的端口号。默认值为“389”。

OCF_RESKEY_ldap_user=user

指定 ldap 服务器的用户名。默认值为“ldap”

OCF_RESKEY_ldap_urls=urls

如果想运行 ldap 服务器在普通模式或者 TLS 模式或者用 ssl ldaps,那么需要指定该参

数。

Page 114: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

92

ocf:oracle

ocf:oracle — oracle 资源代理

摘要

OCF_RESKEY_sid=string

[OCF_RESKEY_home=string]

[OCF_RESKEY_user=string]

[OCF_RESKEY_ipcrm=string]

oracle [start | stop| status | monitor | validate-all | methods | meta-data]

描述

oracle 资源代理脚本

支持的参数

OCF_RESKEY_sid=sid(sid 名称)

Oracle SID (ORACLE_SID)。

OCF_RESKEY_home=home(ORACLE_HOME 值)

Oracle 数据库主目录(aka ORACLE_HOME),如果为设置该变量,定义的 SID 对应的

ORACLE_HOME 在/etc/oratab 中列出。

OCF_RESKEY_user=user(oracle 所属用户)

Oracle 所属用户(ORACLE_OWNER),如果未设置该变量,该变量将设置为

$ORACLE_HOME/dbs/*${ORACLE_SID}.ora 的所属用户。

OCF_RESKEY_ipcrm=ipcrm

由于 Oracle 实例异常可能导致所使用的 IPC(共享内存段、信号)没有及时被清除可能

导致 Oracle 实例不能正常启动。通常情况下多个数据库实例可能使用相同所属用户运行,

所以要清楚的标识共享内存段对应的数据库实例是非常困难的。我们可以使用"oradebug"或

IPC 工具进行分析,虽然通过 oracle 调试信息进行 IPC 信息的分析过于复杂,但这也是唯一

有效的方法。我们可以使用一些选项来验证通过分析跟踪文件获取信息是否正确。

- none 不进行任何 IPC 处理。

- instance 确定 oracle 实例所使用的 IPC 并清除对应的 IPC,采用该选项只清除我们需

要清除的 IPC,对于其它用户和其它应用所使用的 IPC 不进行清除,使用该选项比较安全。

Page 115: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

附录一 OCF 资源代理

93

- orauser 清除所属该用户的所有 IPC,该选项存在风险,如果多个实例或不同应用使用

相同的 orauser,使用该选项将清除所有 orauser 所属的 IPC,导致其它实例或应用运行错误。

默认选项 instance 相对于其它选项比较安全,但使用 instance 并不能确保实例一定可以

正常启动。如果 oracle 实例异常退出或被用户强制关闭,将导致系统无法确定 IPC 是被那个

实例所使用的,所以无法正常释放该资源,这种情况下就需要用户认为确定并清除不在使用

的 IPC 消息队列。通常针对不同实例和不同应用采用不同的用户启动时,采用 orauser 选项

比较安全。用户可根据自身应用的实际情况决定所使用的扩展选项。

注释:什么是 IPC?

IPC(Internet Process Connection)是共享"命名管道"的资源,通过 IPC 可以实现进程间通

信,所以它是为了让进程间通信而开放的命名管道。应用服务创建的消息队列退出后没有删

除,我们要使用 ipcrm 命令来删除不再使用的消息队列,可以使用 ipcs 进行消息队列的查询。

ocf:oralsnr

ocf:oralsnr — oralsnr 资源代理

摘要

OCF_RESKEY_sid=string

[OCF_RESKEY_home=string]

[OCF_RESKEY_user=string]

OCF_RESKEY_listener=string oralsnr [start |stop | status | monitor | validate-all | meta-data |

methods]

描述

Oracle 监听程序资源代理脚本,将 Oracle 监听实例作为 HA 资源进行管理。

支持的参数

OCF_RESKEY_sid=sid

Oracle SID,主要在进行监控时需要使用,比如 tnsping。

OCF_RESKEY_home=home(ORACLE_HOME)

Oracle 数据库主目录(aka ORACLE_HOME),如果为设置该变量,定义的 SID 对应的

Page 116: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

94

ORACLE_HOME 在/etc/oratab 中列出。

OCF_RESKEY_user=user(用户名)

运行监听实例的用户。

OCF_RESKEY_listener=listener(监听名)

启动的 Listener 实例(在 listener.ora 定义)。默认为 LISTENER。

ocf:pgsql

ocf:pgsql — pgsql 资源代理

摘要

[OCF_RESKEY_pgctl=string]

[OCF_RESKEY_start_opt=string]

[OCF_RESKEY_ctl_opt=string]

[OCF_RESKEY_psql=string]

[OCF_RESKEY_pgdata=string]

[OCF_RESKEY_pgdba=string]

[OCF_RESKEY_pghost=string]

[OCF_RESKEY_pgport=string]

[OCF_RESKEY_pgdb=string]

[OCF_RESKEY_logfile=string]

[OCF_RESKEY_stop_escalate=string]

pgsql [start | stop | status | monitor |meta-data | validate-all | methods]

描述

PostgreSQL 资源代理脚本,将 PostgreSQL 作为 HA 一个资源进行管理。

支持的参数

OCF_RESKEY_pgctl=pgctl(pgctl 命令路径)

pg_ctl 命令路径。

OCF_RESKEY_start_opt=start_opt(启动选项)

Page 117: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

附录一 OCF 资源代理

95

Start 选项(-o start_opt),例如:"-i -p 5432"

OCF_RESKEY_ctl_opt=ctl_opt(ctl_opt 选项)

扩展 pg_ctl 选项 (例如:-w, -W),默认为""。

OCF_RESKEY_psql=psql(psql 命令路径)

psql 命令路径。

OCF_RESKEY_pgdata=pgdata(PostgreSQL 数据存放的目录)

PostgreSQL 数据存放的目录路径。

OCF_RESKEY_pgdba=pgdba(PostgreSQL 所属用户)

PostgreSQL 所属用户。.

OCF_RESKEY_pghost=pghost(PostgreSQL 监听的主机名/IP 地址)

PostgreSQL 监听的主机名/IP 地址。

OCF_RESKEY_pgport=pgport(PostgreSQL 监听端口)

PostgreSQL 监听端口。

OCF_RESKEY_pgdb=pgdb(用于监控的数据库名)

用于监控的数据库名。

OCF_RESKEY_logfile=logfile(PostgreSQL 服务器日志存放路径)

PostgreSQL 服务器日志存放路径。

OCF_RESKEY_stop_escalate=stop escalation(关闭加速)

在使用-m 加速重新排序以前,重试的次数。

ocf:pingd

ocf:pingd — pingd 资源代理

摘要

[OCF_RESKEY_pidfile=string]

[OCF_RESKEY_user=string]

[OCF_RESKEY_dampen=integer]

[OCF_RESKEY_set=integer]

Page 118: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

96

[OCF_RESKEY_name=integer]

[OCF_RESKEY_section=integer]

[OCF_RESKEY_multiplier=integer]

[OCF_RESKEY_host_list=integer]

pingd [start | stop | monitor | meta-data | validate-all]

描述

Pingd 资源代理脚本,在 CIB 文件中记录了可以连接的 ping 节点的数量。

支持的参数

OCF_RESKEY_pidfile=PID(PID 文件)

PID 文件,默认为/tmp/pingd.pid。

OCF_RESKEY_user=运行 pingd 服务的用户

运行 pingd 服务的所属用户。

OCF_RESKEY_dampen=Dampening interval(等待的时间)

在 CIB 更新以前,不作任何修改等待的时间。

OCF_RESKEY_set=Set name(设置名称)

设置的属性名称,默认为 cib-bootstrap-options。

OCF_RESKEY_name=Attribute name

设置节点属性的名称,默认为 pingd。

OCF_RESKEY_section=Section name(Section 名称)

CIB 中定义的属性,默认为 status。

OCF_RESKEY_multiplier=Value multiplier

在 CIB 文件中为每一个已连接节点设置的值,默认为 1。

OCF_RESKEY_host_list=Host list

在 ha.cf 中定义监控的 ping 节点清单。

ocf:portblock

ocf:portblock — portblock 资源代理

Page 119: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

附录一 OCF 资源代理

97

摘要

[OCF_RESKEY_protocol=string]

[OCF_RESKEY_portno=integer]

[OCF_RESKEY_action=string]

portblock [start | stop | status | monitor | metadata| validate-all]

描述

Portblock 资源代理脚本,通过 iptables 实现临时阻断端口功能。

支持的参数

OCF_RESKEY_protocol=protocol(协议)

允许和禁止的协议。

OCF_RESKEY_portno=portno(端口号)

允许和禁止的端口。

OCF_RESKEY_action=action(动作)

执行的允许和禁止的操作(协议::端口)

ocf:postfix

ocf:postfix —OCF postfix 资源脚本

摘要

[OCF_RESKEY_postfix=string]

[OCF_RESKEY_ip=string]

postfix [start | stop | status | monitor | meta-data | validate-all]

描述

用于管理 postfix 资源的 OCF 脚本

支持的参数

OCF_RESKEY_postfix=postfix server file path(postfix 服务器文件路径)

OCF_RESKEY_ip=postfix server ip address(postfix 服务器 ip 地址)

Page 120: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

98

ocf:Pure-FTPd

ocf:Pure-FTPd — OCF FTP 资源脚本。

摘要

OCF_RESKEY_script=string

OCF_RESKEY_conffile=string

OCF_RESKEY_daemon_type=string

[OCF_RESKEY_pidfile=string]

Pure-FTPd [start | stop | monitor | validate-all | meta-data]

描述

用于管理 Pure-FTPd 资源代理脚本。

支持的参数

OCF_RESKEY_script=Script name with full path(pure-ftpd 启动脚本存储路径)

pure-ftpd 启动脚本存储绝对路径,例如“/sbin/pure-config.pl”。

OCF_RESKEY_conffile=Configuration file name with full path(配置文件存储路径)

Pure-FTPd 配置文件存储的绝对路径。例如:/etc/pure-ftpd/pure-ftpd.conf。

OCF_RESKEY_daemon_type=Configuration file name with full path

Pure-FTPd 守护进程,有效选项“”为 pure-ftpd、"mysql"为 pure-ftpd-mysql、“postgresql

“为 pure-ftpd-postgresql、"ldap" 为 pure-ftpd-ldap。

OCF_RESKEY_pidfile=PID file(PID 文件)

ocf:Raid1

ocf:Raid1 — RAID1 资源代理

摘要

[OCF_RESKEY_raidconf=string]

[OCF_RESKEY_raiddev=string]

Page 121: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

附录一 OCF 资源代理

99

[OCF_RESKEY_homehost=string]

Raid1 [start | stop | status | monitor | validateall| meta-data]

描述

RAID1 资源代理脚本,用于管理共享存储中的软 Raid1 设备。

支持的参数

OCF_RESKEY_raidconf=RAID config file(RAID 配置文件)

RAID 配置文件,比如/etc/raidtab、/etc/mdadm.conf。

OCF_RESKEY_raiddev=block device(块设备)

使用的块设备。

OCF_RESKEY_homehost=Homehost for mdadm

Mdadm 设置的 Homehost 值。应用 mdadm 时设置的 –homehost 选项对应的值。该值

可以设置为<system>或主机名,如果设置为<system>,将使用 gethostname(2)系统调用获取

对应主机名。当阵列创建时主机名存储在阵列的 metadata 中,当阵列采用 auto-assembly 创

建,只有主机名存储在 metadata 中的阵列才会被自动加载。

ocf:rsyncd

ocf:rsyncd — OCF 资源代理 rsync 守护进程脚本。

摘要

[OCF_RESKEY_binpath=string]

[OCF_RESKEY_conffile=string]

[OCF_RESKEY_bwlimit=string]

rsyncd [start | stop | monitor | validate-all | metadata]

描述

使用于 Rsync 守护进程管理脚本。

支持的参数

OCF_RESKEY_binpath=Full path to the rsync binary(rsync 二进制程序路径)

rsync 二进制程序路径,例如“/usr/bin/rsync”。

Page 122: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

100

OCF_RESKEY_conffile=Configuration file name with full path(配置文件存放的绝对路

径)

Rsync 守护进程配置文件名(包含绝对路径),例如“/etc/rsyncd.conf”。

OCF_RESKEY_bwlimit=limit I/O bandwidth, KBytes per second(每秒同步的 I/O 数量,

以 KB 为单位)。

该选型允许用户设置传输的最大速率 KB/每秒,针对大文件传输该选项是非常有用的,

使用 rsync 进行数据传输时采用数据块的方式发送数据,该选项用于限制传输数据的速率,

如果设置为 0,则不进行传输速率的限制。

ocf:SAPDatabase

ocf:SAPDatabase — SAP 数据库资源代理

摘要

OCF_RESKEY_SID=string

OCF_RESKEY_DIR_EXECUTABLE=string

OCF_RESKEY_DBTYPE=string

OCF_RESKEY_NETSERVICENAME=string

OCF_RESKEY_DBJ2EE_ONLY=boolean

OCF_RESKEY_JAVA_HOME=string

OCF_RESKEY_STRICT_MONITORING=boolean

OCF_RESKEY_AUTOMATIC_RECOVER=boolean

OCF_RESKEY_DIR_BOOTSTRAP=string

OCF_RESKEY_DIR_SECSTORE=string

OCF_RESKEY_PRE_START_USEREXIT=string

OCF_RESKEY_POST_START_USEREXIT=string

OCF_RESKEY_PRE_STOP_USEREXIT=string

OCF_RESKEY_POST_STOP_USEREXIT=string

SAPDatabase [start | stop | status| monitor | validate-all | meta-data | methods]

Page 123: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

附录一 OCF 资源代理

101

描述

SAP 数据库资源代理脚本,将各种类型的 SAP 数据库作为高可用资源进行管理。

支持的参数

OCF_RESKEY_SID=SAP system ID(SAP 系统 ID)

SAP 系统标识,例如 P01。

OCF_RESKEY_DIR_EXECUTABLE=path of sapstartsrv and sapcontrol(sapstartsrv 和

sapcontrol 存放路径)

sapstartsrv 和 sapcontrol 存放的绝对路径。

OCF_RESKEY_DBTYPE=database vendor(数据库厂商)

你所使用的数据库厂商名称,例如:ORA,DB6,ADA。

OCF_RESKEY_NETSERVICENAME=listener name(监听名称)

Oracle TNS 监听名称。

OCF_RESKEY_DBJ2EE_ONLY=only JAVA stack installed(只应用 JAVA stack)

在 SAP 数据库中你未安装 ABAP stack ,请设置该值为 TRUE。

OCF_RESKEY_JAVA_HOME=Path to Java SDK(Java SDK 存储路径)

当设置 DBJ2EE_ONLY 为 TRUE 时,请设置该参数为 Java SDK 程序存储的绝对路径,

SAP WebAS Java 需要使用该 java SDK。

OCF_RESKEY_STRICT_MONITORING=Activates application level monitoring(激活应

用监控级别)

该选项用于控制资源代理脚本如何监控数据库,如果设置为 true,资源代理脚本将使用

SAP 工具进行数据库连接的测试,请不要使用 oracle 数据库,将引起监控错误并发生失效切

换。

OCF_RESKEY_AUTOMATIC_RECOVER=Enable or disable automatic startup recovery

(开启或关闭自动启动修复)

The SAPDatabase 资源代理脚本将自动尝试一次修复失效的服务,该操作将强制退出

RDBMS 并执行修复命令。

OCF_RESKEY_DIR_BOOTSTRAP=path to j2ee bootstrap directory(j2ee bootstrap 存储路

径)

J2EE bootstrap 存储的绝对路径,

Page 124: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

102

例如/usr/sap/P01/J00/j2ee/cluster/bootstrap。

OCF_RESKEY_DIR_SECSTORE=path to j2ee secure store directory(J2ee 安全存储路径)

J2ee 安全存储绝对路径,例如/usr/sap/P01/SYS/global/security/lib/tools.

OCF_RESKEY_PRE_START_USEREXIT= path to a pre-start script(pre-start 脚本路径)

在执行资源启动操作以前要执行的脚本或程序存储的绝对路径。

OCF_RESKEY_POST_START_USEREXIT=path to a post-start script(post-start 脚本路径)

在执行资源启动操作以后要执行的脚本或程序存储的绝对路径。

OCF_RESKEY_PRE_STOP_USEREXIT=path to a pre-start script(pre-start 脚本路径)

在执行资源停止操作以前要执行的脚本或程序存储的绝对路径。

OCF_RESKEY_POST_STOP_USEREXIT=path to a post-start script(post-start 脚本路径)

在执行资源停止操作以后要执行的脚本或程序存储的绝对路径。

ocf:SAPInstance

ocf:SAPInstance — SAP 实例资源脚本

摘要

OCF_RESKEY_InstanceName=string

OCF_RESKEY_DIR_EXECUTABLE=string

OCF_RESKEY_DIR_PROFILE=string

OCF_RESKEY_START_PROFILE=string

OCF_RESKEY_START_WAITTIME=string

OCF_RESKEY_AUTOMATIC_RECOVER=boolean

OCF_RESKEY_PRE_START_USEREXIT=string

OCF_RESKEY_POST_START_USEREXIT=string

OCF_RESKEY_PRE_STOP_USEREXIT=string

OCF_RESKEY_POST_STOP_USEREXIT=string

SAPInstance [start | recover |stop | status | monitor | validate-all | meta-data | methods]

描述

Page 125: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

附录一 OCF 资源代理

103

SAP 资源脚本,将 SAP 实例作为 HA 的一个资源进行管理。

支持的参数

OCF_RESKEY_InstanceName=instance name: SID_INSTANCE_VIR-HOSTNAME

SAP 全称实例名,例如 P01_DVEBMGS00_sapp01ci。

OCF_RESKEY_DIR_EXECUTABLE=path of sapstartsrv and sapcontrol(sapstartsrv 和

sapcontrol 存放路径)

sapstartsrv 和 sapcontrol 存放的绝对路径。

OCF_RESKEY_DIR_PROFILE=path of start profile(启动描述文件存储路径)

SAP START 描述文件存储的绝对路径。

OCF_RESKEY_START_PROFILE=start profile name(start 描述文件名称)

SAP START 描述文件的名称。

OCF_RESKEY_START_WAITTIME=Check the successful start after that time (do not

wait for J2EE-Addin)(检测成功启动状态等待的时间,不等待 J2EE-Addin)

一个 monitor 检测操作执行等待 START_WAITTIME 时间后,如果 monitor 返回

SUCCESS,则启动状态为 SUCCESS,该设置主要解决因 J2EE-Addin 实例导致的时间问题。

OCF_RESKEY_AUTOMATIC_RECOVER=Enable or disable automatic startup recovery

(启动或关闭自动启动修复功能)

SAP 实例资源代理脚本将自动尝试一次修复失效的服务,该操作将强制关闭实例进程

并清空 ipc。

OCF_RESKEY_PRE_START_USEREXIT=path to a pre-start script(pre-start 脚本路径)

在执行资源启动以前执行的脚本或程序存放的绝对路径。

OCF_RESKEY_POST_START_USEREXIT=path to a post-start script(post-start 脚本路径)

在执行资源启动以后执行的脚本或程序存放的绝对路径。

OCF_RESKEY_PRE_STOP_USEREXIT=path to a pre-start script(pre-start 脚本路径)

在执行资源停止操作以前执行的脚本或程序存放的绝对路径。

OCF_RESKEY_POST_STOP_USEREXIT=path to a post-start script(post-start 脚本路径)

在执行资源停止操作之后执行的脚本或程序存放的绝对路径。

Page 126: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

104

ocf:SendArp

ocf:SendArp — SendArp 资源代理

摘要

[OCF_RESKEY_ip=string]

[OCF_RESKEY_nic=string]

SendArp [start | stop |monitor | meta-data | validate-all]

描述

该脚本主要完成针对一个 IP 地址发送 ARP 包的功能。

支持的参数

OCF_RESKEY_ip=IP address(IP 地址)

为该 IP 地址发送 ARP 包。

OCF_RESKEY_nic=NIC(网络接口)

基于该网络接口发送 ARP 包。

ocf:ServeRAID

ocf:ServeRAID — ServeRAID 资源代理

摘要

[OCF_RESKEY_serveraid=integer]

[OCF_RESKEY_mergegroup=integer]

ServeRAID [start | stop | status | monitor | validate-all | meta-data | methods]

描述

ServeRAID 资源代理脚本,开启和关闭共享 ServeRAID merge groups。

支持的参数

OCF_RESKEY_serveraid=serveraid(ServerRAID 适配器号)

ServerRAID 适配器号。

OCF_RESKEY_mergegroup=mergegroup(logical 驱动)

Page 127: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

附录一 OCF 资源代理

105

创建 ServerRAID 时设置的 logical 驱动。

可以登陆 https://publib.boulder.ibm.com/infocenter/eserver/v1r2/index.jsp?topic=/diricinfo/fqy0_acluscfg.html

查看详细信息。

ocf:sfex

ocf:sfex — sfex 资源代理

摘要

OCF_RESKEY_device=string

[OCF_RESKEY_index=integer]

[OCF_RESKEY_collision_timeout=integer]

[OCF_RESKEY_lock_timeout=integer]

[OCF_RESKEY_monitor_interval=integer]

OCF_RESKEY_fsck=string

OCF_RESKEY_fsck_mode=string

OCF_RESKEY_halt=string

sfex [start | stop | status | monitor | meta-data | validate-all]

描述

sfex 的资源代理程序。防止由于脑裂损坏在共享磁盘上的数据。

支持的参数

OCF_RESKEY_device=block device

存储专用控制数据的块设备路径。

OCF_RESKEY_index=index

在用来存储专用控制数据的块设备中的位置。默认值为“1”。

OCF_RESKEY_collision_timeout=waiting time for lock acquisition

检测出占用锁冲突的超时等待时间。默认值为 1 秒。

OCF_RESKEY_lock_timeout=valid term of lock

锁的有效时间。默认值是 20 秒。

Page 128: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

106

OCF_RESKEY_monitor_interval=monitor interval

监控间隔。默认值是 10 秒。

OCF_RESKEY_fsck=fsck command line

当锁被占用的时候,该参数的值所代表的命令被执行。默认值为空。

OCF_RESKEY_fsck_mode=Condition for executing fsck

在参数“OCF_RESKEY_fsck”中设定的命令的执行条件。当锁被占用的任何时刻,如

果该值设定为“yes”,之前设定的命令将被执行;如果该值设定为“check”,则处于“未清

除”状态并且当锁被占用的时候,执行命令;如果该参数值设定为“no”,则永远不会执行

命令。

默认值为“check”。

“未清除”状态是指尽管锁由于超时而失效,但是锁数据依然存在。

OCF_RESKEY_halt=halt command line

当 sfex 占用锁的时候失败,该参数指定的命令被执行。默认值为空。

ocf:SphinxSearchDaemon

ocf:SphinxSearchDaemon — searchd 资源代理

摘要

OCF_RESKEY_config=string

[OCF_RESKEY_searchd=string]

[OCF_RESKEY_search=string]

[OCF_RESKEY_testQuery=string]

SphinxSearchDaemon [start | stop | monitor | meta-data | validate-all]

描述

searchd 资源代理程序,用于管理 Sphinx Search 守护进程。

支持的参数

OCF_RESKEY_config=Configuration file(配置文件)

searchd 配置文件。

Page 129: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

附录一 OCF 资源代理

107

OCF_RESKEY_searchd=searchd binary(searchd 二进制程序)

searchd 二进制程序。

OCF_RESKEY_search=search binary(search 二进制程序)

monitor 进行检测时需要使用的 search 程序。

OCF_RESKEY_testQuery=test query(test 查询)

Monitor 监控所进行的测试查询,该查询不需要匹配任何索引中的文档。该测试查询的

主要目的是查看 search 后台进程是否可以正常响应查询请求。

ocf:Stateful

ocf:Stateful —stateful 资源代理示例

摘要

OCF_RESKEY_state=string

Stateful [start | stop | monitor | meta-data | validateall]

描述

一个用户检索状态的资源代理脚本用例。

支持的参数

OCF_RESKEY_state=State file(状态)

存储资源状态的文件。

ocf:Sybase

ocf:Sybase — Sybase 资源代理

摘要

OCF_RESKEY_home=string

OCF_RESKEY_ace=string

OCF_RESKEY_servername=string

Page 130: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

108

OCF_RESKEY_user=string

OCF_RESKEY_password=string

Sybase [start | stop | status | monitor | meta-data | validate-all]

描述

Sybase 数据库资源代理脚本

支持的参数

OCF_RESKEY_home=home

Sybase 的安装目录

OCF_RESKEY_ace=ace

Sybase 的 ACE 目录

OCF_RESKEY_servername=servername

Sybase 数据库的服务名称

OCF_RESKEY_user=user

Sybase 数据库的用户

OCF_RESKEY_password=password

Sybase 数据库用户的密码

ocf:SysInfo

ocf:SysInfo — SysInfo 资源代理

摘要

[OCF_RESKEY_pidfile=string]

[OCF_RESKEY_delay=string]

SysInfo [start| stop | monitor | meta-data | validate-all]

描述

SysInfo 资源代理,用于记录 CIB 文件中各种节点的属性信息,例如:

Linux output:

arch: i686

Page 131: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

附录一 OCF 资源代理

109

os: Linux-2.4.26-gentoo-r14

free_swap: 1999

cpu_info: Intel(R) Celeron(R) CPU 2.40GHz

cpu_speed: 4771.02

cpu_cores: 1

cpu_load:0.00

ram_total: 513

ram_free: 117

root_free: 2.4

Sample Darwin output: arch: i386

os:Darwin-8.6.2

cpu_info: Intel Core Duo

cpu_speed: 2.16

cpu_cores: 2

cpu_load: 0.18

ram_total: 2016

ram_free: 787

root_free: 13

Units: free_swap:

Mb ram_*: Mb

root_free:Gb

cpu_speed (Linux): bogomips

cpu_speed (Darwin): Ghz

支持的参数

OCF_RESKEY_pidfile=PID file(PID 文件)

PID 文件。

OCF_RESKEY_delay=Dampening Delay(稳定获取属性值的间隔)

稳定获取属性值的间隔。

Page 132: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

110

ocf:tomcat

ocf:tomcat — tomcat 资源代理

摘要

OCF_RESKEY_tomcat_name=string

OCF_RESKEY_script_log=string

[OCF_RESKEY_tomcat_stop_timeout=integer]

[OCF_RESKEY_tomcat_suspend_trialcount=integer]

[OCF_RESKEY_tomcat_user=string]

[OCF_RESKEY_statusurl=string]

OCF_RESKEY_java_home=string

OCF_RESKEY_catalina_home=string

OCF_RESKEY_catalina_pid=string

tomcat [start | stop | status | monitor | metadata| validate-all]

描述

Tomcat 资源代理脚本。将 Tomcat 实例作为 HA 资源进行管理。

支持的参数

OCF_RESKEY_tomcat_name=The name of the resource(资源的名称)

资源的名称。

OCF_RESKEY_script_log=A destination of the log of this script(记录脚本执行信息的日志

文件)

记录脚本执行信息的日志文件。

OCF_RESKEY_tomcat_stop_timeout=Time-out at the time of the stop(执行 stop 操作的超

时时间)

执行 stop 操作的超时时间。

OCF_RESKEY_tomcat_suspend_trialcount=The re-try number of times

awaiting a stop(等待 stop 操作结束重试的次数)

等候 stop 操作结束重试的次数。

Page 133: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

附录一 OCF 资源代理

111

OCF_RESKEY_tomcat_user=A user name to start a resource(启动 tomcat 服务的所属用户

名)

用户启动 tomcat 服务的用户名。

OCF_RESKEY_statusurl=URL for state confirmation(服务状态确定的 URL)

服务状态确定的 URL。

OCF_RESKEY_java_home=Home directory of the Java(JAVA_HOME 定义)

Java 主目录。

OCF_RESKEY_catalina_home=Home directory of Tomcat(Tomcat 主目录)

Tomcat 主目录。

OCF_RESKEY_catalina_pid=A PID file name of Tomcat(Tomcat PID 文件名)

Tomcat PID 文件名。

ocf:VIPArip

ocf:VIPArip —RIP2 协议的虚拟 IP 地址服务资源代理

摘要

OCF_RESKEY_ip=string

[OCF_RESKEY_nic=string]

VIPArip [start | stop |monitor | validate-all | meta-data]

描述

RIP2 协议的虚拟 IP 地址,该资源代理脚本通过 quagga/ripd 完成不同子网 IP 别名的管

理。可以通过该脚本添加、删除 IP 别名。

支持的参数

OCF_RESKEY_ip=The IP address in different subnet(IP 地址所在的不同子网网段)

IPv4 不同子网网段,例如“192.168.1.1”。

OCF_RESKEY_nic=The nic for broadcast the route information(广播路由信息所使用的网

络接口)

广播路由信息所使用的网络接口,ripd 使用该网络接口给其它子网广播路由信息。

Page 134: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

112

ocf:vsftp

ocf:vsftp— vsftp 资源代理

摘要

[OCF_RESKEY_conf=string]

[OCF_RESKEY_vsftp=string]

vsftp [start | stop | status | monitor | meta-data | validate-all]

描述

vsftp 资源代理脚本

支持的参数

OCF_RESKEY_conf=configuration file name with full path

vsftp 服务器配置文件的路径。默认值为“/etc/vsftpd/vsftpd.conf”

OCF_RESKEY_vsftp=vsftp binary

vsftp 命令的路径。默认值为“/usr/sbin/vsftpd”

ocf:WAS6

ocf:WAS6 — WAS6 资源代理

摘要

[OCF_RESKEY_profile=string]

WAS6 [start | stop | status | monitor | validate-all |meta-data | methods]

描述

WAS6 资源代理脚本,将 Websphere Application Server (WAS6) 作为 HA 的一个资源进

行管理。

支持的参数

OCF_RESKEY_profile=profile name(描述文件名)

Page 135: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

附录一 OCF 资源代理

113

WAS 描述文件名。

ocf:WAS

ocf:WAS — WAS 资源代理

摘要

[OCF_RESKEY_config=string]

[OCF_RESKEY_port=integer]

WAS [start | stop |status | monitor | validate-all | meta-data | methods]

描述

WAS 资源代理脚本,将 Websphere Application Server (WAS)作为 HA 的一个资源进行管

理。

支持的参数

OCF_RESKEY_config=configration file(配置文件)

WAS 的配置文件。

OCF_RESKEY_port=port(端口)

WAS 监听端口号。

ocf:weblogic

ocf:weblogic — weblogic 资源代理

摘要

OCF_RESKEY_beahome=string

OCF_RESKEY_domainname=string

OCF_RESKEY_proxyname=string

OCF_RESKEY_adminiserverip=string

OCF_RESKEY_port=string

Page 136: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

114

weblogic [start | stop | status | monitor | meta-data | validate-all]

描述

weblogic 中间件的资源代理脚本

支持的参数

OCF_RESKEY_beahome=beahome

weblogic 用户的家目录

OCF_RESKEY_domainname=the domain name

weblogic 的域的名字

OCF_RESKEY_proxyname=proxy server name

代理服务器的名字

OCF_RESKEY_adminiserverip=admini server ip

管理服务器的 ip 地址

OCF_RESKEY_port=admini server port

管理服务器的端口号

ocf:WinPopup

ocf:WinPopup — WinPopup 资源代理

摘要

[OCF_RESKEY_hostfile=string]

WinPopup [start | stop | status | monitor | validateall| meta-data]

描述

WinPopup 资源代理脚本,当发生切换操作时,通过发送 WinPopups 信息给系统管理员。

支持的参数

OCF_RESKEY_hostfile=Host file(主机名信息文件)

发送 WinPopup 信息到指定的目标主机名所存储的文件。

Page 137: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

附录一 OCF 资源代理

115

ocf:Xen

ocf:Xen —管理 Xen DomUs 的资源代理

摘要

[OCF_RESKEY_xmfile=string]

[OCF_RESKEY_allow_migrate=boolean]

[OCF_RESKEY_allow_mem_management=boolean]

[OCF_RESKEY_reserved_Dom0_memory=string]

[OCF_RESKEY_monitor_scripts=string]

Xen [start | stop | migrate_from | migrate_to | status | monitor | meta-data | validate-all]

描述

Xen Hypervisor 的资源代理脚本,通过分别映射集群资源启动、关闭、创建 XEN 和关

闭 XEN 等操作实现对 Xen 虚拟主机实例的管理。半虚拟化的客户机可以通过设置

meta_attribute 的 allow_migrate 实现迁移。

支持的参数

OCF_RESKEY_xmfile=Xen control file(Xen 控制文件)

该虚拟主机 Xen 的控制文件存储的绝对路径。

OCF_RESKEY_allow_migrate=Use live migration(使用在线迁移)

该布尔值设置是否允许在线迁移半虚拟化主机。

OCF_RESKEY_allow_mem_management=Use dynamic memory management(使用动态内

存管理)

该参数允许动态调整启动和关闭的 Dom0 和 DomUs 的内存。默认不允许动态调整内存。

OCF_RESKEY_reserved_Dom0_memory=Minimum Dom0 memory(Dom0 最小内存容

量)

如果使用内存管理可以设置 dom0 使用的最小内存容量,默认最小内存为 512MB。

OCF_RESKEY_monitor_scripts=list of space separated monitor scripts(用空格分割的监控

脚本列表)

如果要额外监控非特权域运行的服务,添加该参数并设置要监控的脚本列表。To

additionally monitor services within the unprivileged domain, add this parameter

Page 138: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

116

with a list of scripts to monitor。注意:请设置监控操作的 start-delay,设置的时间至少应

该满足 DomU 启动所有服务所需的时间。

ocf:Xinetd

ocf:Xinetd — Xinetd 资源代理

摘要

[OCF_RESKEY_service=string]

Xinetd [start | stop | restart | status | monitor |

validate-all | meta-data]

描述

Xinetd 资源代理脚本,用于启动/停止 xinetd 管理的服务。请注意: xinetd 守护进程必

须运行,通过该脚本并不针对 xinetd 服务进行启动和关闭,而是针对通过 xinetd 管理的服务

进行管理,如果你希望 HA 服务关闭后该 xinetd 依然可以在后台运行,请设置-stayalive 选

项。

当然要使用 xinetd 提供某些服务你需要针对这些服务的配置进行修改,比如 telnet、echo

等。

支持的参数

OCF_RESKEY_service=service name(服务名称)

Xinetd 管理的服务名称。

Page 139: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

附录二 术语表

117

附录二 术语表

CRM:cluster resource manager

从这个名字就可以看出这个模块是整个 HA 的一个中心,整个系统的一个大脑了,他主

要负责整个系统的各种资源的当前配置信息,以及各个资源的调度。也就是根据各资源的配

置信息,以及当前的运行状况来决定每一个资源(或者资源组)到底该在哪个节点运行。不

过这些事情并不是他直接去做的,而是通过调度其它的一些模块来进行。通过 HA 模块来进

行节点之间的通信,调度节点之间的工作协调。随时将通过 heartbeat 模块收集到的各个成

员节点的基本信息转交给 CCM 某块来更新整个集群的 membership 信息。他指挥 LRM(local

resource manager)对当前节点的各资源执行各种相应的操作(如 start、stop、restart 和 monitor

等等),同时也接收 LRM 在进行各种操作的反馈信息并作出相应的决策再指挥后续工作。

另外CRM模块还负责将各个模块反馈回来的各种信息通过调用设定的日志记录程序记录到

日志文件中。

LRM:local resource manager

LRM 是整个 HA 系统中直接操作所管理的各个资源的一个模块,负责对资源的监控,

启动,停止或者重启等操作。这个模块目前支持有四种类型的资源代理(resource agent):

Heartbeat

ocf(open cluster framework)

lsb(Linux standard base)

stonith

四种类型的 resource agent 中的前三种所调用的脚本分别存如下路径:

heartbeat:/etc/ha.d/resource.d/

ocf:/usr/lib/resource.d/heartbeat/

lsb:/etc/init.d/

LRM 就是通过调用以上路径中存储的各种脚本来实现对资源的各种操作。每一种类型

的脚本都可以由用户自定义,只要支持各类型的标准即可。实际上这里的标准就是接受一个

标准的调用命令和参数格式,同时返回符合标准的值即可。至于脚本中的各种操作时如何的

Page 140: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

118

LRM 并不关心。

PE:CRM Policy Engine

他主要负责将 CRM 发过来的一些信息按照配置文件中的各种设置来进行计算,分析。

然后将结果信息按照某种固定的格式通过 CRM 提交给 TE(Transition Engine)去分析出后

续需要采取的相应的动作。PE 需要计算分析的信息主要是当前有哪些节点,各节点的状况,

当前管理有哪些资源,各资源当前在哪一个节点,在各个节点的状态如何等等。

TE:Transition engine

主要工作是分析 PE 的计算结果,然后根据配置信息转换成后续所需的相应操作。个人

感觉 PE 和 TE 组合成一个类似于规则引擎实现的功能,而且 PE 和 TE 这两个模块只有在处

于 active 的节点被启动。另外 PE 和 TE 并不直接通信,而都是通过高可用的指挥中心 CRM

来传达信息的。

CIB:cluster information base

CIB 在系统中负责保存当前集群中各资源原始配置以及动态变化了的状态,统计信息收

集分发中心,是一个不断更新的信息库。当他收集到任何资源的变化,以及节点统计信息的

变化后,都会集成整合到一起组成当前集群最新的信息,并分发到集群各个节点。分发动作

并不是自己和各个节点通信,同样也是通过 心跳模块来做的。

CIB 收集整理并汇总出来的信息是以一个 xml 格式保存起来的。该文件实际上就是 CIB

的信息库文件。在运行过程中,CIB 可能会常读取并修改该文件的内容,以保证信息的更新。

CCM:consensus cluster membership

CCM 的最主要工作就是管理集群中各个节点的成员以及各成员之间的关系。他让集群

中各个节点有效的组织称一个整体,保持着稳定的连接。Heartbeat 模块所担当的只是一个

通信工具,而 CCM 是通过这个通信工具来将各个成员连接到一起成为一个整体。

LOGD:logging daemon(non-blocking)

一个无阻塞的日志记录程序,主要负责接收 CRM 从各个其它模块所收集的相关信息,

然后记录到指定额度日志文件中。当 logd 接收到日志信息后会立刻返回给 CRM 反馈。并不

Page 141: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

附录二 术语表

119

是一定要等到将所有信息记录到文件后再返回,日志信息的记录实际上是一个异步的操作。

APPHBD:application heartbeat daemon

apphbd 模块实际上是给各个模块中可能需要用到的计时用的服务,是通过 watchdog 来

实现的。

RMD:recovery manager daemon

主要功能是进程恢复管理,接受从 apphbd 所通知的某个(或者某些)进程异常退出或

者失败或者挂起后的恢复请求。RMD 在接受到请求后会作出 restart(如果需要可能会有 kill)

操作。

STONITH

Stonith 即 shoot the other node in the head,在高可用集群中实现节点隔离和阻断的功能。

Stonith 设备是一种能够自动关闭电源来响应软件命令的设备。

Split-Brain

脑裂:当节点之间都不能正确获取到对方节点状态时会出现脑裂的情况。可以通过使用

fencing 设备或采用创建多个通信链路的方法解决通信的单点故障导致集群出现脑裂的问

题。了解更多信息请登陆 http://www.Linux-ha.org/SplitBrain。

DRBD

DRBD 是 Linux 操作系统内核模块和相关脚本而构成的一个分布式远程块设备。它允

许您在远程主机上建立一个本地块设备的实时镜像。DRBD 工作原理:

每个设备(drbd 提供了不止一个设备)都有一个状态,可能是‘主’状态或‘辅助’

状态。在主要设备(Master)的节点上,应用程序运行和访问设备(/dev/nbX)。每次写入都

会发往本地低层设备和带有‘辅助’状态(Slave)设备的节点中。次要设备只能简单地把

数据写入它的低层块设备上。读取数据通常在本地进行。如果主要节点发生故障,心跳将会

把辅助设备转换到主状态,并启动其上的应用程序。(如果您将它和无日志 FS 一起使用,

则需要运行 fsck)。如果发生故障的节点恢复工作,它就会成为新的辅助节点,而且必须使

自己的内容与主节点的内容保持同步。当然,这些操作不会干扰到后台的服务。

Page 142: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

中标麒麟高可用集群软件技术白皮书

120

EVMS

EVMS(Enterprise Volume Management System)企业级分卷管理系统是一个更灵活的工

具,从低级的 RAID 和 LVM 功能到高级的用于管理分区、RAID 阵列、逻辑卷和文件系统

的命令行和图形工具,EVMS 可以提供比单独的 RAID 更加优秀和完善的“一条龙”存储管

理解决方案。

iSCSI

iSCSI(互联网小型计算机系统接口)是一种在 Internet 协议网络上,特别是以太网上 进

行数据块传输的标准。它是由 Cisco 和 IBM 两家发起的,并且得到了 IP 存储技术拥护者 的

大力支持。是一个供硬件设备使用的可以在 IP 协议上层运行的 SCSI 指令集。简单地说,

iSCSI 可以实现在 IP 网络上运行 SCSI 协议,使其能够在诸如高速千兆以太网上进行路由选

择。

Ldirectord

在 LVS 集群中 Ldirectord 负责监测 Real Server,当 Real Server 失效时,把它从 Load

Balancer 列表中删除,恢复时重新添加。

OCFS2

一个集群文件系统能使运行在集群中所有节点并发的通过标准文件系统接口来访问存

储设备。这给管理跨越整个集群的应用系统带来方便。

OCFS1 问世于 2002 年 10 月,它是 Oracle 公司为了让 RAC 用户避免必须要与裸设备打

交道而开发出来的。这个文件系统用来存放数据库相关的文件,比如数据文件,控制文件,

在线日志文件,归档日志文件等。

OCFS2是下一代的ORACLE集群文件系统,它已经被设计成为一种为通用的文件系统,

它不仅可以存放数据库相关的文件,还可以存放 oracle 二进制文件(指 Oracle_home 下的软

件文件-译者注)和配置文件,从而使 RAC 的管理更加轻松。

IPC

IPC(Internet Process Connection)是共享“命名管道”的资源,通过 IPC 可以实现进程

Page 143: 技术白皮书 - cs2c.com.cncs2c.com.cn/datacache/upload/download/5Lit5qCH6bqS... · 中标麒麟高可用集群软件v5.0 技术白皮书 上海中标软件有限公司 上海市徐汇区番禺路1028

附录二 术语表

121

间通信,所以它是为了让进程间通信而开放的命名管道。应用服务创建的消息队列退出后没

有删除,我们要使用 ipcrm 命令来删除不再使用的消息队列,可以使用 ipcs 进行消息队列的

查询。