设为首页 收藏本站
查看: 727|回复: 0

[经验分享] heartbeat与lvs和realserver的结合

[复制链接]

尚未签到

发表于 2019-1-3 10:12:59 | 显示全部楼层 |阅读模式
heartbeat与lvs和realserver的结合
拓扑图:

主要依赖heartbeat-ldirectord-2.1.4-9.el5.i386.rpm这个软件包,注意:安装这个软件包就不需要开启ipvsadm服务,当启动heartbeat服务后自动启用ipvsadm服务。
当然ipvsadm服务也要安装。
需要下载的rpm包有:
heartbeat-2.1.4-9.el5.i386.rpm
heartbeat-ldirectord-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
附件内有
下边是配置情况:
流量分发服务器DIRECTOR1的配置
接口配置
eth0  192.168.2.10
eth1  192.168.10.1
使用yum时,别忘了挂在光盘...
执行脚本heart.sh
#!/bin/bash
cd heartbeat/
yum localinstall -y heartbeat* lib* perl* --nogpgcheck
echo  "192.168.2.10    node1.abc.com    node1" >>/etc/hosts
echo  "192.168.2.15    node2.abc.com    node2" >>/etc/hosts
echo  "192.168.10.1    node1.abc.com    node1" >>/etc/hosts
echo  "192.168.10.2    node2.abc.com    node2" >>/etc/hosts
sed  -i  "s/^HOSTNAME.*$/HOSTNAME=node1.abc.com/" /etc/sysconfig/network
hostname node1.abc.com
cp /usr/share/doc/heartbeat-2.1.4/ha.cf   /etc/ha.d/
cp /usr/share/doc/heartbeat-2.1.4/authkeys  /etc/ha.d/
cp /usr/share/doc/heartbeat-2.1.4/haresources   /etc/ha.d/
cp /usr/share/doc/heartbeat-ldirectord-2.1.4/ldirectord.cf    /etc/ha.d/
cd  /etc/ha.d/
echo "bcast   eth1"  >> ha.cf
echo "node    node1.abc.com"  >> ha.cf
echo "node    node2.abc.com"  >> ha.cf
echo "node1.abc.com 192.168.2.100    ldirectord::ldirectord.cf">>haresources
echo "auth 1">>authkeys
echo "1 md5   d41d8cd98f00b204e9800998ecf8427e" >>authkeys
chmod 600 authkeys
脚本到此结束
md5的产生方法
[root@node1 ~]# dd=/dev/urandom  bs=512 count=1 |openssl md5
d41d8cd98f00b204e9800998ecf8427e   
然后编辑vim ldirectord.cf
virtual=192.168.2.100:80
        real=192.168.2.20:80 gate
        real=192.168.2.30:80 gate
        #fallback=127.0.0.1:80 gate
        service=http
        request=".test.html"
        receive="ok"
#       virtualhost=some.domain.com.au
        scheduler=rr
        #persistent=600
        #netmask=255.255.255.255
        protocol=tcp
        checktype=negotiate
        checkport=80
        request="index.html"
        receive="Test Page"
        virtualhost=www.x.y.z
安装完ipvsadm服务后不要启动该服务.
service heartbeat restart
DIRECTOR2流量分发服务器的配置
接口配置
eth0  192.168.2.15
eth1  192.168.10.2
执行脚本heart.sh
#!/bin/bash
cd heartbeat/
yum localinstall -y heartbeat* lib* perl* --nogpgcheck
echo  "192.168.2.10    node1.abc.com    node1" >>/etc/hosts
echo  "192.168.2.15    node2.abc.com    node2" >>/etc/hosts
echo  "192.168.10.1    node1.abc.com    node1" >>/etc/hosts
echo  "192.168.10.2    node2.abc.com    node2" >>/etc/hosts
sed  -i  "s/^HOSTNAME.*$/HOSTNAME=node1.abc.com/" /etc/sysconfig/network
hostname node2.abc.com
cp /usr/share/doc/heartbeat-2.1.4/ha.cf   /etc/ha.d/
cp /usr/share/doc/heartbeat-2.1.4/authkeys  /etc/ha.d/
cp /usr/share/doc/heartbeat-2.1.4/haresources   /etc/ha.d/
cp /usr/share/doc/heartbeat-ldirectord-2.1.4/ldirectord.cf    /etc/ha.d/
cd  /etc/ha.d/
echo "bcast   eth1"  >> ha.cf
echo "node    node1.abc.com"  >> ha.cf
echo "node    node2.abc.com"  >> ha.cf
echo "node1.abc.com 192.168.2.100    ldirectord::ldirectord.cf">>haresources
//指定node1.abc.com作为主流量分发器。
echo "auth 1">>authkeys
echo "1 md5   d41d8cd98f00b204e9800998ecf8427e" >>authkeys
chmod 600 authkeys
然后编辑vim ldirectord.cf
virtual=192.168.2.100:80
        real=192.168.2.20:80 gate
        real=192.168.2.30:80 gate
        #fallback=127.0.0.1:80 gate
        service=http
        request=".test.html"
        receive="ok"
#       virtualhost=some.domain.com.au
        scheduler=rr
        #persistent=600
        #netmask=255.255.255.255
        protocol=tcp
        checktype=negotiate
        checkport=80
        request="index.html"
        receive="Test Page"
        virtualhost=www.x.y.z
安装完ipvsadm软件包后不要启动该服务.
service heartbeat restart
做完这些后我们可以查看node1上的ip地址
可以看到虚拟地址已经出现在eth0:0子接口上为2.100
还可以查看ipvsadm –L,有调度算法
但是node2上什么也没有,只是作为一个备份设备。
cd /usr/lib/heartbeat/
./hb_standby    //模拟心跳线down掉
hb_takeover     //模拟心跳线恢复
执行脚本./hb_standby
当主流量分发器node1通过模拟standby时,通过察看日志可以发现
tail   -f  /var/log/message
可以很清楚的看到node1已经处于standby状态,node2处于开放状态
通过查看node2的接口地址,出现了虚地址所在的eth0:0上的地址
通过ipvsadm –L可以看出node2上开启了ipvsadm服务
在所有的real server上边配置:
Ifconfig lo:0  192.168.2.100  netmask 255.255.255.255
route  add  -host 192.168.2.100  dev lo:0  //配置一条路由强制返回时通过lo:0
vim   /etc/sysctl.conf
添加下边的两行,其实只需要all就可以了。all包含所有接口
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.lo.arp_ignore = 1
web1
eth0  192.168.2.20
在/var/www/html/下创建一个.test.htm的页面,随便写点。
Touch  .test.htm   //内容只写一个ok就可以了。
service httpd restart

web2
eth0  192.168.2.30
在/var/www/html/下创建一个.test.htm的页面,随便写点。
Touch  .test.htm   //内容只写一个ok就可以了。
service httpd restart



附件:http://down.运维网.com/data/2359251


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-658887-1-1.html 上篇帖子: heartbeat+lvs+ldirectord 集群 下篇帖子: CentOS 6.3 Mysql+heartbeat+drbd+LVS 的安装和配置(1)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表