设为首页收藏本站

LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区!

 找回密码
 注册

QQ登录

只需一步,快速开始

#公告#抱歉,网站将关闭,不再开放。由于PC时代已远逝 。在这个后移动互联网时代,我们继续携手前行,保持对技术的热情。共同构建linuxtone知识星球欢迎加入,一起讨论技术、招聘人才、分享资源。请新老linuxtone人 扫码移步到 知识星球:linuxtone

学习是一种信仰!分享是一种快乐!能力= 心态 * 沟通 * 知识 (你的每一天需要正能量!)

 网站的发展需要你贡献一份力量!希望你能每天坚持看贴1小时,并回答网友的问题!祝你在浏览论坛的过程中取得进步!谢谢!linuxtone加油!大家加油! 友情提示: 你今天学习了吗?你今天进步了吗?少一点抱怨!多一点进步!Life is short ! Why not linuxtone ?  

网站的发展、感谢每位坛友的努力!

查看: 5154|回复: 0

[Heartbeat] Heartbeat CRM模式 [复制链接]

LT管理团队

社区首席勤杂工

Rank: 9Rank: 9Rank: 9

签到
475
注册时间
2008-5-19
最后登录
2019-11-16
在线时间
1946 小时
阅读权限
200
积分
59409
帖子
2551
主题
1209
精华
25
UID
1

LT总司令

发表于 2008-12-19 18:12:37 |显示全部楼层
heartbeat默认模式是没法监控资源的,也就是说其中某个资源要是crash掉了,也不会发生任何动作,它只有当它认为对方机器dead后才会发生动作。也就是机器crashed,网络断掉了之类。这显然没法达到我们的目标。

为了达到我们的目标就要采用crm(cluster resource management)模式了。




首先,先按默认模式配置heartbeat(详见heartbeat新手上路)。
默认模式配置成功后,再按下面的步骤操作:

1)在ha.cf里面增加
crm on

2)将haresources资源文件转换成cib.xml文件,2.1.3自带有转换脚本

/usr/local/lib64/heartbeat/haresources2cib.py haresources


输出文件在/usr/local/var/lib/heartbeat/crm/cib.xml



3)如果hacluster和haclient用户和用户组是在安装heartbeat之后创建的话,则需要执行下面命令修改权限

修改heartbeat目录权限,可以用以下命令:

find / -type d -name "heartbeat" -exec chown -R hacluster {} ;

find / -type d -name "heartbeat" -exec chgrp -R haclient {} ;



4)在2.0的版本中ipfail与crm 模式有冲突,所以在ha.cf中不可打开ipfail。

5) cib.xml文件的修改

如果在IPaddr中有下面两行,则删除:


<nvpair id="IPaddr_172_18_57_83_attr_1" name="nic" value="24"/>


<nvpair id="IPaddr_172_18_57_83_attr_2" name="cidr_netmask" value="bond0"/>




2.1.3版本生成的cib.xml文件中,mysql资源是ocf格式的,而它自带的mysql角本是无法启动mysql的,所以需要修改,有两种方法。在修改前先介绍一下ocf和lsb格式的区别:


LSB格式的角本必须支持status功能,必须能接收start,stop,status,三个参数;而如果是OCF格式,则必须支持start,stop,monitor三个参数.其中status和monitor参数是用来监控资源的,非常重要.

例如LSB风格的脚本,运行./mysql status时候,
返回值包含OK或则running则表示资源正常
返回值包含stopped或者No则表示资源不正常。

假如是OCF风格的脚本,运行./mysql monitor时候,
返回0表示资源是正常的,
返回7表示资源出现问题.

ocf格式的启动角本在/usr/lib/ocf/resource.d/heartbeat(也许你的机器上目录不是这个,可以搜索ocf来查找)
lsb格式的启动角本在/usr/lib/lsb/resource.d/heartbeat目录下。

两种修改方法
1.修改cib.xml,将mysql的ocf改成lsb。然后在/usr/lib/lsb/resource.d/heartbeat(如果该目录不存在,则手工创建,并将权限赋给hacluster:haclient)下面执行ln -s /etc/init.d/mysql mysql。

注意,如果修改过cib.xml文件后,需要将同目录下面其他文件均删除!


2.修改/usr/lib/ocf/resource.d/heartbeat下面的mysql的角本,使之能正常工作。或者将/etc/init.d/mysql拷过来,修改使它支持monitor操作


6) 然后启动heartbeat即可。Service heartbeat start.



7)如果mysql采用双master的话,则在stop资源后,记的将mysql手动起来。



Heartbeat CRM模式管理
1)查看所有资源

[root@alssme_probe3 sbin]# crm_resource -L
Resource Group: group_1

IPaddr_172_18_158_111
(heartbeat::ocf:IPaddr)


mysql_2
(lsb:mysql)



2)查看资源跑在哪个节点上

[root@alssme_probe3 sbin]# crm_resource -W -r mysql_2
resource mysql_2 is running on: alssme_probe3


4)启动/停止资源(cluster不会发生切换,手工停mysql,将会重新启动或者发生切换)
[root@alssme_probe4 crm]# crm_resource -r mysql_2 -p target_role -v started
[root@alssme_probe3 sbin]# crm_resource -r mysql_2 -p target_role -v stopped


5)查看资源在cib.xml中的定义

[root@alssme_probe3 sbin]# crm_resource -x -r mysql_2
mysql_2 (lsb:mysql):
Started alssme_probe3

raw xml:

<primitive class="lsb" provider="heartbeat" type="mysql" id="mysql_2">


<operations>


<op id="mysql_2_mon" interval="60s" name="monitor" timeout="30s"/>


</operations>


<instance_attributes id="mysql_2">


<attributes>


<nvpair name="target_role" id="mysql_2-target_role" value="started"/>


</attributes>


</instance_attributes>


</primitive>




即每60秒检测资源运行情况,如果发现资源不在,则尝试启动资源,如果30s后还未启动成功,则资源切换向另节点。时间可以修改( mysql一般建议采用这个时间值)



6)将资源移向指定节点

crm_resource -M -r mysql_2 -H alssme_probe4

7)允许资源回到正常的节点

crm_resource -U -r mysql_2

NOTE: the values ofresource_stickiness and default_resource_stickiness may mean that itdoesnt move back. In such cases, you should use -M to move it back andthen run this command.

9)将资源从CRM中删除

crm_resource -D -r mysql -t primitive

10)将资源组从CRM中删除

crm_resource -D -r my_first_group -t group

来源:http://hi.baidu.com/farmerluo/bl ... 56de3eb700c87a.html
&amp;lt;-sina_sign,1762622645,2a5b1a59,10-&amp;gt;感谢大家对linuxtone的支持!&amp;lt;/strong&amp;gt;
您需要登录后才可以回帖 登录 | 注册

IT运维专家网感谢您的支持

合作联系: QQ:67888954/MSN:cnseek@msn.com/mail:netseek@linuxtone.org

Archiver|手机版|感谢所有关心和支持过LinuxTone的朋友们 转载本站内容请注明原作者名及出处 ( 京ICP备08103151 )   |

GMT+8, 2019-12-13 15:40 , Processed in 0.019659 second(s), 14 queries , Apc On.

Powered by Discuz! X2 Licensed

© 2001-2011 Comsenz Inc.

回顶部