您的位置:首页 > 运维架构 > 网站架构

Heartbeat实现Web服务的高可用群集

2013-01-04 19:19 429 查看
Heartbeat实现Web服务的高可用群集

HA群集模型如下:对外的vip是192.168.2.1,处于活动状态的web的主机名node1,处于备份状态的web的主机名node2,当主状态的web死掉,处于备份状态的web立即变为主状态。以实现高可用性。(不考虑存储)




Node1的配置

1、配置主机名和ip地址




2、编辑hosts文件,使主备之间能相互解析
192.168.2.100 node1.server1.com
192.168.2.200 node2.server2.com
3、上传所需的heartbeat软件包,并安装
heartbeat-2.1.4-9.el5.i386.rpm
heartbeat-pils-2.1.4-10.el5.i386.rpm
heartbeat-stonith-2.1.4-10.el5.i386.rpm
libnet-1.1.4-3.el5.i386.rpm
perl-MailTools-1.77-1.el5.noarch.rpm

yum localinstall heartbeat-2.1.4-9.el5.i386.rpm heartbeat-pils-2.1.4-10.el5.i386.rpm heartbeat-stonith-2.1.4-10.el5.i386.rpm libnet-1.1.4-3.el5.i386.rpm perl-MailTools-1.77-1.el5.noarch.rpm -y --nogpgcheck

4、将心跳探测配置文件、资源管理配置文件、之间身份验证配置文件拷贝到/etc/ha.d/目录下
cd /usr/share/doc/heartbeat-2.1.4/
cp ha.cf authkeys haresources /etc/ha.d/
5、编辑ha.cf插入如下

bcast eth1 --心跳探测接口
node node1.server1.com --两个节点
node node2.server2.com

6、编辑authkeys文件插入如下:
auth 3
3 md5 adf25a5a79c3be8e1df5ff1ac64a21fc --MD5的验证类型 后面是是密钥
chmod 600 authkeys
7、编辑haresources文件插入如下:
node1.server1.com 192.168.2.1/24/eth0 httpd (节点名称(激活的)-------节点vip---脚本资源)

8、将httpd的控制脚本拷贝到/etc/ha.d/resource.d/目录下,将有heartbeat控制httpd服务
cd /etc/ha.d/resource.d/
cp /etc/init.d/httpd ./

9、确保httpd现在是stop状态,且开机不启动,因为他的控制权以后就交个了heartbeat,并启动集群heartbeat




启动群集后多了一个接口地址即vip




此时httpd也启动了




即node1.server1.com是处于活动状态,下面的node2.server2.com就只能是处于备份状态了,
将不会产生eth0:0接口,及httpd也处于stop状态

Node2是配置
与node1(1-9步)的配置基本完全相同,不在叙述
启动node2.server2.com的群集heartbeat

测试一下




活动状态node1的web
在一个client上长ping vip地址,并将node1.server1.com该为备份状态,看是否有丢包(在实际中你可以拔掉一根线)

这样做
cd /usr/share/heartbeat/
./hb_standby -----模拟失效

再测试一下




node2的web,此时node2变成了活动状态

如果node1再抢占位活动状态执行如下命令
cd /usr/share/heartbeat/
./hb_takeover

这个过程中ping没有被中断,高可用群集保证了服务的不间断。。。!!!本文出自 “蜘蛛侠” 博客,请务必保留此出处http://abc16810.blog.51cto.com/3177586/1107944
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: