首页 > *nix技术, 多机集群 > Pacemaker,Heartbeat,Corosync,都是些什么鬼?

Pacemaker,Heartbeat,Corosync,都是些什么鬼?

2016年6月1日 发表评论 阅读评论 5,088 次浏览

Pacemaker – Resource manager,资源管理器
Corosync – Messaging layer,消息层
Heartbeat – Also a messaging layer,同样是消息层
Resource Agents – Scripts that know how to control various services,控制各种服务的脚本

Pacemaker,可以开启或关闭服务,并且可以保证服务在且仅在某一处运行。Pacemaker本身没有相互通信的能力,因此需要依赖Corosync或Heartbeat。

Corosync或Heartbeat,消息层,具备使不同主机进行相互通信的能力,功能上类似于单一主机上的DBUS机制,但是“不同”主机。Heartbeat从2010年之后就不再继续维护,而Corosync则仍然处于活跃期,因此当前一般采用Corosync。不同主机的通信非常复杂,特别是当主机数超过2台或更多时,因此建议尽量用已有的被证明是可靠的开源组件。

Pacemaker要控制资源,比如开启或关闭某个服务,怎么做会比较合适?把每一个资源的控制逻辑都实现在Pacemaker里是不现实的,因为可用资源是如此的丰富。因此,一种更靠谱的做法就是把每一个资源的控制单独成各自独立的脚本,也就是Resource Agent。这些脚本只需提供对应的调用接口给Pacemaker即可,比如start/stop/monitor/validate-all等等(这有对应的接口规范)。这样,具体到实际的应用场景,需要使用哪种资源,只需把对应资源的控制脚本安装上即可。
对应那些常用的资源,比如apache、nginx、mysql、oracle等,各大发型版本(Fedora, openSUSE, SLES >= 10, RHEL >= 6, Debian, and Ubuntu)均提供有对应的Resource Agents包,直接安装即可,例如红帽下:yum install resource-agents。
默认带的:

[root@node132 ~]# rpm -ql resource-agents
...
/usr/lib/ocf/resource.d/heartbeat/Squid
/usr/lib/ocf/resource.d/heartbeat/VirtualDomain
/usr/lib/ocf/resource.d/heartbeat/Xinetd
/usr/lib/ocf/resource.d/heartbeat/apache
/usr/lib/ocf/resource.d/heartbeat/clvm
/usr/lib/ocf/resource.d/heartbeat/conntrackd
/usr/lib/ocf/resource.d/heartbeat/db2
/usr/lib/ocf/resource.d/heartbeat/dhcpd
/usr/lib/ocf/resource.d/heartbeat/docker
/usr/lib/ocf/resource.d/heartbeat/ethmonitor
...

完全参考:
http://blog.clusterlabs.org/blog/2010/pacemaker-heartbeat-corosync-wtf/

参考:
http://blog.csdn.net/blueheart20/article/details/49657831
http://www.linux-ha.org/wiki/Resource_Agents
http://opencf.org/home.html
http://corosync.org/
http://linux-ha.org/
http://www.freedesktop.org/wiki/Software/dbus
http://www.clusterlabs.org/
http://www.linux-ha.org/wiki/OCF_Resource_Agents

转载请保留地址:http://www.lenky.info/archives/2016/06/2512http://lenky.info/?p=2512


备注:如无特殊说明,文章内容均出自Lenky个人的真实理解而并非存心妄自揣测来故意愚人耳目。由于个人水平有限,虽力求内容正确无误,但仍然难免出错,请勿见怪,如果可以则请留言告之,并欢迎来讨论。另外值得说明的是,Lenky的部分文章以及部分内容参考借鉴了网络上各位网友的热心分享,特别是一些带有完全参考的文章,其后附带的链接内容也许更直接、更丰富,而我只是做了一下归纳&转述,在此也一并表示感谢。关于本站的所有技术文章,欢迎转载,但请遵从CC创作共享协议,而一些私人性质较强的心情随笔,建议不要转载。

法律:根据最新颁布的《信息网络传播权保护条例》,如果您认为本文章的任何内容侵犯了您的权利,请以Email或书面等方式告知,本站将及时删除相关内容或链接。

  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.