本文实验环境基于《HA 高可用之V1版》之上:
HA集群的工作模型:
A/P:两个节点,工作于主备模式
N-M:N>M,N个节点M个服务,活动节点为N,备用为N-M
N-M:N个节点,N个服务
A/A模型:双主模型
资源类型:
primitive, native: 主资源,只能运行于一个节点,本地资源,不能在多个主机同时启动
group: 组资源;
clone: 克隆资源;是主资源才能克隆,可以运行在多个节点之上
总克隆数,每个节点最多可运行的克隆数;
stonith,cluster filesystem
master/slave: 主从资源,
主可读可写,从的不能读也不能写,但是可以从主复制数据,当主挂掉之后从立即代替,主恢复之后再次使用主节点
gfs2:global file system 红帽集群文件系统
RA类型:
heartbeat legacy
LSB
OCF
STONITH
1、编辑配置文件ha.cf:
可以使用 /usr/lib64/heartbeat/haresources2cib.pyc 转换haresource文件成xml格式
新加一行或在node1参数下方新加一行
crm respawn #支持yes/on/respawn
2、保存退出后在各个节点之间同步ha.cf文件,
使用/usr/lib64/heartbeat/ha_propagate 程序可自动同步:
[root@node1 ~]# /usr/lib64/heartbeat/ha_propagate
Propagating HA configuration files to node node2.a.com.
The authenticity of host 'node2.a.com (192.168.10.134)' can't be established.
RSA key fingerprint is 1d:1f:65:db:d9:43:f0:74:8e:ce:9c:2f:85:ea:c5:2b.
ha.cf 100% 10KB 10.4KB/s 00:00
authkeys 100% 656 0.6KB/s 00:00
3、在两个节点都安装heartbeat图形程序:
[root@node1 tmp]# cd heartbeat2/
[root@node1 heartbeat2]# rpm -ivh heartbeat-gui-2.1.4-12.el6.x86_64.rpm
Preparing... ########################################### [100%]
1:heartbeat-gui ########################################### [100%]
4、在各个节点启动服务:
假如启动错误,可以将haresource文件移动至其他目录,因为在第二版heartbeat当中已经不需要此文件了。
[root@node1 heartbeat2]# service heartbeat restart
Stopping High-Availability services:
Done.
Waiting to allow resource takeover to complete:
Done.
Starting High-Availability services:
2015/01/08_18:52:34 INFO: Resource is stopped
Done.
5、确认端口:
[root@node2 heartbeat2]# ss -tnlp
LISTEN 0 10 *:5560 *:* users:(("mgmtd",7108,11))
注:5560端口是用于crm中用于实现接收用户连接命令并实现当前集群配置的一个API接口
6、[root@node2 heartbeat2]# crm_mon #查看当前状态
7、配置图形配置HA用户密码:
默认的用户为hacluster,在那个节点配置就在那个节点设置密码:
[root@node1 heartbeat2]# passwd hacluster
Changing password for user hacluster.
New password:
BAD PASSWORD: it is too simplistic/systematic
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.
[root@node1 heartbeat2]# hb_gui
可以看到在配置文件ha.cf定义的两个节点已经正常识别并运行了:
8、配置基于组约束的方式实现HA高可用:
首先创建组、并在组里添加VIP、NFS文件系统和httpd服务
如下:
创建组:
组名:
添加VIP及相关信息:
添加NFS文件系统:
配置NFS详细信息:
添加httpd服务:
配置详细信息:
8、启动服务并测试:
状态显示:
总结:服务会运行在DC节点,且手动将DC节点node1转换为备用节点之后服务会自动迁移至node2,再把node1激活后服务会再次自动切回至node1。