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

Lvs-DR+Heartbeat+ldirectord+web实现高可用性群集 推荐

2013-10-21 16:10 696 查看
Lvs-DR+Heartbeat+ldirectord高可用性群集
Heartbeat 四个层次 1)messaging layer 心跳探测测 /etc/ha.d/ha.cf 2)ccm 成员管理 /etc/ha.d/authkeys 3)crm 群集资源管理 /etc/ha.d/haresources 控制脚本 4.)resources



首先请保证各个节点之间的物理连通性。试验目的:实现HA高可用性群集系统,LSA-DR直接路由进行负载均衡以及Directory和RealServer的健康探测。一、配置Directory1:1、确保director能够相互解析到对方的DNS需要编辑vim /etc/hosts.

2.配置director1的本地主机名[root@node1 ~]# vim /etc/sysconfig/network

3.配置eth0地址,及eth1来作为两个director之间的心跳探测.

4挂载本地光盘,配置本地YUM



5.安装Heartbeat的软件包 heartbeat-2.1.4-9.el5.i386.rpmheartbeat-devel-2.1.4-9.el5.i386.rpmheartbeat-gui-2.1.4-9.el5.i386.rpmheartbeat-ldirectord-2.1.4-9.el5.i386.rpmheartbeat-pils-2.1.4-10.el5.i386.rpmheartbeat-stonith-2.1.4-10.el5.i386.rpmlibnet-1.1.4-3.el5.i386.rpmperl-MailTools-1.77-1.el5.noarch.rpm //下载地址:http://yunpan.cn/QbFZ4REqCjP8w[root@node1 ~]# cd Heartbeat //存放Heartbeat的软件包目录[root@node1 heartbeat]# #yum localinstall *.rpm --nopgpcheck




6配置Heartbeat服务① 从模版中拷贝配置文件到Heartbeat对应的/etc/目录下[root@node1 heartbeat]# # cd /usr/share/doc/heartbeat-2.1.4/[root@node1 heartbeat]# # cp ha.cf /etc/ha.d/[root@node1 heartbeat]# # cp haresources /etc/ha.d/[root@node1 heartbeat]# # cp authkeys /etc/ha.d/



② 编辑Directory的心跳探测配置文件ha.cf[root@node1 ha.d]# vim ha.cf 第一层






③ 配置验证密钥(位了实现双方身份验证)[root@node1 ha.d]# vim authkeys 第二层


[root@node1 ha.d]# chmod 600 /etc/ha.d/authkeys//注意:如果不修改权限的话,启动Heartbeat就会出错。④ 编辑Heartbeat资源管理器:(用于管理Directory上的服务,如web,ftp,多个资源之间需要用“::来分隔”)[root@node1 ha.d]# vim haresources 第三层


安装ipvsadm服务:注意在前面,使用yum安装所有的rpm时,其中一个软件包heartbeat-ldirectord.rpm会依赖与ipvsadm,所以ipvsadm也就安装了。如果无法确定是否安装,可以使用命令查看:[root@node1 heartbeat]# # rpm -qa |grep ipvsadm[root@node1 ~]# rpm -ivh /mnt/cdrom/Cluster/ipvsadm-1.24-10.i386.rpm
⑤ 配置ipvs转发表

//保存ipvs规则[root@node1 ~]# service ipvsadm save[root@node1 ~]# chkconfig --list ipvsadm//禁止ipvs开机自动起来[root@node1 ~]# chkconfig ipvsadm on//将ipvsadm的控制脚本复制到heartbeat资源管理目录,为了使heartbeat能对ipvsadm进行控制[root@node1 ~]# cp /etc/init.d/ipvsadm /etc/ha.d/resource.d/ 第四层[root@node1 ~]# service heartbeat start//启动heartbeat服务//通过查看日志文件,来观察heartbeat运行状况



//ifconfig来观察现在的VIP地址192.168.2.100是否在node1上


二、配置动态的ipvs规则表以及Directory之间的健康探测 在前面的试验中,我们使用的手动添加Directory的ipvs规则表。这样在Directory中的ipvsadm中就好永久保存,可是有的时候后方的RealServer可能会出现宕机,如果使用的轮询机制的话,Directory会轮流的将用户的请求转发给后方的RealServer,可是某个Server此时不能工作。这样以来,效率就会大大降低。为了实现ipvs规则表的动态更新(当某个Server宕机后,Directory会主动删除该Server的规则,当它又恢复之后,主动添加这个规则),我们可以使用Heartbeat中的一个插件ldirectord服务。[root@node1 ~]# rpm -ivh heartbeat-ldirectord-2.1.4-9.el5.i386.rpm ① 删除手动添加的ipvsadm规则条目[root@node1 heartbeat]# rm /etc/sysconfig/ipvsadm②关闭heartbeat服务:[root@Directory1 heartbeat]# service heartbeat stop③拷贝ldirectord的控制脚本到heartbeat资源控制目录中[root@node1 ~]# cp /usr/share/doc/heartbeat-ldirectord-2.1.4/ldirectord.cf /etc/ha.d/(相当于ldirectord的配置文件)[root@node1 ~]# vim /etc/ha.d/ldirectord.cf



//注:静默模式指的是不管后方有没有apache服务器ipvs链表都会显示后方服务器链表,这里我们需要把静默模式更改为no,[root@node1 ha.d]# vim haresources


[root@node1 ha.d]# chkconfig ldirectord off
三、配置Directory2说明:Directory2上的配置和Directory1基本一样。需要注意的地方是:①Directory2的主机名②Directory2的本地DNS③Directory2上不用配置eth0:01、编辑Heartbeat资源管理器:[root@Directory2]# vim /etc/ha.d/haresources

2、安装完Heartbeat后,启用Heartbeat服务:[root@Directory2]# service heartbeat start[root@Directory2]# ipvsadm -ln

//Directory2处于备份状态,所以ipvs中虽然配置了转发规则,但是目前并未启用。
四、配置apache服务器






1、安装httpd[root@Server1]# mkdir /mnt/cdrom[root@Server1]# mount /dev/cdrom /mnt/cdrom[root@Server1]# rpm -ivh /mnt/cdrom/Server/httpd-2.2.3-31.el5.i386.rpm2、创建Server1测试页面;[root@Server1]# cd /var/www/html[root@Server1 html]# echo “Server1”>index.html3、启动httpd服务:[root@Server1]# service httpd start4、探测页面[root@localhost ~]# vim /var/www/html/.test.html写入OK

五、配置apache2服务器





说明:Server2的配置和Server1的配置基本相同。[root@Server2]# cd /var/www/html[root@Server2 html]# echo “Server2”>index.html[root@Server1]# service httpd start探测页面[root@localhost ~]# vim /var/www/html/.test.html写入OK

测试:图30


//注:如果探测页面没有探测出后方服务器,则ipvs链表是无法显示后方服务器地址



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息