RHCS集群简介及配置web高可用

简介:

                 RHCS集群配置

一、RHCS集群简介

  RHCS(Red Hat Cluster Suite)集群是红帽官方提供的子集群套件,它整合了高可用集群、负载均衡集群、存储集群,从而为用户提供了完整的一套从前端到应用到存储的集群解决方案。通过RHCS集群提供的集群服务,可以为web,数据库等关键业务提供高效,稳定的运行环境。


二、RHCS的核心功能

 1、负载均衡

  RHCS的负载均衡集群通过LVS(Linux Virtual Server)来实现其功能,LVS是由前端的调度器与后端的RS节点组成,客户端的访问请求通过调度器根据算法及集群类型的不同将其调度至集群的RS节点,由调度器调度到的RS节点响应客户端请求。同时,LVS提供了故障转移功能,当集群中的RS节点中有任意一个或多个出现故障时,LVS会自动将故障节点下线,将分配到故障节点的客户端请求移到无故障节点运行;故障节点修复,又将重新加入集群继续工作,从而保证了服务的不中断运行。RHCS集群类型有DR,NAT,TUN,FULLNAT,可为各种复杂的网络环境提供不同的解决方案。

 

 2、高可用

  RHCS的高可用集群中的高可用服务在无故障情况下,可运行于任意节点,通过定义组资源或者各种约束关系,将提供同一类服务的资源运行在同一个节点,当提供服务的节点故障或分裂时,集群可通过仲裁设备(非必须)判定资源运行于哪个节点,即拥有法定票数多的一方继续运行集群服务,而故障的或不拥有法定票数的一方则作下线处理。保证了服务的不中断运行。

wKioL1g6YJDzR05CAAE3ZLo547w309.png

(引自https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/5/html/Cluster_Suite_Overview/s1-service-management-overview-CSO.html)

 

 3、存储

  RHCS通过GFS提供集群存储功能,GFS是一个分布式文件系统,它通过锁管理机制,使集群中的各节点互相通告共享文件锁,从而可以使多个节点同时挂载共享文件系统来完成数据读写等操作。

wKioL1g6X3Kwxs51AACw6XV6vOE796.png

(引自https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/5/html/Cluster_Suite_Overview/ch.gfscs.cluster-overview-CSO.html)


三、RHCS集群的组成部分(简述)

 wKioL1g6ZKmBzs0tAABfyuQDz3E074.png-wh_50


1、集群管理器CMAN

 Cluster Manager,简称CMAN,是一个分布式集群管理工具,它运行在集群的各个节点上,为RHCS提供集群管理任务。CMAN用于管理集群成员、传递节点间心跳信息。它通过监控每个节点的运行状态来了解节点成员之间的关系,当集群中某个节点出现故障,节点成员关系将发生改变,CMAN及时将这种改变通知底层,进而做出相应的调整。cman之上有ccs和fencs两个组件。


2、资源组管理器rgmanager

 通过定义的集群资源,来管理这些资源,被管理的资源包括故障切换域的定义、资源(如 IP 地址)和服务。它也定义了群集服务和群集服务的故障切换行为。


3、集群配置文件管理CCS    

 其默认配置文件为/etc/cluster/cluster.conf,运行于集群中各节点,当某一节点的配置信息发生改变时,使同一集群内的其他节点的配置文件发生相应变化。


4、保护设备Fencs

 当 CMAN 决定某个节点已经发生故障,它将告知其他群集基础结构组件。在收到通知后,fenced 将保护(fence)故障节点。其他群集基础结构组件将决定采取什么行动,也就是说,它们执行任何必需的恢复。例如,当 DLM 和 GFS 被告知节点故障时,将暂停活动,直到它们检测到 fenced 已经完成对故障节点的保护。当确认故障节点已经被保护时,DLM 和 GFS 会执行恢复。DLM 释放对失败节点的锁定;GFS 恢复故障节点的日志。GNBD也是Fencs的一个组件。


5、分布式锁管理器DLM

 分布式锁管理器管理集群中挂载使用GFS的节点来同步它们对共享资源的访问,它运行于每一个集群节点,是集群中所有节点共享锁文件。CLVM使用锁管理器来同步对LVM卷和卷组(也对共享存储)的更新。


