RHCS 管理手册

有关RHCS的介绍,请看http://andyniu.iteye.com/blog/1962306

1. 启动 RHCS 集群

RHCS 集群的核心进程有 cman 和 rgmanager,要启动集群,依次在集群的每个节点执行如下命令即可:

[root@web1 ~]# service cman start
[root@web1 ~]# service rgmanager start

需要注意的是,执行这两个命令是有先后顺序的,需要首先启动 cman,然后在启动 rgmanager。在集群所有节点成功启动 cman 服务后,然后继续依次在每个节点启动 rgmanager 服务。

2. 关闭 RHCS 集群

与启动集群服务刚好相反,关闭 RHCS 集群的命令为:

[root@web1 ~]# service rgmanager stop
[root@web1 ~]# service cman stop

首先在集群的每个节点依次关闭 rgmanager 服务,等待所有节点的 rgmanager 服务成功关闭后,再依次关闭每个节点的 cman 服务即可完成整个集群服务的关闭。

有时在关闭 cman 服务时,可能会提示关闭失败,此时可以检查本机的共享存储 GFS2 文件系统是否已经卸载,还可以检查其它节点的 rgmanager 服务是否都已经正常关闭。

3.管理应用服务

集群系统启动后,默认是自动启动应用服务的,但是如果某个应用服务没有自动启动,就需要通过手工方式来启动。管理应用服务的命令是 clusvcadm,通过这个命令可以启动、关闭、重启、切换集群中的应用服务。

  1. 启动某个应用服务
    可以通过如下方式启动某个节点的应用服务:

     

    clusvcadm -e -m

    其中:

    扫描二维码关注公众号,回复: 1183003 查看本文章
    • 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 -m

    例如,要关闭节点 Mysql1 上的 mysqlserver 服务,操作如下:

    [root@Mysql1 ~]# clusvcadm -s mysqlserver -m Mysql1
    Member Mysql1 stopping service:mysqlserver…Success

    可以通过 /var/log/messages 文件查看关闭应用服务的详细信息。当 mysqlserver 关闭后,与服务相关的集群资源:如虚拟IP、应用程序服务脚本也随之释放。

  3. 重启某个应用服务
    可以通过如下方式重启某个节点的应用服务:

     

    clusvcadm -R -m

    例如,要重启节点 web1 上的 webserver 服务,操作如下:

    [root@web2 ~]# clusvcadm -R webserver -m web1
    Member web1 trying to restart service:webserver…Success

    这个命令是在 web2 节点上执行的,但是也能成功将 web1 节点上的 webserver 进行重启,由此可知,clusvcadm 命令在集群任意节点执行都是可以的。

  4. 切换某个服务
    可以通过如下方式将一个应用服务从一个节点切换到另一个节点:

     

    clusvcadm -r -m

    例如,要将节点 web1 的服务切换到节点 web2 上,操作如下:

    [root@web1 ~]# clusvcadm -r webserver -m web2
    Trying to relocate service:webserver to web2…Success
    service:webserver is now running on web2

4. 监控 RHCS 集群状态

通过对 RHCS 的监控,有助于了解集群每个节点的健康状况,并能发现问题,及时解决问题,RHCS 集群提供了丰富的状态查看命令,这里主要介绍下 cman_tool、clustat、ccs_tool 的使用方法。

  1. cman_tool 命令
    cman_tool 的参数比较多,但是用法比较简单,基本用法格式为:

     

    cman_tool [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.

猜你喜欢

转载自andyniu.iteye.com/blog/1963705