转:RHEL6.1上安装配置RHCS

时间:2022-09-18 17:50:54
RHEL6.1上安装配置RHCS(红帽集群套件)
2012年08月30日  ⁄ linux高级特性  ⁄ 暂无评论

Red Hat 高可用性附加组件可让您连接到作为集群使用的一组计算机(称之为节点或者成员)。您可使用 Red Hat 高可用性附加组件适应您的集群需要(例如:为 GFS2 文件系统中的共享文件设置集群,或者设置服务故障切换)。

1、红帽企业版 Linux 6.1 中新的和更改的功能

红帽企业版 Linux 6.1 包括以下文档和功能更新及更改:

(1)从红帽企业版 Linux 6.1 发行本开始,红帽高可用性附加组件提供 SNMP 陷阱支持。

(2)从红帽企业版 Linux 6.1 发行本开始,红帽高可用性附加组件支持 ccs 集群配置命令。

(3)已更新使用 Conga 配置和管理红帽高可用性附加组件软件的文档,包括更新的 Conga 页面和功能支
持。

(4)从红帽企业版 Linux 6.1 发行本开始,使用 ricci 需要在您第一次在任意节点中传播更新的集群配
置文件时输入密码。

(5)您现在可为服务指定 Restart-Disable 失败策略,表明该系统应该在其失败的地方尝试重启,但如
果重启服务失败,则会禁用该服务而不是将其移动到该集群的另一台主机中。

(6)您现在可以将独立子树配置为 non-critical,表示如果该资源失败,只禁用那个资源。

2、RHCS(Red Hat Cluster Suite)工作原理:

转:RHEL6.1上安装配置RHCS

图中各组件说明:

(1)cman集群管理器

cman是一个基于内核的对称通用集群管理器。它由两部分组成:连接管理器 (cnxman),用于处理成员、消息、投票数、事件通知和过渡;服务管理器(SM),用于处理那些需要通过各种方式进行集群管理的应用及外部系统。 cman是RHCS中最核心的服务,可通过系统中的serivce命令进行启/停操作;DLM、GFS、CLVM及Fence都依赖于cman群集管理 器。

(2)rgmanager资料组管理器

rgmanager(Resource Group Manager)基于cman并使用DLM动态锁管理机制。与cman一样,rgmanager也是RHCS中的一个核心服务,可通过系统中的 serivce命令进行启/停操作;rgmanager管理并为集群中的Service(服务)和Resources(资源)提供Failover错误切 换功能。

(3)Service(服务)

每个服务都被指定存在于一个Failover Domain中,并与多个Resources(资源)关联。每个服务可以理解为实际操作中的一个应用,如Web服务器、Java中间件、数据库、文件共享 系统、邮件系统等。这些应用在运行时不但对应用程序本身有要求(如某个运行指令或多个运行脚本的组合),还要提供对诸如虚拟IP、文件系统等资源的支持。

(4)Failover Domain(错误切换域)

每 个Failover Domain都与两个或两个以上的Node(服务器节点)进行绑定,Failover Domain指定了集群中某个Service运行时的范围,也就是指定此Service将会由哪些服务器提供Failover错误切换功能。每个Node 都允许与多个Failover Domain进行绑定,也就是说每个Node都可以为多个Service服务,因此可以实现"主动/主动(双活动)"方式的集群配置。

(5)Resources(资源)

Resources 指的是组成一个应用所需的各种组件,通常包括:应用程序、虚拟IP、文件系统。资源与Service组合时,往往还会体现出一定的层次关系,例如:通常系 统都要求确认虚拟IP及文件系统都已经正常连接及挂载后,才可以运行某个应用程序,这个顺序一旦调转,就会使应用程序运行出错。

(6)Fence机制

在 RHCS集群运行时,为了避免因出现不可预知的情况而造成的"脑裂"现象(如:心跳线断连,此时两台服务器都无法找到对方,无法向对方发出操作指令,都各 自认为自己是主节点;又或者主服务器系统崩溃,系统能接收到备用服务器的操作指令,但无法返回运行情况的确认信号,导致备用服务器无法获知系统资源的使用 情况),系统要求通过Fence机制来保障系统切换时的I/O使用安全。

