第一章   配置RHCS<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

准备工作:

首先要设置 /etc/hosts中的IP与域名的对应关系,保证你在设置两台机子的主机名的时候能够互相ping通。注意如果只启用一张网卡的话,要把启用网卡的IP地址放在前面,暂时不用的网卡IP放在后面,以免ping的时候不通。

[root@web1~] ping web2   能出来正确的IP地址

[root@web2~] ping web1   能出来正确的IP地址

 

1.1.  启动cluster管理图形界面

shell下输入system-config-cluster,启动群集配置工具。

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

 

 

 
点击创建新集群,并输入集群名称hacluster

 

 
 

 
 
 
 
(下图点击左边cluster,再按右边的“Edit Cluster Properties”按钮)
 
 

1.2.  添加群集成员节点

点击 Cluster->Cluster Nodes->Add a Cluster Node

 
 
Cluster Node Name 中输入第一个机器的主机名,app63.webcluster.com

Quorum Votes: 不填,然后点击确定.

 

 

 

同样方法添加第二节点

 

 

1.3.  添加fence设备

点击cluster->Fence Devices->Add a fence Devices

这里的fence类型选择IBM Blade Center,因为我们是在两台ibm刀片上安装的,rhcs还支持很多fence设备,可以根据实际情况选择。

 

1.4.  建立fence设备和每个节点的对应关系

为了使每个节点可以通过Fence设备对节点的开机、关机和重启进行管理或者对节点的状态进行查询,需要建立fence设备和每个节点的对应关系。

 

选中节点,点击「Manager Fanceing For This Node」,之后点击「 Add a New Fence Level」,

Fence Configuration对话框中选中Fence-Level-1,点击 Add a New Fence to this Level

 
 
添加是刀片的第几台设备,比如我的是第910
 

 

1.5.  创建一个失效域

按照默认设置,失效转移域是无限制和无序的。

选择 Cluster->Managed Resources->Failover Domains->Create a Failover Domain. name for new Failover Domain 中输入:redhatfd

 
 
点击 Available Cluster Nodes,分别选中 app63.webcluster.comapp64.webcluster.com,然后点击关闭按钮

 

1.6.  创建群集资源

添加一个服务 IP 地址资源

Cluster->Managed Resources->Resources->Create a Resource

select a Resource Type: IP Address 输入:192.168.100.65(注意不能与前面两个主机的IP相同,这个IP是外网访问过来的虚拟IP,当其中一个实际的IP地址出问题的时候可以自动飘移到另),选中Monitor Link,Subnet中输入子网掩码位数,点击确定按钮。

 
 
添加一个服务控制脚本资源

Cluster->Managed Resources->Resources->Creat a Resource

select a Resource Type:栏中选择script

 
 
name栏中输入脚本名字httpserver可随意填写。

File 栏中输入脚本路径(with path): /etc/rc.d/init.d/httpd (或者是tomcat)

点击确定按钮。

(注意:apache服务必须在两台服务器之间都有安装,而且配置必须完全一样,才能实现主从双备份,当其中一台httpd服务出现问题的时候,通过RHCS机制可立即切换到另一台httpd服务)

 

1.7.  创建一个群集服务

Cluster->Managed Resources->Services->Create a Service

Name栏中输入服务名称webservice,然后点击确定按钮

在接下来的对话 Failover Domain 中,选择redhat_fd

为新创建的群集服务加入建立的资源

Add a Shared Resource to this service 按钮, 选择192.168.100.65,然后点击确定

Add a Shared Resource to this service 按钮, 选择httpserver,然后点击确定

 

1.8.  保存配置

文件->保存,使用默认的文件名和路径,然后点击文件->退出

1.9.  同步节点配置信息

# scp /etc/cluster/cluster.conf   192.168.100.64:/etc/cluster/

注意复制的时候会要求你输入192.168.100.64root密码,才能复制成功。

 

1.10.     集群启动和关闭

1)如果想启动群集服务,在所有群集成员节点上分别依次启动下面的服务。

#service cman start 只有所有集群成员都启动cman服务以后,fencing才能启动成功)

#service rgmanager start

 

2)如果想停止群集服务,在所有群集成员节点上分别依次停止下面的服务。

#service rgmanager stop (rgmage 的进程是clurgmgrd 如果停止不了可用kill -9 命令杀掉进程)

#service cman stop   (cman 的进程是ccsd 如果停止不了可用kill -9 命令杀掉进程)

 
通过 #service rgmanager status 命令可以查看出进程名称和进程pid号,然后用kill -9杀掉

 
3)设置集群开启启动:

# chkconfig cman on

# chkconfig rgmanager on

1.11.     显示群集和服务状态

[root@app63 ~]# clustat

Cluster Status for hacluster @ Wed Jul 28 16:49:57 2010

Member Status: Quorate

 

 Member Name                                   ID             Status

 ------ ---- -----------                               ---- ---

 app63.webcluster.com                                     1 Online, Local, rgmanager

 app64.webcluster.com                                     2 Online, rgmanager

 

 Service Name                        Owner (Last)                  State

---- --- ---- ---                          ---- --- ---- ---                 ---- --- ---- ---   

service:webservice                  app64.webcluster.com             started

 
当配置了群集服务,并相关的群集进程启动后,在 shell 提示符中,运行 system-config-cluster,点击 Cluster Management 标签,就会显示当前群集的服务状态

 

 

 

 

 

 

第二章   RHCS应用实例

1、有两台服务器,主机IP192.168.0.101   从机IP192.168.0.102

2、这两台服务器在安装系统时候都选择同样的配置,安装有群集套件、web服务器套件。

3、主机101软件安装:apache发布服务80端口,tomcat1tomcat2发布服务。

       从机101软件安装:apache发布服务80端口,tomcat3tomcat4发布服务。

4、在主机101配置apache负载均衡发布器httpd服务,同时指向tomcat1tomcat4四个web发布服务; 在从机102上面同样配置与主机101完全相同的apache负载均衡发布器httpd服务

5、在主从两台服务器上面配置RHCS机制,统一对外的虚拟IP192.168.0.100

6RHCS的作用主要是保护对外的Apachehttp服务而不是tomcat发布服务,即使主机的http服务出问题,会通过RHCS的方式立即切换到从机的http服务上面,实现不间断的对外发布服务。

 

 

7RHCS的手工切换:

1)查看RHCS主服务目前运行在哪台服务器节点上面:

[root@app63 conf]# clustat  (可以看出目前运行在app63节点上面)

Cluster Status for hacluster @ Mon Aug  8 09:25:01 2011

Member Status: Quorate

 

Member Name                             ID   Status

 ------ ----                             ---- ------

 app63.webcluster.com                        1 Online, Local, rgmanager

 app64.webcluster.com                        2 Online, rgmanager

 

Service Name                   Owner (Last)                   State

 ------- ----                   ----- ------                   -----

 service:webservice             app63.webcluster.com           started

 

 

 

2)切换某个服务到另一个节点上面:

 

[root@app63 conf]#  clusvcadm  -r  webservice  -m  app64.webcluster.com

 
 
注意:服务名要采用clustat命令显示出来的服务名称(webservice),不是系统启动的脚本名称(httpd)。 切换成功以后,会自动启动app64上面的httpd服务,原有的app63上的httpd服务自动停止。

 

 

 

2012年度IT博客大赛,我的参赛博客:https://blog.51cto.com/contest2012/2677571
欢迎大家捧场,每天投一票。同时欢迎给我留言评论,大家一起学习交流。 >>> 进去投票