红帽集群套件RHCS四部曲(维护篇)

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

一、启动RHCS集群
RHCS集群的核心进程有cman和rgmanager,要启动集群,依次在集群的每个节点执行如下命令即可:
 service cman start
 service rgmanager start 
 需要注意的是,执行这两个命令是有先后顺序的,需要首先启动cman,然后在启动rgmanager。在集群所有节点成功启动cman服务后,然后继续依次在每个节点启动rgmanager服务。

二、关闭RHCS集群
 与启动集群服务刚好相反,关闭RHCS集群的命令为:
 service rgmanager stop
 service cman stop
 首先在集群的每个节点依次关闭rgmanager服务,等待所有节点的rgmanager服务成功关闭后,再依次关闭每个节点的cman服务即可完成真个集群服务的关闭。
 有时在关闭cman服务时,可能会提示关闭失败,此时可以检查本机的共享存储GFS2文件系统是否已经卸载,还可以检查其它节点的rgmanager服务是否都已经正常关闭。

三、管理应用服务
 集群系统启动后,默认是自动启动应用服务的,但是如果某个应用服务没有自动启动,就需要通过手工方式来启动。管理应用服务的命令是clusvcadm,通过这个命令可以启动、关闭、重启、切换集群中的应用服务。
1. 启动某个应用服务
可以通过如下方式启动某个节点的应用服务:
clusvcadm -e <Service> -m <Node>
其中:
 Service:表示集群中创建的应用服务名称。
 Node:表示集群节点名称。
例如,要启动节点web1上的webserver服务,操作如下:
[root@web1 ~]# clusvcadm -e webserver -m web1
Member web1 trying to enable service:webserver...Success
service:webserver is now running on web1
 可以通过/var/log/messages文件查看启动应用服务的详细信息。当webserver启动后,与服务相关的集群资源:如虚拟IP、应用程序服务脚本也随之启动,可以通过如下命令查看集群资源是否已经正常加载:
2. 关闭某个应用服务
可以通过如下方式关闭某个节点的应用服务:
clusvcadm -s <Service> -m <Node>
例如,要关闭节点Mysql1上的mysqlserver服务,操作如下:
[root@Mysql1 ~]# clusvcadm -s mysqlserver -m Mysql1
Member Mysql1 stopping service:mysqlserver...Success
 可以通过/var/log/messages文件查看关闭应用服务的详细信息。当mysqlserver关闭后,与服务相关的集群资源:如虚拟IP、应用程序服务脚本也随之释放。
3. 重启某个应用服务
可以通过如下方式重启某个节点的应用服务:
clusvcadm -R <Service> -m <Node>
 例如,要重启节点web1上的webserver服务,操作如下:
[root@web2 ~]# clusvcadm -R webserver -m web1
Member web1 trying to restart service:webserver...Success
 这个命令是在web2节点上执行的,但是也能成功将web1节点上的webserver进行重启,由此可知,clusvcadm命令在集群任意节点执行都是可以的。
4. 切换某个服务
 可以通过如下方式将一个应用服务从一个节点切换到另一个节点:
 clusvcadm -r <Service> -m <Node>
 
例如,要将节点web1的服务切换到节点web2上,操作如下:
 [root@web1 ~]# clusvcadm -r webserver -m web2
 Trying to relocate service:webserver to web2...Success
 service:webserver is now running on web2

四、监控RHCS集群状态
通过对RHCS的监控,有助于了解集群每个节点的健康状况,并能发现问题,及时解决问题,RHCS集群提供了丰富的状态查看命令,这里主要介绍下cman_tool、clustat、ccs_tool的使用方法。
1. cman_tool命令
cman_tool的参数比较多,但是用法比较简单,基本用法格式为:
cman_tool <join|leave|kill|expected|votes|version|wait|status|nodes|services|debug> [options]
 下面列举几个简单的使用例子:
