您的位置:首页 > 运维架构 > 网站架构

RHCS+Conga+GFS+cLVM共享存储的高可用性web集群

2016-09-24 12:35 246 查看
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://sohudrgon.blog.51cto.com/3088108/1599984

一.RHCS简介:
RHCS是Red Hat ClusterSuite的缩写。
RHCS是一个功能完备的集群应用解决方案,它从应用的前端访问到后端的数据存储都提供了一个行之有效的集群架构实现,通过RHCS提供的这种解决方案,不但能保证前端应用持久、稳定的提供服务,同时也保证了后端数据存储的安全。

RHCS集群的组成:
RHCS是一个集群套件,其主要包括以下几部分:
1.集群构架管理器:RHCS的基础套件,提供集群的基本功能,主要包括布式集群管理器(CMAN)、锁管理(DLM)、配置文件管理(CCS)、栅设备(FENCE)
2.rgmanager高可用服务管理器
提供节点服务监控和服务故障转移功能,当一个节点服务出现故障时,将服务转移到另一个健康节点。
3.集群管理工具
RHCS通过system-config-cluster来进行配置,这是一个基于图形界面的工具,可以很简单、明了的进行配置
4.负载均衡工具
RHCS通过LVS实现服务之间的负载均衡,LVS是系统内核中的套件,所有性能比较好。
5.GFSv2
集群文件系统,这是由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技术来导出和分配共享存储的使用。

运行原理:
1 分布式集群管理器
管理集群成员,了解成员之间的运行状态。

2 锁管理
每一个节点都运行了一个后台进程DLM,当用记操作一个元数据时,会通知其它节点,只能读取这个元数据。

3 配置文件管理
Cluster Configuration System,主要用于集群配置文件管理,用于配置文件的同步。
每个节点运行了CSS后台进程。当发现配置文件变化后,马上将此变化传播到其它节点上去。
/etc/cluster/cluster.conf

4.栅设备(fence)
工作原理:当主机异常,务机会调用栅设备,然后将异常主机重启,当栅设备操作成功后,返回信息给备机。
备机接到栅设备的消息后,接管主机的服务和资源。

Conga集群管理软件: 该工具包含在最新发布的RHEL中,通过使用Conga,你可以非常方便的配置和管理好你的服务器集群和存储阵列.conga由两部分组成,luci和ricci,luci是跑在集群管理机器上的服务,而Ricci则是跑在各集群节点上的服务,集群的管理和配置由这两个服务进行通信.我们就使用Conga来管理RHCS集群。

二.实验环境

实验使用CentOS 6.6 64bit系统搭建,各节点IP,软件规划表:




RHCS实验架构图:



三.前期准备工作
1.节点之间时间必须同步,建议使用ntp协议进行;
2.节点之间必须要通过主机名互相通信;
建议使用hosts文件;
通信中使用的名字必须与其节点为上“uname -n”命令展示出的名字保持一致;
3.我们这里是三个存储节点,如果是2个节点需要提供:qdisk仲裁设备
4.节点之间彼此root用户能基于ssh密钥方式进行无密钥通信;
5.yum源也需要配置好。

前提的实现:

1.设置管理端:
将管理端的公钥私钥传输给各节点:
管理端实现无密钥登录。

2.各节点主机名解析一致;
先于管理端配置完毕;复制到各节点。
2.节点之间实现无密钥通信
其它节点依次实现:

最后实现时间测试:

或者在管理节点nfs上测试时间:
节点的yum源都有特定服务器提供:
四.conga的安装配置
安装luci和ricci(管理端安装luci,节点安装ricci)
Luci是运行WEB样式的Conga服务器端,它可以通过web界面很容易管理整个RHCS集群,每一步操作都会在/etc/cluster/cluster.conf生成相应的配置信息

1.在管理端安装luci
安装完成后启动luci:
\\生成以上信息,说明配置成功,注意:安装luci会安装很多python包,python包尽量采用光盘自带的包,否则启动luci会出现报错现象。

