如何管理和维护RHCS集群

管理和维护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.
(0)

相关推荐

  • windows2003做集群的方法

    首先说一下需要的环境: 1、每台机子只有一个网卡,操作系统windows2003 sp2, 准备三个IP地址,如:服务器A:192.168.0.2 服务器B:192.168.0.3 和用于集群IP:1 ...

  • 服务器集群负载均衡(F5,LVS,DNS,CDN)区别以及选型

    ======================================= F5全称: F5-BIG-IP-GTM 全球流量管理器. 是一家叫F5 Networks的公司开发的四~七层交换机,软硬 ...

  • 用LVS在Linux上搭建负载均衡集群服务

    一、基于NAT的LVS的安装与配置 1. 硬件需求和网络拓扑 2.下载软件: (1)、内核源代码:需要下载2.4.23以后版本的内核源代码。下载地址为http://www.kerner.org.本文中 ...

  • Linux集群内SSH免密码访问的快速配置方法

    日常无论测试环境还是生产环境,在进行多台服务器(集群)安装配置的时候,经常需要对集群内服务器SSH访问做免密码设置.比如Hadoop.HBase等集群的安装配置,或者多台服务器为便于后续运维也需要做S ...

  • Linux集群原理与安装配置介绍

    Linux集群原理 Linux集群系统包括集群节点和集群管理器两部分。集群节点有时简称为节点、服务器或服务器节点,是提供处理资源的系统,它进行集群的实际工作。一般来讲,它必须进行配置才能成为集群的一部 ...

  • Linux系统 CentOS 7怎么搭建集群? 搭建高可用集群的步骤

    CentOS 7下怎么搭建高可用集群。高可用集群是指以减少服务中断时间为目的的服务器集群技术。它通过保护用户的业务程序对外不间断提供的服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度。那 ...

  • 在VMWare中配置SQLServer2005集群 Step by Step(四) 集群安装

    在VMWare 中配置集群 1. 进入command 命令窗口执行以下命令,创建仲裁磁盘和共享数据磁盘 vmware-vdiskmanager.exe -c -s 200Mb -a lsilogic ...

  • 在VMWare中配置SQLServer2005集群 Step by Step(五) SQLServer集群安装

    安装 SQLServer2005 集群 1. 安装MSDTC ,打开控制面板,添加删除程序,添加删除windows 组件,选择应用服务器,选择启用网络DTC 访问 2. 安装完成后,在集群管理 器中添 ...

  • 高性能的Linux集群监控之道

    监控是集群管理的核心任务。监控数据可用于调度任务、负载平衡、向管理员报告软硬件故障,并广泛地控制系统使用情况。监控信息必须在不影响集群性能的情况下获得。本文将讨论使用/proc文件系统和Java来获得 ...