Linux集群之美
上QQ阅读APP看书,第一时间看更新

1.1.7 高可用软件Heartbeat

Heartbeat就是Linux-HA项目中的一个组件,Linux-HA的全称是High-Availability Linux,它是一个开源项目。这个开源项目的目标是:通过社区开发者的共同努力,提供一个增强Linux可靠性、可用性和可服务性(Reliability/Availability/Serviceability,RAS)的集群解决方案。Heartbeat是目前开源HA项目中最成功的一个例子,它提供了所有HA软件所需要的基本功能,比如心跳检测和资源接管、监测群集中的系统服务、在群集中的节点间转移共享IP地址的所有者等。自1999年开始到现在,Heartbeat在行业内得到了广泛应用,也发行了很多版本,可以从Linux-HA的官方网站(http://www.linux-ha.org)上下载Heartbeat的最新版本。尽管Heartbeat有许多优异的特性,但它配置起来非常麻烦,而且如果双机之间的心跳线出了问题,就很容易形成“脑裂”的问题,这也是目前制约其被大规模部署应用的原因。Heartbeat也会产生HAVIP,这种IP的特点之一就是它是漂移的,并非总是固定在某一台主机上。

在生产环境下,Heartbeat可以与DRBD一起应用于线上的高可用文件系统,笔者公司的许多相关项目已经稳定运行了好几年,并且MySQL官方也推荐将其作为实现MySQL高可用的一种手段,所以建议大家掌握它的技术要点,也可将其用于自己的项目或公司。

注意

高可用虚拟IP,即HAVIP,并非固定在某一台主机,它是可以漂移的;阿里云平台已不支持HAVIP了,如果想在阿里云平台做高可用方案,需要自行购买他们的产品或服务;其他平台,如腾讯云和亚马逊云平台,都是支持HAVIP的。