2.在其他节点上安装ricci;在管理端运行安装简单一些。
安装完成后启动ricci服务:
为各节点的ricci设置密码,在Conga web页面添加节点的时候需要输入ricci密码。
4.添加节点node1-node3,设置3个节点满足RHCS集群的要求,password为各节点ricci的密码,然后勾选“DownloadPackages”(在各节点yum配置好的基础上,自动安装cman和rgmanager及相关的依赖包),勾选“Enable Shared Storage Support”,安装存储相关的包,并支持gfs2文件系统、DLM锁、clvm逻辑卷等。

5.访问https://172.16.31.13:8084或者https://nfs.stu31.com:8084



警告忽略:



选择Manage Clusters创建集群,点击Create:



集群名称,添加节点:



RHCS必须存在3个节点哦!



创建完成;将会自动安装cman和rgmanager,及自动安装lvm2-cluster,并自动启动服务:



注意:创建集群失败,启动cman失败,我们需要将NetworkManager服务关闭:
关闭 NetworkManager服务及其自启动:
再次加入节点创建集群成功。

7.我们需要将cman和rgmanager和clvmd服务设置为开机自启动。
登录任意一个节点查看各服务的开机启动情况,为2-5级别自动启动。
8.查看集群节点状态:
五.配置共享存储服务器
我们将node4设置为共享存储服务器
我们将其格式化为一个LVS的逻辑卷
2.安装iSCSI管理端
3.配置导出磁盘
启动iSCSI服务器:
查看存储导出状态:
4.在node1-node3节点安装iscsi客户端软件:
5.使用iscsi-iname生成iscsi的随机后缀,注意命令使用的节点
6.节点客户端发现共享存储
7.注册iscsi共享设备,节点登录,
8.存储共享服务器端查看共享情况
9.各节点都会多出一个磁盘/sdb。
10.创建集群逻辑卷
将共享磁盘创建为集群逻辑卷
并且sdb1的格式为逻辑卷磁盘:
开始创建逻辑卷:
[root@node1 ~]# lvcreate -L 5G -n clv cvg
Error
locking on nodenode3.stu31.com: Volume group for uuid not
found:swue1b5PBQHolDi5LKyvkCvecXN7tMkCOyEHCz50q8HqwodCeacVZccNhZF2kDeb

Error locking on node node2.stu31.com: Volumegroup for uuid not found:
swue1b5PBQHolDi5LKyvkCvecXN7tMkCOyEHCz50q8HqwodCeacVZccNhZF2kDeb
Failed to activate new LV.
报错了:
同步出现问题,我们去node2和node3去重新格式化后创建pv:
事例node3,节点2同样操作:
创建PV:错误忽略
node2也是同样操作后创建pv:
到node1重新创建:
创建成功了

查看逻辑卷:
格式化逻辑卷为集群文件系统:
节点挂载上gfs2文件系统:
我们去节点2挂载上:
已经存在测试网页了。

然后我们在管理节点卸载:
七.登录Conga,进行web集群构建
构建失败转移域:



创建资源:VIP,httpd服务,GFS共享存储
添加资源:



如下添加VIP地址:



添加服务脚本httpd:



记住写入httpd脚本路径:



添加GFS2共享存储资源:




将资源加入资源组:



创建资源组,并向其中加入设置好的自定义资源或者也可以直接添加设定资源:



添加设置好的VIP资源:



添加设置好的httpd服务资源:



添加设置好的GFS2共享存储资源:




构建完成后启动webservice资源组:



启动成功。

我们去管理端访问一下:
我们去节点1查看集群启动状态,喔,看怎么启动到node2了!!!!
我们在网页端刷新一下,喔,是node2啊,不能自动更新网页。




我们将集群切换到node1运行:
使用命令:
到网页刷新一下:



切换成功,ok,至此RHCS+Conga+GFS+cLVM共享存储的高可用性web集群就构建成功啦!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux rhcs web clust