歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> 學習Linux

管理和維護RHCS集群

管理和維護RHCS集群


管理和維護RHCS集群


導讀管理和維護RHCS集群是一個非常復雜和繁瑣的工作,要維護好一個RHCS集群,必須熟悉RHCS的基本運行原理,在集群管理方面,RHCS提供了兩種方式:即Luci圖形界面方式和命令行方式,這兒重點講述在命令行下如何管理RHCS集群。啟動RHCS集群

RHCS集群的核心進程有cman和rgmanager。要啟動集群,依次啟動cman,然後再啟動rgmanager,操作如下:
在主機web1上啟動集群服務:

[root@web1 ~]# service cman startStarting 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 startStarting 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 web1Member web1 trying to enable service:webserver...Successservice:webserver is now running on web1
關閉某個應用程序

可以通過以下方式關閉某個節點上的應用服務,以啟動mysqlserver為例:

[root@mysql1 ~]#clusvcadm -s mysqlserver -m web1Member mysql1 stopping service:mysqlserver...Success
重啟某個應用程序

可以通過以下方式重啟某個節點上的應用服務,以啟動wrbserver為例:

[root@web2 ~]#clusvcadm -R wrbserver -m web1Member web1 trying to restart service:wrbserver...Success

這個命令是在web2節點上執行的,也能將web1節點上的wrbserver進行重啟,由此可知,clusvcadm命令可以在集群任意節點上執行都是可以的。

切換某個應用程序

可以通過以下方式切換某個節點上的應用服務,以在節點web1的服務切換到節點web2上為例:

[root@web1 ~]# clusvcadm -r wrbserver -m web2Trying to relocate service:webserver to web2...Successservice:webserver is now running on web2
監控RHCS集群狀態

通過對RHCS的監控,有助於了解集群每個節點的健康狀態,發現問題並及時解決問題。RHCS集群提供了豐富的狀態查看命令,這裡主要介紹cman_tool、clustat、ccs_tool的使用方法。

cman_tool命令

cman_tool參數比較多,但使用方法比較簡單,這兒介紹兩個參數的使用方法:

[root@web1 ~]# cman_tool  nodes -aNode  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   statusVersion: 6.2.0Config Version: 35  #集群配置文件版本號Cluster Name: mycluster   #集群名稱Cluster Id: 56756Cluster Member: YesCluster Generation: 2764Membership state: Cluster-MemberNodes: 4   #集群節點數Expected votes: 6   #期望的投票數Quorum device votes: 2   #表決磁盤投票值Total votes: 6   #集群中所有投票值大小Quorum: 4 #集群法定投票值,低於這個值,集群將停止服務Active subsystems: 9 Flags: Dirty Ports Bound: 0 177  Node name: web1Node ID: 4  #本節點在集群中的ID號Multicast addresses: 239.192.221.146 #集群廣播地址 Node addresses: 192.168.12.230 #本節點對應的IP地址
clustat命令

clustat命令使用非常簡單,詳細的使用方法可以通過“clustat -h”獲取幫助信息,這裡僅僅列舉幾個例子。

[root@web1 ~]#clustat  -i 3Cluster Status for mycluster @ Mon Aug 23 18:54:15 2010Member Status: QuorateMember 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.confProposed updated config file does not have greater version number.  Current config_version :: 35  Proposed config_version:: 35Failed 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.confConfig file updated from version 35 to 36Update complete.

本文原創地址:http://www.linuxprobe.com/management-maintenance-rhcs.html


http://xxxxxx/Linuxjc/1141690.html TechArticle

Copyright © Linux教程網 All Rights Reserved