6、集群文件系统GFS

 GFS 是允许集群内所有节点可同时访问某个共享的块设备的集群文件系统。GFS 是一个原生(native)文件系统,它直接和 Linux 内核文件系统接口的 VFS 层进行通信。GFS 使用分布式元数据和多个日志来优化群集操作。要维护文件系统的完整性,GFS 使用一个锁管理器来协调 I/O。当节点修改了 GFS 文件系统上的数据,这个改动马上为使用这个文件系统的其他群集节点可见。同时,GFS使整个群集只需安装一次应用程序或补丁,并可使集群内多个节点的服务对数据可以并行读/写操作。


7、集群配置管理工具Conga

 Conga是为RHCS集群和存储提供集中配置和管理的软件组件集合,Conga里的主要组件是luci和ricci,它们都是可单独安装的。luci是一个服务器组件,它运行在一台机器上并通过ricci与多个群集和机器通信。ricci是运行在Conga管理的每台机器(群集成员或独立的机器)上的代理。

Conga在CentOS 7上ricci被更换为pcsd。


四、RHCS集群实验

实验准备:RHCS集群要求最少有三台以上的设备

    node1:192.168.0.15  ricci

     node2:192.168.0.16  ricci

     node3:192.168.0.20  luci

     vip:192.168.0.17

     node节点系统均为CentOS 6.7

    时间同步,基于主机名通信,密钥认证准备工作等详见 --> HA集群


1、在node1,node2安装ricci,在node3安装luci,并启动服务

1
2
3
4
5
6
[root@node1 ~] # yum install ricci -y
[root@node1 ~] # service ricci start
 
[root@node3 ~] # yum install luci 
注意:luci使用python研发,安装的依赖包必须使用Base源的,使用epel源的包,会造成luci无法启动
[root@node3 ~] # service luci start

此时,可以浏览器访问了https://192.168.0.20:8084 登录用户名密码为系统用户(root)

注意:关闭防火墙或放行8084端口,关闭selinux


2、为ricci创建密码(node1,node2),不然会认证失败,无法添加资源

1
2
3
[root@node1 ~] # echo "123456" | passwd --stdin ricci
Changing password  for  user ricci.
passwd : all authentication tokens updated successfully.


3、创建集群(选择下载安装)

wKiom1g6gHuTDM94AAChXDg2ERE992.png-wh_50


4、创建成功

wKioL1g6hkKiZ9UjAADgga1VPkk918.png-wh_50


5、创建Fence设备(RHCS必须要求有),可选择的设备,此处随便选的,生产环境下根据不同类型的服务器具体选择

wKiom1g6hujjqAx5AADUOgtsoXg192.png-wh_50


6、配置故障转移域

wKiom1g6iBewMCpUAACsgXNrD_A235.png-wh_50


7、创建资源(web为例)全局资源

wKioL1g6ivbSnqy_AABjP6zvD2Q469.png-wh_50


httpd资源定义时为外部脚本

wKiom1g6i9PgqLplAACHAhG8Hd0993.png-wh_50


8、定义资源组(资源必须在组内才能运行)资源组内定义的资源为内部资源。

wKioL1g6jRTz6QmSAACHP1-aXy0237.png-wh_50


9、向组内添加资源

wKiom1g6jc2xz7rgAAC7o3cOduY305.png-wh_50


10、组内特性定义

wKioL1g6jraggRTbAAB8VaV2bXE921.png-wh_50


11、启动资源组

wKiom1g6jxTyQCceAACNWWst1lI316.png-wh_50


12、查看当前资源运行状态

1
2
3
4
5
6
7
8
9
10
11
12
[root@node1 ~] # clustat
Cluster Status  for  tcluster @ Sun Nov 27 15:46:58 2016
Member Status: Quorate
 
  Member Name                                ID   Status
  ------ ----                                ---- ------
  node1                                          1 Online, Local, rgmanager
  node2                                          2 Online, rgmanager
 
  Service Name                      Owner (Last)                      State         
  ------- ----                      ----- ------                      -----         
  service:webservice                node2                             started


13、测试集群

wKioL1g6kK2R9J4AAAA0hD_Si1M526.png-wh_50


14、命令行资源迁移

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@node1 ~] # clusvcadm -r webservice -m node1
Trying to relocate service:webservice to node1...Success
service:webservice is now running on node1
 
[root@node1 ~] # clustat
Cluster Status  for  tcluster @ Sun Nov 27 16:34:24 2016
Member Status: Quorate
 
  Member Name                                ID   Status
  ------ ----                                ---- ------
  node1                                          1 Online, Local, rgmanager
  node2                                          2 Online, rgmanager
 
  Service Name                      Owner (Last)                      State         
  ------- ----                      ----- ------                      -----         
  service:webservice                node1                             started


