Linux 高可用(HA)集群之heartbeat基于crm进行资源管(3)

六、crm资源管理器详解
1.haresource 资源管理器
  haresource 是heartbeat v1 内置的资源管理器,功能比较简单,不支持图形化管理。到了heartbeat v2时,有了更加强大的资源管理器crm,但同时为了兼容heartbeat v1,在heartbeat v2中同时有haresource与crm资源管理器。在上一篇博文中我们简介了haresource资源管理器(  ),在这一篇博文中我们主要讲解,crm资源管理器。
2. crm 资源管理器
说明:crm资源管理器是不兼容haresource资源管理器的配置文件haresource,所以我们在/etc/ha.d/haresources配置的资源都是不能使用的,所以我们得重新配置。下面我们说一下,crm资源管理器的配置方式。
(1).crm配置方式
命令行配置:
[root@node1 ~]# crm   
crmadmin      crm_diff      crm_master    crm_resource  crm_standby    crm_verify   
crm_attribute  crm_failcount  crm_mon        crm_sh        crm_uuid

图形界面配置:
1 [root@node1 ~]# hb_gui

注:本文我们主要讲解,图形界面的配置方式,在下一篇博文中我们主要讲解命令行的配置方式 。(heartbeat v2中的命令行配置方式,功能还不够强大,到了heartbeat v3中crm命令行配置方式,非常的强大,到时我们就不用图形界面的方式配置,全部用命令行方式配置)
(2).crm配置文件cib
路径:
[root@node1 ~]# cd /var/lib/heartbeat/crm/   
[root@node1 crm]# ll   
总计 16   
-rw------- 2 hacluster haclient 885 08-10 10:34 cib.xml   
-rw------- 2 hacluster haclient 885 08-10 10:34 cib.xml.last   
-rw-r--r-- 2 hacluster haclient  32 08-10 10:34 cib.xml.sig   
-rw-r--r-- 2 hacluster haclient  32 08-10 10:34 cib.xml.sig.last

查看:
[root@node1 crm]# vim cib.xml
<cib generated="true" admin_epoch="0" have_quorum="true" ignore_dtd="false" num_peers="2" ccm_transition="2" cib_feature_revision="2.0" crm_feature_set="2.0" epoch="3" dc_uuid="4a0c6580-3e21-4523-a3bb-a921b3f487c0" num_updates="4" cib-last-written="Sat Aug 10 10:34:59 2013">   
  <configuration>   
    <crm_config>   
      <cluster_property_set>   
        <attributes>   
          <nvpair value="2.1.4-node: aa909246edb386137b986c5773344b98c6969999"/>   
        </attributes>   
      </cluster_property_set>   
    </crm_config>   
    <nodes>   
      <node uname="node2.test.com" type="normal"/>   
      <node uname="node1.test.com" type="normal"/>   
    </nodes>   
    <resources/>   
    <constraints/>   
  </configuration>   
</cib>

说明:大家可以看到cib(Cluster Information Base 集群信息库)配置文件是xml格式的,对于不懂xml的博文来说,很难配置,还好有图形配置方式,但是看懂应该不难。
(3).配置crm
说明:要使用crm资源管理器,我们得配置一下用户名和密码,heartbeat安装好以后会默认给我新建一个hacluster用户,用来管理集群资源的,下面我们先来给hacluster配置一下密码hacluster,即用户名为hacluster,密码也为hacluster。(注,crm配置文件在DC上才会生效)
1234567891011 [root@node1 crm]# tail /etc/passwd   
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin   
nfsnobody:x:4294967294:4294967294:Anonymous NFS User:/var/lib/nfs:/sbin/nologin   
dbus:x:81:81:System message bus:/:/sbin/nologin)   
avahi:x:70:70:Avahi daemon:/:/sbin/nologin   
xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin   
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin   
avahi-autoipd:x:100:104:avahi-autoipd:/var/lib/avahi-autoipd:/sbin/nologin   
hacluster:x:101:105:heartbeat user:/var/lib/heartbeat/cores/hacluster:/sbin/nologin   
apache:x:48:48:Apache:/var/www:/sbin/nologin   
ntp:x:38:38::/etc/ntp:/sbin/nologin

node1:   

[root@node1 crm]# passwd hacluster   
Changing password for user hacluster.   
New UNIX password:   
BAD PASSWORD: it is based on a dictionary word   
Retype new UNIX password:   
passwd: all authentication tokens updated successfully.

node2:

[root@node2 ~]# passwd hacluster   
Changing password for user hacluster.   
New UNIX password:   
BAD PASSWORD: it is based on a dictionary word   
Retype new UNIX password:   
passwd: all authentication tokens updated successfully.

(4).启动crm管理器
[root@node1 ~]# hb_gui   
Traceback (most recent call last):   
  File "/usr/bin/hb_gui", line 41, in ?   
    import gtk, gtk.glade, gobject   
  File "/usr/lib64/Python2.4/site-packages/gtk-2.0/gtk/__init__.py", line 76, in ?   
    _init()   
  File "/usr/lib64/python2.4/site-packages/gtk-2.0/gtk/__init__.py", line 64, in _init   
    _gtk.init_check()   
RuntimeError: could not open display

在xshell启动hb_gui出错下面我们来说一下,解决方法

Linux 高可用(HA)集群之heartbeat基于crm进行资源管

Linux 高可用(HA)集群之heartbeat基于crm进行资源管


具体步骤如下:File –> Properties –> SSH –> Tunneling –> Forward X11 connections to: Xmanager,然后重新启动一下xshell,再进行测试。
[root@node1 ~]# hb_gui &

Linux 高可用(HA)集群之heartbeat基于crm进行资源管理详解


说明:这下我们打开了,crm图形配置界面,下面我们就进行资源配置!在我们说资源配置之间前我们还得补充一下知识点DC,我们上面多次提到。
(5).集群中的DC

Linux 高可用(HA)集群之heartbeat基于crm进行资源管

注:从上面的图中我们可以看到,此集群中的DC是node2,那么什么是DC呢?下面我们就来详细说明一下。
Consensus Cluster Membership在集群服务使用选举机制,允许集群节点决定指定的协调器(Designated Cooridnator-DC),它来帮助建立仲裁,管理集群节点成员关系和资源分配。DC维护集群的状态和管理策略。其他的节点必须转发状态改变请求到DC中处理。Heartbeat服务检查节点和连接状态来决定失效是否发生,集群事件日志服务(ha-logd)提供集群套件中所有服务的日志功能。能过上面的概念我们基本了解了什么是DC。简单来说,在多节点集群中要有个“头头”就是指定的“协调员”DC,就是一个集群中每个几点上都有一个相当于选举票的权值,而这个权值就是根据服务器的性能进行手动分配的,性能好的可以分配的大点,而所有的其他节点都要听从DC的调度,在一个集群中只有选票达到50%以上才能称为集群系统。如果出现故障了,就会有一个故障转移(failover)点,设置不同的优先级,可以使故障按照优先级的高低进行转移,选择一个性能好的服务器来充当DC,所以在此  集群节点中node2是DC。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/8c1cde6bec1311bcb905bb6696dfa845.html