[root@web1 ~]# cman_tool  nodes -a
Node  Sts   Inc   Joined               Name
   0   M      0   2010-08-23 01:24:00  /dev/sdb7
   1   M   2492   2010-08-23 01:22:43  web2
       Addresses: 192.168.12.240 
   2   M   2492   2010-08-23 01:22:43  Mysql1
       Addresses: 192.168.12.231 
   3   M   2492   2010-08-23 01:22:43  Mysql2
       Addresses: 192.168.12.232 
   4   M   2488   2010-08-23 01:22:43  web1
       Addresses: 192.168.12.230
此命令显示了节点名称,以及对应的节点IP地址和加入集群的时间。
如果要了解更多集群节点信息,可以通过如下命令:
[root@web1 ~]# cman_tool   status
Version: 6.2.0
Config Version: 35  #集群配置文件版本号
Cluster Name: mycluster   #集群名称
Cluster Id: 56756
Cluster Member: Yes
Cluster Generation: 2764
Membership state: Cluster-Member
Nodes: 4   #集群节点数
Expected votes: 6   #期望的投票数
Quorum device votes: 2   #表决磁盘投票值
Total votes: 6   #集群中所有投票值大小
Quorum: 4 #集群法定投票值,低于这个值,集群将停止服务
Active subsystems: 9 
Flags: Dirty 
Ports Bound: 0 177  
Node name: web1
Node ID: 4  #本节点在集群中的ID号
Multicast addresses: 239.192.221.146 #集群广播地址 
Node addresses: 192.168.12.230 #本节点对应的IP地址
2. clustat命令
clustat命令使用非常简单,详细的使用方法可以通过“clustat  -h”获取帮助信息,这里仅仅列举几个例子。

[root@web1 ~]#clustat  -i 3
Cluster Status for mycluster @ Mon Aug 23 18:54:15 2010
Member Status: Quorate
Member Name       ID       Status
 ------ ----             ----       ------
 web2              1   Online, rgmanager
 Mysql1         2   Online, rgmanager
 Mysql2        3   Online, rgmanager
 web1          4   Online, Local, rgmanager
 /dev/sdb7         0  Online, Quorum Disk
 Service Name    Owner (Last)     State         
 ------- ----       ----- ------        --------         
 service:mysqlserver   Mysql1    started       
 service:webserver     web1       started
 对输出内容含义如下: 
 clustat的“-i”参数可以实时的显示集群系统中每个节点以及服务的运行状态,“-i 3”表示每三秒刷新一次集群状态。
 在这个输出中,可以看到每个节点都处于“Online”状态,表明每个节点都运行正常,如果某个节点退出了集群,对应的状态应该是“Offline”,同时还可以看到,集群的两个服务也处于“started”状态,分别运行在Mysql1节点和web1节点。
 另外,通过“ID”一列可以知道集群节点的对应关系,例如,web2在此集群中对应的就是“Node 1”节点,同理,web1对应的是“Node 4”节点。了解集群节点顺序有助于对集群日志的解读。

3. ccs_tool命令
 ccs_tool主要用来管理集群配置文件cluster.conf,通过ccs_tool可以在集群中增加/删除节点、增加/删除fence设备、更新集群配置文件等操作。
下面是ccs_tool的几个应用实例:
当在一个节点修改完配置文件后,可以执行“ccs_tool  update”指令将配置文件在所有节点进行更新,例如:
[root@web1 cluster]# ccs_tool  update /etc/cluster/cluster.conf
Proposed updated config file does not have greater version number.
  Current config_version :: 35
  Proposed config_version:: 35
Failed to update config file.
 ccs_tool是根据cluster.conf中的“config_version”值来决定是否进行更新的,因此在修改完cluster.conf文件后,一定要将cluster.conf的config_version值进行更新,这样执行ccs_tool时才能更新配置文件。
[root@web1 cluster]# ccs_tool  update /etc/cluster/cluster.conf
Config file updated from version 35 to 36
Update complete.

