当前位置: 首页 > HA, Linux > 正文

pacemaker和cman混合环境的fence设置

在cman和pacemaker共同工作的环境中,fence的配置有时会比较特殊

因为pacemaker和cman都可以进行fence操作,并且配置的方式也不尽相同

为了解决这种问题,pacemaker提供了fence_pcmk的cman类型fence设备

当cman需要fence时,就调用fence_pcmk操作(后台调用了pamcemaker的fence)

这样即解决了cman没有fence设备不能启动的问题,也避免了多重fence

看一下我的cluster.conf

    <clusternode name="redhat-3" nodeid="3">
      <fence>
        <method name="pcmk">
          <device name="pcmk" nodename="redhat-3"/>
        </method>
      </fence>
    </clusternode>

kill掉corosync,测试一下fence

    [root@redhat-1 ~]# killall -9 corosync

没有fence掉,晕

看一下日志

    Aug 21 14:11:50 redhat-3 root: fence_pcmk[11278]: Call to fence  (reset) failed with rc=1
    Aug 21 14:11:53 redhat-3 root: fence_pcmk[11340]: Call to fence  (reset) failed with rc=1

这句日志是谁打印的呢?看一下fence_pcmk的代码

    220 if ( $status != 0 ) {
    221        system "logger -p daemon.notice \"fence_pcmk[$agent_pid]: Call to fence $opt_n\
               ($opt_o) failed with rc=$status\"";
    222 }

原来是fence_pcmk打印的,仔细对照一把,貌似 $opt_n 的取值为空!

再来研究一下 $opt_n 是怎么取值的

    138         elsif ($name eq "port" )
    139         {
    140             $opt_n = $val;
    141         }

哦,原来将port的值给了 $opt_n, 而我的agent压根没有接收 port 的值,而是用的hostname

好吧,修改一下我的agent,同时接收 hostname 和 port

    # 读参数的地方    
    elsif ($name eq "hostname" || $name eq "port" )
    {
        $opt_g = $val;
    }

    #metadata函数
    <parameter name="port" unique="1">
        <getopt mixed="-p" />
        <content type="string"  />
        <shortdesc lang="en">Physical plug number or name of virtual machine</shortdesc>
    </parameter>

cluster.conf也对应修改一下

    <clusternode name="redhat-4" nodeid="4">
      <fence>
        <method name="pcmk">
          <device name="pcmk" port="redhat-4"/>
        </method>
      </fence>
    </clusternode>

然后再进行测试,ok,问题完美解决

That’s all

    分享到:

本文固定链接: http://klwang.info/pacemaker-and-cman-combine-env-fence-config/ | 数据库|Linux|软件开发

该日志由 klwang 于2013年09月01日发表在 HA, Linux 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: pacemaker和cman混合环境的fence设置 | 数据库|Linux|软件开发
关键字: , , , , , ,
【上一篇】
【下一篇】

pacemaker和cman混合环境的fence设置:等您坐沙发呢!

发表评论

*
快捷键:Ctrl+Enter