本文实验环境基于《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 #查看当前状态

HA 高可用之V2版_master


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定义的两个节点已经正常识别并运行了:

HA 高可用之V2版_master_02


8、配置基于组约束的方式实现HA高可用:

首先创建组、并在组里添加VIP、NFS文件系统和httpd服务

如下:

创建组:

HA 高可用之V2版_master_03

组名:

HA 高可用之V2版_高可用_04


添加VIP及相关信息:

HA 高可用之V2版_master_05


添加NFS文件系统:

HA 高可用之V2版_master_06


配置NFS详细信息:

HA 高可用之V2版_高可用_07


添加httpd服务:

HA 高可用之V2版_高可用_08


配置详细信息:

HA 高可用之V2版_master_09



8、启动服务并测试:

HA 高可用之V2版_master_10


状态显示:

HA 高可用之V2版_高可用_11

总结:服务会运行在DC节点,且手动将DC节点node1转换为备用节点之后服务会自动迁移至node2,再把node1激活后服务会再次自动切回至node1。