这个实验采用的是Heartbeat2.0版本的,也就是说是老版本的。老版本的HA是一个整体的项目,而新版本(3.0之后)出现了很大的改变,就是把HA的这个项目拆开成几个相对分散的项目,由不同的项目组来开发维护。
Heartbeat2.0集成的模块:
1、 heartbeat:节点间的通信检测模块
2、 ha-logd:集群事件日志服务
3、 CCM(consensus Cluster Membership):集群成员一致性管理模块
4、 LRM(Local Resource Manager):本地资源管理模块
5、 Stomith Daemon:是出现问题的节点从集群中脱离
6、 CRM(Cluster resource management):集群资源管理模块
7、 Cluster policy engine:集群策略模块
8、 Cluster transition engine:集群转移引擎
Heartbeat3.0之后有多个部分组成:
1、 Heartbeat:将原来的消息通信层独立为heartbeat项目,新的heartbeat只负责维护各个节点的通信。
2、 Cluster Glue:相当于一个中间层,他用来将heartbeat和pacemaker关联起来,主要包含两个部分,即、LRM和STONITH。
3、 Resource Agent:用来控制服务启停,监控服务状态的脚本的集合,这些脚本将被LRM调用从而实现资源的启动、停止、监控等等。
4、 Pacemaker:也就是Cluster Resource Manager(CRM),用来管理整个HA的控制中心,客户端通过pacemaker来配置管理整个集群。
Pacemaker提供了多种用户管理接口
(1)、crm shell,基于字符的管理方式
(2)、一个使用Ajax WEB配置方式的web kensole窗口。
(3)、hb_gui,即heartbeat的gui图形配置工具,这也是原来的2.1.x的默认的GUI的配置工具。
(4)、DRBD-MC 一个基于java的配置管理工具。
实验的平台:VM下两台CentOS5.5的linux服务器(均为双网卡),安装配置好apache和清除防火墙规则(iptables -F),其实也可以不关闭,配置iptabkes规则,由于本实验重点不在这里,所以略写了。
IP规划:
MASTER:eth0:192.168.1.195 eth1:10.0.0.3(eth1心跳用)
BACKUP:eth0:192.168.1.196 eth1:10.0.0.2(eth1心跳用)
VIP:192.168.1.200
第一:在主节点上的安装与配置
1、修改主机名
[root@localhost ~]# vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=master
[root@localhost ~]# vi /etc/hosts
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost
192.168.1.195 master
192.168.1.196 backup
[root@localhost ~]# reboot
[root@master ~]# uname -n
master
2、下载、安装软件包:
[root@master~]#wget http://zid-luxinst.uibk.ac.at/linux/rpm2html/centos/5/extras/i386/RPMS/heartbeat-2.1.3-3.el5.centos.i386.rpm
[root@master~]#wget http://zid-luxinst.uibk.ac.at/linux/rpm2html/centos/5/extras/i386/RPMS/ heartbeat-pils-2.1.3-3.el5.centos.i386.rpm
[root@master~]#wget http://zid-luxinst.uibk.ac.at/linux/rpm2html/centos/5/extras/i386/RPMS/ heartbeat-stonith-2.1.3-3.el5.centos.i386.rpm
注意安装顺序不可以颠倒(颠倒了也安装不成功)
[root@master ~]# rpm -ivh heartbeat-pils-2.1.3-3.el5.centos.i386.rpm
[root@master ~]# rpm -ivh heartbeat-stonith-2.1.3-3.el5.centos.i386.rpm
[root@master ~]# rpm -ivh heartbeat-2.1.3-3.el5.centos.i386.rpm
3、配置的部分
[root@master ~]# cp /usr/share/doc/heartbeat-2.1.3/ha.cf /etc/ha.d/ //主配置文件
[root@master ~]# cp /usr/share/doc/heartbeat-2.1.3/authkeys /etc/ha.d/ //认证文件
[root@master ~]# cp /usr/share/doc/heartbeat-2.1.3/haresources /etc/ha.d/ //资源管理的配置
[root@master ~]# chmod 600 /etc/ha.d/authkeys
[root@master ~]# vi /etc/ha.d/ha.cf //修改以下几处(这里没考虑优化,只是简单的功能实现)
logfile /var/log/ha-log
keepalive 2
deadtime 30
warntime 10
initdead 120
udpport 694
bcast eth1 # Linux //心跳网卡
ucast eth1 10.0.0.2 //心跳网卡连接对方心跳地址
auto_failback on
node master
node backup
ping 192.168.1.1 //检测全网是否连通
[root@master ~]# vi /etc/ha.d/authkeys //采用crc认证(对系统资源要求最小)
auth 1
1 crc
[root@master ~]# vi /etc/ha.d/haresources //