一、RHCS简介
RHCS是Red Hat Cluster Suite的缩写,也就是红帽子集群套件,RHCS是一个能够提供高可用性、高可靠性、负载均衡、存储共享且经济廉价的集群工具集合,它将集群系统中三大集群架构融合一体,可以给web应用、数据库应用等提供安全、稳定的运行环境。
更确切的说,RHCS是一个功能完备的集群应用解决方案,它从应用的前端访问到后端的数据存储都提供了一个行之有效的集群架构实现,通过RHCS提供的这种解决方案,不但能保证前端应用持久、稳定的提供服务,同时也保证了后端数据存储的安全。
RHCS提供了集群系统中三种集群构架,分别是高可用性集群、负载均衡集群、存储集群。
二、RHCS集群的功能和组成
RHCS的核心功能就是提供高可用集群,当其中的节点出现故障的时候,RHCS可以通过高可用性服务管理组件自动、快速从一个节点切换到另一个节点,从而保证应用持续、不间断的对外提供服务,从而实现RHCS高可用集群实现的功能。
RHCS通过LVS来提供负载均衡集群,当一个请求进来时,LVS通过负载均衡调度算法将请求进行分配,来达到负载均衡,而当一个节点出现故障的时候,LVS通过服务节点的故障转移功能自动屏蔽此节点,并其故障节点踢出去,同时将此节点的服务转移给其他节点。然后当此节点重新恢复服务后LVS会自动把其加到服务中来,从而来保证服务的稳定运行!
RHCS通过GFS(Global File System)文件系统来提供存储集群功能,GFS是集群文件系统,它允许多个服务器同时读写同一个共享存储文件系统,存储集群通过将数据放在一个共享存储上来保证数据的一致性,同时GFS通过锁管理机制来实现对数据读写的隔离,从而来保证了数据的安全性!
RHCS是一个集群套件,其主要包括以下几部分:
1、集群构架管理器:RHCS的基础套件,提供集群的基本功能,主要包括布式集群管理器(CMAN)、锁管理(DLM)、配置文件管理(CCS)、栅设备(FENCE)
2、rgmanager高可用服务管理器
提供节点服务监控和服务故障转移功能,当一个节点服务出现故障时,将服务转移到另一个健康节点。
3、集群管理工具
RHCS通过system-config-cluster来进行配置,这是一个基于图形界面的工具,可以很简单、明了的进行配置
4、负载均衡工具
RHCS通过LVS实现服务之间的负载均衡,LVS是系统内核中的套件,所有性能比较好。
5、GFS
集群文件系统,这是由RedHat公司开发的,GFS文件系统允许多个服务同时读写一个磁盘分区,通过GFS可以实现数据的集中管理,免去了数据同步和拷贝的麻烦,但GFS并不能孤立的存在,安装GFS需要RHCS的底层组件支持。
6、Cluster Logical Volume Manager
Cluster逻辑卷管理,即CLVM,是LVM的扩展,这种扩展允许cluster中的机器使用LVM来管理共享存储,但是配置之前需要开启lvm支持集群功能。
7、ISCSI
iSCSI是一种在Internet协议上,利用tcp/ip机制对fc、fc-xx等进行封装后在网络中进行传输。isici是基于C/S架构的,数据首先被封装成scsi报文,在封装成iscsi报文,最后封装tcp/ip报文进行传输!iscsi是基于tcp的,监听在3260上,通过3260端口向外提供tcp/ip的服务的,isisc的会话是一直保存建立的,知道会话介绍再断开。RHCS可以通过ISCSI技术来导出和分配共享存储的使用。
三、RHCS搭建
1.环境介绍:
ip地址 | 功用 | 安装软件 |
主机名 |
192.168.1.201 | RHCS管理端 | luci,ansible |
node1.wangfeng7399.com |
192.168.1.202 | RHCS组成 | ricci |
node2.wangfeng7399.com |
192.168.1.203 | RHCS组成 | ricci |
node3.wangfeng7399.com |
192.168.1.204 | RHCS组成 | ricci |
node4.wangfeng7399.com |
2.安装配置
1.安装ansible,对安装ansible的详细过程,本处就不再做累赘,请移步至本人的相关博客http://wangfeng7399.blog.51cto.com/3518031/1399889
2.安装lusi,安装前应该先关闭NetworkManager,启动network功能
1
2
3
|
[root@node1 ~]# ansible node -m shell -a
"chkconfig NetworkManager off"
[root@node1 ~]# yum install luci -y
说明:如果系统中启用了epel源,应该禁用掉
|
3.在3台节点上安装ricci,并设置其开机自启动
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
[root@node1 ~]# ansible node -m yum -a
"name=ricci state=present "
[root@node1 ~]# ansible node -m service -a
"name=ricci state=started enabled=yes"
192.168
.
1.203
| success >> {
"changed"
:
true
,
"enabled"
:
true
,
"name"
:
"ricci"
,
"state"
:
"started"
}
192.168
.
1.204
| success >> {
"changed"
:
true
,
"enabled"
:
true
,
"name"
:
"ricci"
,
"state"
:
"started"
}
192.168
.
1.202
| success >> {
"changed"
:
true
,
"enabled"
:
true
,
"name"
:
"ricci"
,
"state"
:
"started"
}
|
4.启动luci
1
2
3
4
5
6
|
[root@node1 ~]# service luci start
Generating a
2048
bit RSA
private
key
writing
new
private
key to
'/var/lib/luci/certs/host.pem'
Starting saslauthd: [ OK ]
Start luci... [ OK ]
Point your web browser to https:
//node1.wangfeng7399.com:8084 (or equivalent) to access luci
|
5.为各几点的ricci添加密码
1
|
[root@node1 ~]# ansible node -m shell -a
"echo wangfeng7399 |passwd --stdin ricci"
|
6.配置RHCS
登陆RHCS的配置界面
创建一个资源组,并将各节点添加进去
开始自动安装所需要的包
节点创建成功
创建fence设备
定义失效转移域
为各服务节点添加主页文件
1
|
[root@node1 ~]# ansible node -m shell -a
'echo "<h1>`uname -n` <h1>" > /var/www/html/index.html'
|
添加资源组
添加ip
添加httpd服务,此处应该选择script
资源启动成功
做节点切换测试
再次刷新页面,看到的结果
大功告成,由于本人水平有限,操作中可能有错误,请各位大神多多批评指正!
本文转自wangfeng7399 51CTO博客,原文链接:http://blog.51cto.com/wangfeng7399/1402341,如需转载请自行联系原作者