管理和维护RHCS集群是一个非常复杂和繁琐的工作 ,要维护好一个RHCS集群 ,必须熟悉RHCS的基本运行原理 ,在集群管理方面 ,RHCS提供了两种方式:即Luci图形界面方式和命令行方式 ,这儿重点讲述在命令行下如何管理RHCS集群 。
启动RHCS集群
RHCS集群的核心进程有cman和rgmanager 。要启动集群 ,依次启动cman,然后再启动rgmanager ,操作如下:
在主机web1上启动集群服务:
等cman在其它节点成功启动后 ,开始启动rgmanager服务 ,具体操作如下:
[root@web1 ~]# service rgmanager start
Starting Cluster Service Manager: [ OK ]
关闭RHCS集群
与启动集群服务器刚好相反 ,关闭RHCS集群的命令如下:
[root@web1 ~]# service rgmanager stop
[root@web1 ~]# service cman stop
有时在关闭cman服务时 ,可能会提示失败 ,此时可以检查本机的共享存储GFS2文件系统是否已经卸载,也可以检查其它节点的rgmanager服务是否全部已经正常关闭 。
管理应用服务
集群系统启动后 ,默认自动启动应用服务 ,但是,如果某个应用服务没有自动启动 ,就需要手动来启动 。管理应用服务的命令是clusvcadm ,通过这些命令可以启动 、关闭 、重启 、切换集群服务中德尔应用服务 。
启动某个应用程序
可以通过以下方式启动某个节点上的应用服务 ,以启动wrbserver为例:
[root@web1 ~]#clusvcadm -e webserver -m web1
Member web1 trying to enable service:webserver...Success
service:webserver is now running on web1
关闭某个应用程序
可以通过以下方式关闭某个节点上的应用服务 ,以启动mysqlserver为例:
[root@mysql1 ~]#clusvcadm -s mysqlserver -m web1
Member mysql1 stopping service:mysqlserver...Success
重启某个应用程序
可以通过以下方式重启某个节点上的应用服务 ,以启动wrbserver为例:
[root@web2 ~]#clusvcadm -R wrbserver -m web1
Member web1 trying to restart service:wrbserver...Success
这个命令是在web2节点上执行的 ,也能将web1节点上的wrbserver进行重启 ,由此可知 ,clusvcadm命令可以在集群任意节点上执行都是可以的 。
切换某个应用程序
可以通过以下方式切换某个节点上的应用服务 ,以在节点web1的服务切换到节点web2上为例:
[root@web1 ~]# clusvcadm -r wrbserver -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的使用方法 。
cman_tool命令
cman_tool参数比较多,但使用方法比较简单 ,这儿介绍两个参数的使用方法:
[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地址
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 ”节点。了解集群节点顺序有助于对集群日志的解读 。
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.
声明:本站所有文章 ,如无特殊说明或标注 ,均为本站原创发布 。任何个人或组织 ,在未征得本站同意时 ,禁止复制 、盗用 、采集 、发布本站内容到任何网站 、书籍等各类媒体平台 。如若本站内容侵犯了原著者的合法权益 ,可联系我们进行处理 。