如有错误,欢迎指正。



本文转自 元婴期 51CTO博客,原文链接:http://blog.51cto.com/jiayimeng/1877007

相关文章
|
2月前
|
算法 Java Go
【GoGin】(1)上手Go Gin 基于Go语言开发的Web框架,本文介绍了各种路由的配置信息;包含各场景下请求参数的基本传入接收
gin 框架中采用的路优酷是基于httprouter做的是一个高性能的 HTTP 请求路由器,适用于 Go 语言。它的设计目标是提供高效的路由匹配和低内存占用,特别适合需要高性能和简单路由的应用场景。
280 4
|
5月前
|
存储 Linux Apache
在CentOS上配置SVN至Web目录的自动同步
通过上述配置,每次当SVN仓库中提交新的更改时,`post-commit`钩子将被触发,SVN仓库的内容会自动同步到指定的Web目录,从而实现代码的连续部署。
193 16
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
219 4
|
9月前
|
云安全 数据采集 安全
阿里云热门云安全产品简介:Web应用防火墙与云防火墙产品各自作用介绍
在阿里云的安全类云产品中,Web应用防火墙与云防火墙是用户比较关注的两款安全产品,二者在作用上各有侧重,共同构成了阿里云强大的安全防护体系。本文将对Web应用防火墙与云防火墙产品各自的主要作用进行详细介绍。
|
JavaScript 前端开发 开发工具
web项目规范配置(husky、eslint、lint-staged、commit)
通过上述配置,可以确保在Web项目开发过程中自动进行代码质量检查和规范化提交。Husky、ESLint、lint-staged和Commitlint共同作用,使得每次提交代码之前都会自动检查代码风格和语法问题,防止不符合规范的代码进入代码库。这不仅提高了代码质量,还保证了团队协作中的一致性。希望这些配置指南能帮助你建立高效的开发流程。
682 5
|
监控 Java Maven
springboot学习二:springboot 初创建 web 项目、修改banner、热部署插件、切换运行环境、springboot参数配置,打包项目并测试成功
这篇文章介绍了如何快速创建Spring Boot项目,包括项目的初始化、结构、打包部署、修改启动Banner、热部署、环境切换和参数配置等基础操作。
1271 0
|
NoSQL Java 数据库连接
springBoot:整合其他框架&condition&切换web配置 (五)
本文档介绍了如何在Spring Boot项目中整合JUnit、Redis和MyBatis等框架,并提供了相应的依赖配置示例。同时,还展示了如何通过条件注解实现Bean的条件创建,以及如何切换Web服务器配置,从默认的Tomcat切换到Jetty。
167 0
|
6月前
|
缓存 JavaScript 前端开发
鸿蒙5开发宝藏案例分享---Web开发优化案例分享
本文深入解读鸿蒙官方文档中的 `ArkWeb` 性能优化技巧,从预启动进程到预渲染,涵盖预下载、预连接、预取POST等八大优化策略。通过代码示例详解如何提升Web页面加载速度,助你打造流畅的HarmonyOS应用体验。内容实用,按需选用,让H5页面快到飞起!
|
6月前
|
JavaScript 前端开发 API
鸿蒙5开发宝藏案例分享---Web加载时延优化解析
本文深入解析了鸿蒙开发中Web加载完成时延的优化技巧,结合官方案例与实际代码,助你提升性能。核心内容包括:使用DevEco Profiler和DevTools定位瓶颈、四大优化方向(资源合并、接口预取、图片懒加载、任务拆解)及高频手段总结。同时提供性能优化黄金准则,如首屏资源控制在300KB内、关键接口响应≤200ms等,帮助开发者实现丝般流畅体验。
|
前端开发 JavaScript Shell
鸿蒙5开发宝藏案例分享---Web页面内点击响应时延分析
本文为鸿蒙开发者整理了Web性能优化的实战案例解析,结合官方文档深度扩展。内容涵盖点击响应时延核心指标(≤100ms)、性能分析工具链(如DevTools时间线、ArkUI Trace抓取)以及高频优化场景,包括递归函数优化、网络请求阻塞解决方案和setTimeout滥用问题等。同时提供进阶技巧,如首帧加速、透明动画陷阱规避及Web组件初始化加速,并通过优化前后Trace对比展示成果。最后总结了快速定位问题的方法与开发建议,助力开发者提升Web应用性能。

热门文章

最新文章