五、管理和维护GFS2文件系统
GFS2文件系统提供了很多管理和维护工具,常用的有gfs2_fsck、gfs2_tool、gfs2_jadd、gfs2_quota、gfs2_convert等,这里重点介绍前三个命令的用法。

1. gfs2_fsck命令
 类似与ext3文件系统下的fsck.ext3命令,主要用于检测和修复文件系统错误。其实GFS2还有一个fsck.gfs2命令,此命令与gfs2_fsck命令完全一致。
gfs2_fsck的用法如下:
 gfs2_fsck [-afhnpqvVy] <device>
下面列举几个使用例子:
[root@Mysql1 ~]# gfs2_fsck  -y /dev/sdb5
Initializing fsck
Validating Resource Group index.
Level 1 RG check.
(level 1 passed)
Starting pass1
Starting pass1c
Pass1c complete
…………
Pass5 complete      
gfs2_fsck complete

2. gfs2_tool命令
 gfs2_tool命令参数较多,但使用并不复杂,它主要用来查看、修改GFS2文件系统的相关参数信息。
下面列举几个使用例子:
1)查看GFS2文件系统挂载信息
[root@web1 ~]# gfs2_tool df  /gfs2
/gfs2:
  SB lock proto = "lock_dlm"
  SB lock table = "mycluster:my-gfs2"
  SB ondisk format = 1801
  SB multihost format = 1900
  Block size = 4096
  Journals = 4
  Resource Groups = 19
  Mounted lock proto = "lock_dlm"
  Mounted lock table = "mycluster:my-gfs2"
  Mounted host data = "jid=2:id=65539:first=0"
  Journal number = 2
  Lock module flags = 0
  Local flocks = FALSE
  Local caching = FALSE

  Type           Total Blocks    Used Blocks     Free Blocks    use%           
  --------------- ----------------- -------------  ---------------- -----------
  data           1220724         136578                                 1084146        11%
  inodes         1084263         117                                     1084146        0%

(2)gfs2_tool命令
2)锁定与解锁GFS2文件系统:
[root@node1 gfs2]# gfs2_tool freeze  /gfs2
[root@node1 gfs2]# gfs2_tool unfreeze  /gfs2
 GFS2文件系统被锁定后,无法进行读写操作,直到被解锁。
3)查询GFS2可挂载的接点数
[root@web1 ~]# gfs2_tool journals /gfs2
journal2 - 128MB
journal3 - 128MB
journal1 - 128MB
journal0 - 128MB
4 journal(s) found.
这里显示了可挂载节点数为4,并且每个journal的大小为128M。
4)显示GFS2的版本信息:
[root@web1 ~]# gfs2_tool  version 
gfs2_tool 0.1.62 (built Mar 31 2010 07:34:25)
Copyright (C) Red Hat, Inc.  2004-2006  All rights reserved

(3)gfs2-jadd命令
gfs2-jadd主要用来配置GFS2的Journals数量和大小,用法非常简单:
gfs2_jadd [-cDhJjqV] /path/to/filesystem
下面列举几个用例:
设置Journals的大小为64M
[root@Mysql1 ~]# gfs2_jadd -J 64M
将GFS2可同时挂载的节点数目增加到5个
[root@Mysql1 ~]# gfs2_jadd  -j 5 /gfs2
 另外,另外gfs2_quota用于GFS2文件系统磁盘配额管理,gfs2_convert是一个数据转换应用程序,它可以对GFS文件系统的元数据进行更新,把它转换为一个GFS2文件系统。要深入了解它们的使用,请参考帮助信息,这里不在进行讲述。

(完)





















本文转自南非蚂蚁51CTO博客,原文链接:http://blog.51cto.com/ixdba/599894 ,如需转载请自行联系原作者




