马哥运维视频笔记-HA Cluster之2 集群的实现和初步使用

别等时光非礼了梦想. 提交于 2019-11-28 19:04:53

HA集群的开源实现方案

Message层:

1、hearbeat:主要有3个版本,v1和v2版与CRM集成在一起,v3版中CRM从heartbeat中独立出去,叫做pacemaker

2、corosync:

3、cman:RedHat研发,属于早期在corosync诞生之前RedHat在自己的企业版Linux系统上提供的解决方案

4、keepalived:上述三者实现方法是基于OpenAIS框架标准,而keepalived自己是基于VRRP协议实现心跳功能,专用于LVS集群

CRM层:

1、haresources:heartbeat v1自带,配置接口:配置文件,文件名为haresources

2、crm:heartbeat v2自带,在各节点运行一个crmd守护进程,监听在TCP 5560端口;配置接口,CLI接口:crmsh,或者GUI接口:hb_gui

3、rgmanager:RedHat研发,早期和cman配合使用,配置接口,配置文件:cluster.conf(xml文件),CLI接口:clustat、cman_tool等;GUI接口:conga(luci+ricci)、system-config-cluster

4、pacemaker:在heartbeat v3版后作为独立项目,可以单独运行或者以插件运行;配置接口,CLI接口:crmsh(Suse研发)、pcs(RedHat研发),CentOS 6.4后默认只提供pcs;GUI接口:hawk(Suse研发)、LCMC、pacemaker-gui;功能比rgmanager强大得多

RA:reosurce agent,有多种类型

1、heartbeat legacy:heartbeat早期的传统型RA,通常位于/etc/ha.d/haresources.d/目录下

2、LSB:Linux Standard Base,位于/etc/init.d/下的脚本,至少接受4个参数,{start|stop|restart|status}

3、OCF:Open Cluster Framework,这是一个开放框架,有很多不同的脚本提供者

4、systemd:通过systemctl命令实现资源管理

5、STONITH:专用于实现调用STONITH设备功能的资源,通常为clone类型

组合方式:

heartbeat v1+haresources

heartbeat v2+crm(如果你是喜欢老古董,恋旧,可以用v1和v2)

hearbeat v3+pacemaker

cman+rgmanager

corosync+pacemaker(目前最常用)

RHCS:Red Hat Cluster Suite红帽集群套件

在RHEL5/6:组合方式为cman+rgmanager+conga(luci+ricci)

RHEL6还提供corosync v1+pacemaker,该场景下pacemaker是作为插件运行;而corosync v1版没有投票系统,所以有人就把cman拿来作为corosync的插件来使用,即corosync v1+cman+pacemaker(马哥评价该方案:诡异而复杂)

RHEL7:corosync v2+pacemaker,corosync在v2版中增加了投票系统,功能也更强大,所以cman从此退出江湖

配置集群的前提条件:

1、各节点时间必须同步,使用ntp协议

2、节点之间需要通过主机名互相通信,必须实现主机名解析,hosts文件中配置的主机名必须和hostname命令显示的保持一致

3、考虑是否会用到仲裁设备

4、建议各节点的root用户可以通过基于秘钥认证

注意:定义称为集群服务中的资源,一定不能开机自启动,因为它们将由CRM管理

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!