在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
管理和维护RHCS集群是一个非常复杂和繁琐的工作,要维护好一个RHCS集群,必须熟悉RHCS的基本运行原理,在集群管理方面,RHCS提供了两种方式:即Luci图形界面方式和命令行方式,这儿重点讲述在命令行下如何管理RHCS集群。 启动RHCS集群 RHCS集群的核心进程有cman和rgmanager。要启动集群,依次启动cman,然后再启动rgmanager,操作如下: 在主机web1上启动集群服务: [root@web1 ~]# service cman start Starting cluster: Loading modules... done Mounting configs... done Starting ccsd... done Starting cman... done Starting qdiskd...done Starting daemons...done Starting fencing... done [ OK ] 等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. |
请发表评论