相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
11月前
|
消息中间件 机器学习/深度学习 安全
搭建OpenStack多节点的企业私有云平台——基础基础环境搭建
搭建OpenStack多节点的企业私有云平台——基础基础环境搭建
665 0
|
运维 Cloud Native 数据可视化
KubeVela 1.7 版本解读: 接管你的已有工作负载
KubeVela 1.7 版本已经正式发布一段时间,在此期间 KubeVela 正式晋级成为了 CNCF 的孵化项目,开启了一个新的里程碑。而 KubeVela 1.7 本身也是一个转折点,由于 KubeVela 从一开始就专注于可扩展体系的设计,对于控制器核心功能的需求也开始逐步收敛,我们开始腾出手来更加专注于用户体验、易用性、以及性能。在本文中,我们将重点挑选 1.7 版本中的工作负载接管、性
KubeVela 1.7 版本解读: 接管你的已有工作负载
|
运维 Kubernetes Cloud Native
KubeVela 1.7 版本解读:接管你的已有工作负载
KubeVela 1.7 版本解读:接管你的已有工作负载
KubeVela 1.7 版本解读:接管你的已有工作负载
|
Kubernetes 安全 Cloud Native
Kubernetes 多集群管理平台 OCM v0.9.0 发布:进一步改善托管集群安全性问题
随着 OpenClusterManagement(OCM)项目的持续发展,我们觉得有必要周期性向大家同步近期项目的一些进展了,包括我们我们下一步未来发展的方向以及作为贡献者如何参与进来我们的社区。2022 年的尾声即将到来,让我们来进一步看一下项目研发方面的新内容吧!
|
Cloud Native Linux 网络安全
【云原生实战】KubeSphere平台安装之Linux单节点和多节点部署
【云原生实战】KubeSphere平台安装之Linux单节点和多节点部署
333 0
【云原生实战】KubeSphere平台安装之Linux单节点和多节点部署
|
存储 运维 数据库
Rainbond集群安装和运维原理解读
本文将解读Rainbond集群的安装和运维的原理,使用户基本了解Rainbond的安装机制和运维重点,便于用户搭建大型Rainbond集群。
1593 0
|
存储 测试技术
CloudStack+XenServer详细部署方案(1):方案规划设计
CloudStack+XenServer详细部署方案(1):方案规划设计 本文简单介绍CloudStack +XenServer 部署过程。供大家了解CloudStack的功能和理解CloudStack的架构设计。
887 0
|
存储 关系型数据库 数据库
CloudStack+XenServer详细部署方案 CloudStack管理节点的安装和配置
CloudStack+XenServer详细部署方案 CloudStack管理节点的安装和配置 本文将根据设计文档, 安装和配置CloudStack管理节点。 本文只对配置流程和结果进行举例说明, 具体 细节和配置操作请参考 CloudStack安装文档. 实际部署架构: 管理机柜规划: Step1. 安装和配置MySQL数据库. 根据设计部署2台MySQL数据库服务器, 安装过程和配置过程请参考CloudStack管理文档. 辅DB 对主DB 采用Replication方式进行备份。
1314 0
|
存储 关系型数据库 数据库
我不是九爷 带你了解 CloudStack+XenServer详细部署方案(3):CloudStack管理节点的安装和配置
CloudStack+XenServer详细部署方案(3):CloudStack管理节点的安装和配置 本文将根据设计文档, 安装和配置CloudStack管理节点。 本文只对配置流程和结果进行举例说明, 具体 细节和配置操作请参考 CloudStack安装文档. 实际部署架构: 管理机柜规划: Step1. 安装和配置MySQL数据库. 根据设计部署2台MySQL数据库服务器, 安装过程和配置过程请参考CloudStack管理文档. 辅DB 对主DB 采用Replication方式进行备份。
866 0
|
运维 Ubuntu Shell
运维调试记录:Ubuntu14.04下部署Opendaylight Nitrogen集群
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhaobryant/article/details/79638755 建议参考...
1548 0