第一章 配置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。
![](https://s1.51cto.com/attachment/201211/173002627.jpg)
(下图点击左边cluster,再按右边的“Edit Cluster Properties”按钮)
![](https://s1.51cto.com/attachment/201211/173036426.jpg)
1.2. 添加群集成员节点
点击 Cluster->Cluster Nodes->Add a Cluster Node
![](https://s1.51cto.com/attachment/201211/173342144.jpg)
在 Cluster Node Name 中输入第一个机器的主机名,app63.webcluster.com ,
Quorum Votes: 不填,然后点击确定.
同样方法添加第二节点
1.3. 添加fence设备
点击cluster->Fence Devices->Add a fence Devices
![](https://s1.51cto.com/attachment/201211/173548646.jpg)
这里的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
![](https://s1.51cto.com/attachment/201211/173658790.jpg)
添加是刀片的第几台设备,比如我的是第9和10台
![](https://s1.51cto.com/attachment/201211/173720378.jpg)
1.5. 创建一个失效域
按照默认设置,失效转移域是无限制和无序的。
选择 Cluster->Managed Resources->Failover Domains->Create a Failover Domain. 在name for new Failover Domain 中输入:redhatfd
![](https://s1.51cto.com/attachment/201211/173820346.jpg)
点击 Available Cluster Nodes,分别选中 app63.webcluster.com和 app64.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中输入子网掩码位数,点击确定按钮。
![](https://s1.51cto.com/attachment/201211/174002258.jpg)
添加一个服务控制脚本资源
Cluster->Managed Resources->Resources->Creat a Resource
select a Resource Type:栏中选择script
![](https://s1.51cto.com/attachment/201211/174024398.jpg)
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
![](https://s1.51cto.com/attachment/201211/174119579.jpg)
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.64的root密码,才能复制成功。
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、有两台服务器,主机IP是192.168.0.101 从机IP是192.168.0.102
2、这两台服务器在安装系统时候都选择同样的配置,安装有群集套件、web服务器套件。
3、主机101软件安装:apache发布服务80端口,tomcat1和tomcat2发布服务。
从机101软件安装:apache发布服务80端口,tomcat3和tomcat4发布服务。
4、在主机101配置apache负载均衡发布器httpd服务,同时指向tomcat1到tomcat4四个web发布服务;
在从机102上面同样配置与主机101完全相同的apache负载均衡发布器httpd服务
5、在主从两台服务器上面配置RHCS机制,统一对外的虚拟IP为192.168.0.100。
6、RHCS的作用主要是保护对外的Apache的http服务而不是tomcat发布服务,即使主机的http服务出问题,会通过RHCS的方式立即切换到从机的http服务上面,实现不间断的对外发布服务。
7、RHCS的手工切换:
(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
欢迎大家捧场,每天投一票。同时欢迎给我留言评论,大家一起学习交流。 >>> 进去投票
转载于:https://blog.51cto.com/huangrs/1058235