Fence主要就是通过服务器或存储本身的硬件管理接 口,又或者是外部电源管理设备,来对服务器或存储发起直接的硬件管理指令,控制服务器或存储链路的开关。因此,Fence机制也被称为"I/O屏障"技 术。当"脑裂"发生时彻底断开问题服务器的所有I/O连接,保证问题服务器不能对集群中的I/O资源(共享的文件系统资源)进行任何操作,严格保证集群环 境中企业核心数据的完整性。

3、RHCS安装过程
1)、

[root@node1 ~]# yum install update

2)、

[root@node1 ~]# yum install -y cman luci ricci rgmanager

3)、编辑hosts文件解析两个节点的主机名

vim /etc/hosts

加入以下两行

192.168.100.11           node1.lampbo.org 192.168.100.12           node2.lampbo.org

保存退出

4)、创建cluster.conf文件 生成集群配置文件

[root@node1 ~]# vim /etc/cluster/cluster.conf
  1. <?xml version="1.0"?>  
  2. <cluster config_version="5" name="my_cluster">  
  3. <fence_daemon post_fail_delay="0" post_join_delay="3"/>  
  4.         <clusternodes>  
  5.                 <clusternode name="node1.lampbo.org" nodeid="1" votes="1">  
  6.                         <fence>  
  7.                                 <method name="1">  
  8.                                         <device name="Fence1" nodename="node1.lampbo.org"/>  
  9.                                 </method>  
  10.                         </fence>  
  11.                 </clusternode>  
  12.                 <clusternode name="node2.lampbo.org" nodeid="2" votes="1">  
  13.                         <fence>  
  14.                                 <method name="1">  
  15.                                         <device name="Fence2" nodename="node2.lampbo.org"/>  
  16.                                 </method>  
  17.                         </fence>  
  18.                 </clusternode>  
  19.         </clusternodes>  
  20.         <cman expected_votes="1" two_node="1"/>  
  21.         <fencedevices>  
  22.         <fencedevice agent="fence_ilo" ipaddr="192.168.101.15" login="root" name="Fence1" passwd="admin123"/>  
  23.         <fencedevice agent="fence_ilo" ipaddr="192.168.101.16" login="root" name="Fence2" passwd="admin123"/>  
  24.         </fencedevices>  
  25.         <rm>  
  26.                 <failoverdomains>  
  27.                         <failoverdomain name="fail-domain" ordered="0" restricted="0">  
  28.                                <failoverdomainnode name="node1.lampbo.org" priority="1"/>  
  29.                                 <failoverdomainnode name="node2.lampbo.org" priority="2"/>  
  30.                         </failoverdomain>  
  31.                 </failoverdomains>  
  32.                 <resources>  
  33.                 <script file="/etc/init.d/postgresql-9.1" name="postgresql"/>  
  34.                 <ip address="192.168.100.99" monitor_link="1"/>  
  35.                 </resources>  
  36.                 <service autostart="1" domain="fail-domain" exclusive="0" max_restarts="3" name="XXX" recovery="restart(or, relocate)" restart_expire_time="300">  
  37.                         <script ref="postgresql"/>  
  38.                         <ip ref="192.168.100.99"/>  
  39.                 </service>  
  40.         </rm>  
  41. </cluster>  

注:在这个例子中fence 代理使用的是HP fence_ilo,还有其他很多的fence agent ,可以参见:https://access.redhat.com/knowledge/articles/28603

5)、启动服务

service luci start service ricci start service cman start service rgmanagment start

6)查看集群状态(clustat)

 [root@centos6 ~]# clustat

如果集群的所有节点状态都为online,说明集群创建成功了

至此linux集群就创建好了

说明:

1)、RHEL6.1版本中fence device不再支持hostname参数,可以使用ipaddr 代替,具体使用方法可以参考man fence_ilo

2)、集群的名称不能超过15个字符,也不能为空,最好选择容易记忆的集群名。

3)、如果节点无法加入集群,最好检查下iptables和selinux 的设置

4)、启动集群:service cman start, service rgmanager start

关闭集群:service rgmanager stop, service cman stop

要注意启动和关闭集群的顺序。