前面几天用了不少的篇幅来讲解heartbeat v1和v2的配置,其中也提到,v2 style格式是基于CRM(集群资源管理)程序的,并提供了GUI(图形化)管理工具,可以用于配置和监控HA集群的状态。不过,由于官方关于这部分的说明不是很多,而且该工具也的确比较难用。主要缺少提示性描述和对输入内容的监控。经过几天的摸索,可以实现一些基本的配置,下面就以一个具体例子来说明。
一、架构
由于也是刚开始摸索这块的内容,暂时只能提供基础的功能实现方式,如果其中有描述错误的地方,请谅解,并告知我解决方法,谢谢!
这个架构是沿用我们之前的测试机器:
hatest4 192.168.228.234
该集群用于实现httpd服务的高可用:
二、功能与限制
从实际的测试来看,heartbeat除能实现高可用的功能外,与红旗HA软件也是有些差异的。
2、集群可以是对称或非对称模式,使用不同的模式,应用在集群中启动的顺序、位置都是不相同的;
3、hearbeat集群似乎没有严格区分内网和外网心跳,只要心跳是通的,应用就不会发生切换;
4、为此,似乎没有对网卡监控的必要,只有当DC无法与某个节点取得联系时,才会发生切换;
5、当应用出现问题时,会从本地重启,而不会切换到其他机器上。
当然,heartbeat v2还可以构建更复杂的应用集群,实现更复杂的功能,但这次的演示暂时没有提及这方面的内容。
三、基本配置
这部分的内容,在之前的日子中已经提到,这里就不详细说明了,有需要的朋友可以往前看看。
1、配置主机名和IP
首先,给每个节点的机器都设定好相关的主机名和IP地址,并使用uname -n验证。
hatest3
然后,设定heartbeat的基础配置文件。
以下操作在其中一台服务器上进行,以hatest3为例。
2、配置authkeys
内容如下:
# cat authkeys
auth 2
1 crc
2 sha1 HI!
3 md5 Hello!
# chmod 600 authkeys
3、配置ha.cf
keepalive 2
deadtime 30
initdead 30
udpport 694
bcast eth0 # 不区分内网和外网IP,若需要建立冗余网络心跳,建议使用bond0设备
auto_failback off
node hatest3
node hatest4
ping 192.168.228.153 # 用于测试网络连通性,一般设置为网关
use_logd yes
crm respawn
compression bz2
compression_threshold 2
4、赋值配置文件
Propagating HA configuration files to node hatest4.
ha.cf 100% 11KB 10.7KB/s 00:00
authkeys 100% 682 0.7KB/s 00:00
Setting HA startup configuration on node hatest4.
※ 与前面日志不一样的地方是,我们这里不用复制cib.xml文件。(实际上该文件还未创建)
因为,后续当我们配置CIB的时候,CRM会帮我们自动同步该文件的。
5、修改heartbeat启动脚本
这步还是不能缺少,详细请见:这里。
6、给hacluster用户创建密码
使用hb_gui访问CRM管理界面前,还需要给hacluster用户创建一下密码:
※ 这个用户仅在当前的节点有效,如果您需要从在其他节点上查看HA集群信息的话,需要分别操作。
7、启动heartbeat服务
当上面的工作都完成后,即可分别在各节点上,启动集群服务:
在正式使用配置工具前,请务必确认您的应用已经在各节点上独立的运行。
请手动激活或停止浮动IP,启动或停止需要托管的应用程序。我这里已经默认您已经进行了类似的测试工作。如果您对这方面的内容不了解,建议您看看之前的日子:安装及配置红旗高可用服务器 HA 5.0 [2] – 配置应用环境
四、使用图形配置工具
1、启动和登录
当您首次启动heartbeat v2服务的时候,会打开5560端口,并自动创建默认的cib.xml文件。
接下来,即可使用hb_gui进行配置,在已经给hacluster用户设定了密码的机器上运行:
输入正确的用户名和密码后,开始登陆:
默认策略是,资源的执行顺序是,同一个资源组中的资源会从上往下执行的。所以,当我们在创建资源的时候,最好可以按该顺序创建。(当然,以后可以修改)
所以,首先是通过邮件点击“资源”,然后选择“添加新元素”: