heartbeat3 使用(一)

Description:
关于heartbeat

heartbeat是Linux-HA组织的一个开源项目。可以用来构建高可用性的集群。

heartbeat可以看成由两部分组成:第一部分可以称为集群通信层(cluster messaging layer),用来检测集群中各节点的可用情况(即集群中哪些节点可用,哪些节点挂掉了);第二部分是集群资源管理器(CRM),负责各种资源(虚拟 IP,Web Server,ftp Server等等)在集群上的分配。

例如现在有一个两节点的小集群A B两台服务器使用了heartbeat,A上面有apache. 现在A机器出现问题,heartbeat通过消息通信层发现这一异常,然后会自动通过CRM,将apache服务迁移到B机器上。


版本历史

从1999开始,Linux-HA项目发布了heartbeat初始版本,这个版本的heartbeat集成了CRM(这时的CRM功能很弱,只支持双节点,并且不能监测资源级别的错误)。

一直到heartbeat 2.1.4版本(包括2.1.4),hearbeat都是集成有CRM的。

从2007年开始heartbeat的CRM部分脱离了Linux-HA项目成立了Pacemaker项目。

之后的Release版本heartbeat 2.99,已经不再包含CRM功能,安装完heartbeat之后你还需要安装Pacemaker.

另外从heartbeat 2.99 开始,Pacemaker离开后,Linux-HA又将heartbeat项目,分成了三个子项目(仍然属于Linux-HA),分别是heartbeat,Resource Agent,Cluster Glue.

Linux-HA项目整个历史是一个功能不断加强,不断细化的历史;看起来可能很混乱。

heartbeat (Linux-HA子项目)
 
 hearbeat(Linux-HA) -------- Resource Agent (Linux-HA子项目)
 
 | Cluster Glue (Linux-HA子项目)
 
 heartbeat(Linux-HA) -----
 
 |
 
 Pacemaker(不属于Linux-HA)

因为Linux-HA的三个子项目是紧密合作的,所有本文将三个子项目统称为heartbeat,不再仔细区分。

如何安装heartbeat

在Debian的lenny版本官方软件包中只提供了heartbeat 2.1.4及其之前的版本,没有Pacemaker.我们可以添加由Pacemaker官方提供的源来获得打包好的Pacemaker和heartbeat.

添加源 deb http://people.debian.org/~madkiss/ha lenny main
 给你的apt系统加入Madkiss的key apt-key adv --keyserver pgp.mit.edu --recv-key 1CFA3E8CD7145E30 (不加会一直有错误提示)

 然后 aptitude -y install heartbeat 会自动安装heartbeat,Pacemaker,Cluster Glue,Resource Agent.
 启动 /etc/init.d/heartbeat start 会自动启动heartbeat及其Pacemaker等。
 
 启动后通过pstree查看其相关进程。
 
 heartbeat—┬—attrd
 ├—ccm
 ├—cib
 ├—crmd———pengine
 ├—3*[heartbeat]
 ├—lrmd
 └—stonithd

这里使用的测试版本是heartbeat 3.0 beta 和 Pacemaker 1.0.6版本。

测试系统为debian lenny

最新的heartbeat 3的Release版本将在 2010年1月份发布。

参考资料

相关推荐