基于RHCS的conode对WEB做高可用集群

简介:

一、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的配置界面

wKioL1NZOsHzJqlgAAHKmEPu9F8908.jpg

   创建一个资源组,并将各节点添加进去

wKiom1NZOuvxOll4AAKwqSWRofo818.jpg

   开始自动安装所需要的包

wKiom1NZOuvyk4SPAADI68Bf2uQ670.jpg

   节点创建成功

wKiom1NZQh-xFL9wAAHbB2GzJS0882.jpg

   创建fence设备

wKioL1NZQfXQhAxsAAI3Je3C3zg475.jpg

   定义失效转移域

wKiom1NZQh-SusmRAAHWybCj-Gg542.jpg

   为各服务节点添加主页文件

1
[root@node1 ~]# ansible node -m shell -a  'echo "<h1>`uname -n` <h1>" > /var/www/html/index.html'

   添加资源组

wKiom1NZRh_xAfK3AAHCOZjQczg001.jpg

   添加ip

wKioL1NZRfXCcm-6AAE_H06QvZE775.jpg

   添加httpd服务,此处应该选择script

wKiom1NZRh-C-7bCAAEtAGOI4jw558.jpg

   资源启动成功

wKioL1NZRfXCob82AAGF3lKfdV4588.jpg

   测试   wKiom1NZRxzCd5XdAACma4OS7DM754.jpg

   做节点切换测试

wKioL1NZR6fj2Po-AAHW9nymhDA903.jpg

   再次刷新页面,看到的结果

wKiom1NZSADS71Y3AACthdDhcO0614.jpg

   大功告成,由于本人水平有限,操作中可能有错误,请各位大神多多批评指正!



本文转自wangfeng7399 51CTO博客,原文链接:http://blog.51cto.com/wangfeng7399/1402341,如需转载请自行联系原作者

相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
8月前
|
运维 关系型数据库 MySQL
【运维知识进阶篇】集群架构-Nginx实现基础web架构(Linux+Nginx+PHP+Mysql)(二)
【运维知识进阶篇】集群架构-Nginx实现基础web架构(Linux+Nginx+PHP+Mysql)(二)
202 0
|
5月前
|
负载均衡 监控 算法
百度搜索:蓝易云【HAProxy搭建web集群教程。】
这是一个简单的HAProxy搭建Web集群的教程。在实际应用中,还可以进行更多的配置和优化,以满足你的需求。建议在搭建之前查阅官方文档或参考其他详细的教程以获取更全面的指导。
86 3
百度搜索:蓝易云【HAProxy搭建web集群教程。】
|
存储 分布式计算 资源调度
Hadoop运行模式(三)、群起集群、配置workers、启动集群、启动HDFS、拼接、Web端查看HDFS的NameNode、Web端查看YARN的ResourceManager
Hadoop运行模式(三)、群起集群、配置workers、启动集群、启动HDFS、拼接、Web端查看HDFS的NameNode、Web端查看YARN的ResourceManager
Hadoop运行模式(三)、群起集群、配置workers、启动集群、启动HDFS、拼接、Web端查看HDFS的NameNode、Web端查看YARN的ResourceManager
|
7月前
|
弹性计算 Kubernetes 索引
使用Kubectl部署web服务到K8s集群
本场景带您体验如何使用k8s的原生命令kubectl部署一个web应用(魔方应用)的镜像到k8s集群中,并通过Ingress将部署的服务暴露出来由外部访问。
5691 2
|
8月前
|
弹性计算 Kubernetes 容器
使用Kubectl部署web服务到K8s集群
本次基于阿里云实验室提供的实验环境,使用预创建好的创建云服务器ECS和ACK集群资源,实现通过Kubectl部署web服务到K8s集群。
|
8月前
|
运维 关系型数据库 MySQL
【运维知识进阶篇】集群架构-Nginx实现基础web架构(Linux+Nginx+PHP+Mysql)(一)
【运维知识进阶篇】集群架构-Nginx实现基础web架构(Linux+Nginx+PHP+Mysql)
175 0
|
8月前
|
负载均衡 网络协议 Linux
web集群第二次作业
LVS(Linux Virtual Server)是一种高性能、可扩展的负载均衡软件,它可以将客户端请求分发到多个后端服务器上,从而实现负载均衡。LVS支持多种工作模式,其中最常用的是NAT模式和DR模式。这两种模式各有优缺点,下面我将详细介绍他们的特点及适用场景。
55 0
|
存储 负载均衡 应用服务中间件
【web项目】keepalived高可用+LVS负载均衡+nginx动静分离+nfs共享存储
【web项目】keepalived高可用+LVS负载均衡+nginx动静分离+nfs共享存储
221 0
【web项目】keepalived高可用+LVS负载均衡+nginx动静分离+nfs共享存储
|
11月前
|
Unix 应用服务中间件 Linux
ansible在web集群中批量部署nfs
ansible在web集群中批量部署nfs
154 0
|
11月前
|
存储 Apache
Centos7.7下建立无共享存储的WEB集群(pcs+pacemaker+corosync)
Centos7.7下建立无共享存储的WEB集群(pcs+pacemaker+corosync)
42 0