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

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

首先,先按默认模式配置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中有下面两行,则删除:

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

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

例如LSB风格的脚本,运行./mysqlstatus时候,

返回值包含OK或则running则表示资源正常

返回值包含stopped或者No则表示资源不正常。

假如是OCF风格的脚本,运行./mysqlmonitor时候,

返回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:

60s" name="monitor" timeout="30s"/>

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

6)将资源移向指定节点

crm_resource -M -r mysql_2 -H alssme_probe4

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

crm_resource -U -r mysql_2

NOTE: the values of resource_stickiness and default_resource_stickiness may mean that it doesnt move back. In such cases, you should use -M to move it back and then run this command.

9)将资源从CRM中删除

crm_resource -D -r mysql -t primitive

10)将资源组从CRM中删除

crm_resource -D -r my_first_group -t group

ocf heartbeat mysql_Heartbeat CRM模式相关推荐

  1. Linux高可用性方案之Heartbeat的CRM节点得分计算(原创)

    crm资源得分概述  在V2的Heartbeat中,为了将资源的监控和切换结合起来,同时支持多节点集群,Heartbeat提供了一种积分策略来控制各个资源在集群中各节点之间的切换策略.通过该积分机制, ...

  2. drbd heartbeat mysql_Heartbeat+DRBD+MySQL Replication故障处理

    不久前的一次机房网络故障,再一次对我们在Heartbeat+DRBD+MySQL数据库架构运维水平的一个考验,之前不止一次的测试与线上部署,还有之后大言不惭的关于该架构组件的所谓深入理解,在这一次不经 ...

  3. 4 构建Mysql+heartbeat+DRBD+LVS集群应用系统系列之Lvs为Mysql-slave做负载均衡

    preface Mysql+drbd+heart能够实现Mysql的高可用了,master出现故障的时候能够快速切换.在现在的业务情况下,读操作多,写操作少的情况下,一台DB server明显扛不住, ...

  4. 高可用集群技术之corosync应用详解(一)

    Corosync概述: Corosync是集群管理套件的一部分,它在传递信息的时候可以通过一个简单的配置文件来定义信息传递的方式和协议等.它是一个新兴的软件,2008年推出,但其实它并不是一个真正意义 ...

  5. Linux高可用集群(Corosync+Pacemaker)

    说在前面: 这个编辑器也太霸道了,,两个浏览器,,一个不能粘贴,一个不能上图,只能保存草稿之后切换,   造孽啊! 写博不易,且看且珍惜   [蜡烛] ntp服务器配置 # vim /etc/ntf. ...

  6. corosync配置与详解

    Corosync: corosync: votes corosync: votequorum cman+corosync cman+rgmanager, cman+pacemaker corosync ...

  7. oracle erp crm系统,企业集成ERP和CRM系统的模式体验

    企业集成ERP和CRM系统的模式体验 2008-11-02 eNet&Ciweek 为了减少这种风险,企业应该部署单向集成,也就是CRM只有在通过业务流程审核的情况下才可以查询和改变财务数据. ...

  8. redhat5.8+heartbeat+web+nfs(提供软件包)

    Heartbeat+web+nfs Client            eth0:192.168.0.50 web master        eth0:192.168.0.115 web backu ...

  9. Linux高可用之heartbeat

    Linux高可用之heartbeat heartbeat的概念 HA集群中的相关术语 Heartbeat的组成与原理 HeartBeat组件 heatbeat基本使用 安装heartbeat前的准备 ...

  10. Heartbeat+DRBD+MySQL高可用方案

    1.方案简介 本方案采用Heartbeat双机热备软件来保证数据库的高稳定性和连续性,数据的一致性由DRBD这个工具来保证.默认情况下只有一台mysql在工作,当主mysql服务器出现问题后,系统将自 ...

最新文章

  1. java 偶数求和 数组_JAVA实现幻方
  2. CodeForces - 540B School Marks —— 贪心
  3. Oracle 原理:序列
  4. Qt-qml元素布局
  5. 基础002_V7-CLB
  6. MySQL导入导出远程访问命令
  7. 手把手教你用Flutter做炫酷动画
  8. 光大代付支付有问题解决思路
  9. 唯有自己变得强大_只有自己变得强大,才够让你的人生一帆风顺
  10. ansi c标准_C语言为什么需要有标准库
  11. IBM AIX创建lv
  12. 关于WPF中RichTextBox失去焦点后如何保持高亮显示所选择的内容
  13. 以太坊源代码 - eth_call以及eth_sendTransaction区别
  14. 图片不存放文件夹,直接存在数据库中,
  15. windows 搭建kms服务器激活_搭建kms服务器,自建KMS激活服务器的两种方法
  16. 瑞利信道matlab,瑞利信道Matlab仿真程序
  17. ImageMagick将多张图片拼接成一张图片_真没想到!照片加文字和照片拼接,微信就能做到,太方便了...
  18. php socket recv 超时,socket编程中的超时设置示例详解之一
  19. Python—期末考试模拟训练题
  20. 详细的SQL注入相关的命令

热门文章

  1. 自定义控件ViewGroup上下滑动
  2. 高斯消元法求矩阵的逆
  3. MSF利用宏病毒感染word文档获取shell复现
  4. HarmonyOS APP 开发入门
  5. 华为外包软件公司集体罢工!
  6. 【算法】算法之会议安排问题(C++源码)
  7. 『概率知识』伯努利试验及n重伯努利试验+方差协方差理解!
  8. python的tkinter插入图片_如何用python tkinter插入显示图片?
  9. ACID--事物具有的四个特征
  10. 在线考试系统微信小程序的实现(一)