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

[经验分享] Heartbeat实现LVS的故障转移

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-9-5 10:14:44 | 显示全部楼层 |阅读模式
  LVS是1998年5月由章文嵩博士发起和领导的优秀的集群解决方案,许多商业的集群产品,比如RedHat的Piranha,TurboLinux公司的Turbo Cluster等,都是基于LVS的核心代码的。在现实的应用中,LVS得到了大量的部署。
1.3 用Heartbeat实现LVS的高可用性
LVS可以对Apache等服务实现负载均衡,LVS与Ldirectord搭配使用也可以实现Apache等服务的故障转移,但是LVS自己本身没有冗余机制,因此需要借助第三方工具Heartbeat来实现。
1.3.1 Heartbeat简介
Heartbeat最核心包括两个部分:心跳监测部分和资源接管部分。心跳监测可以通过网络链路和串口进行,而且支持冗余链路,它们之间相互发送报文来告诉对方自己当前的状态,如果在指定的时间内未受到对方发送的报文,那么就认为对方失效,这时需启动资源接管模块来接管运行在对方主机上的资源或者服务。
1.3.2 Heartbeat安装
建立用户
groupadd haclient
useradd hacluster -g haclient
先安装libnet
rpm -ivh libnet-1.1.2.1-2.1.i386.rpm
再安装Heartbeat
tar jxvf Heartbeat-STABLE-2-1-STABLE-2.1.4.tar.bz2
cd Heartbeat-STABLE-2-1-STABLE-2.1.4
./ConfigureMe install --enable-all
1.3.3 配置LVS Drector的冗余热备
假设服务器A,B的公网IP分别是:
A 192.168.100.10
B 192.168.100.4
集群虚IP: 192.168.100.200
1.3.3.1 设置服务器A,B的hostname为test10及test4
如不是请修改/etc/sysconfig/network的HOSTNAME部分,并执行
#hostname test10 以立即生效。
在/etc/hosts加入两行:
192.168.100.10 test10
192.168.100.4 test4
1.3.3.2 修改服务器A,B的/etc/sysctl.conf文件,加入如下5行,并执行
#sysctl -p 以立即生效。
net.ipv4.ip_forward = 1
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.eth0.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.eth0.arp_announce = 2
1.3.3.3 以root进入服务器A,执行以下配置:
在/etc/init.d/heartbeat中的#!/bin/sh后插入一行:
ifconfig lo:100 192.168.100.200 netmask 255.255.255.255 up
#chkconfig heartbeat --level 35 on
#cd /etc/ha.d 进入集群配置文件目录
#vi authkeys 创建集群认证文件
auth 3
3 md5 HA_2009
#chmod 600 authkeys 必要的操作
#vi ha.cf 创建集群节点文件
logfile /var/log/ha.log
#logfacility local0
keepalive 2
deadtime 30
warntime 10
initdead 80
mcast eth0 231.231.231.231 694 1 0
##有双网卡最好做个两台机器最好做交叉线连接,eth0 改eth1
#ucast eth0 192.168.100.4 #(test10直接指向对端ip,test4的化ucast eth0 192.168.100.10)
ping 192.168.100.2
auto_failback on
node test10
node test4
respawn hacluster /usr/lib/heartbeat/ipfail
apiauth ipfail gid=haclient uid=hacluster
集群中有两个节点test10及test4,通过多播IP通信(主要用于超过2个节点)
ping 192.168.100.2 网关ping检测
#vi /etc/ha.d/resource.d/vip.sh 创建我们自己的集群IP切换shell脚本
#!/bin/sh
case "$4" in
start)
ifconfig lo:100 down
ifconfig $1:100 $2 netmask $3 up
;;
stop)
ifconfig $1:100 down
ifconfig lo:100 $2 netmask 255.255.255.255 up
;;
esac
/etc/ha.d/resource.d/SendArp 192.168.100.200/eth0 start
最后一行通知其他连接过这台服务器的客户机VIP已经变更,MAC需要更新。
提供了LVS集群备用节点在回路地址监听集群虚IP以用于应用服务器。
#chmod +x resource.d/vip.sh
#vi haresources 创建集群资源文件
test10 ldirectord::ldirectord.cf LVSSyncDaemonSwap::master vip.sh::eth0::192.168.100.200::255.255.255.0
注:ldirectord是用于管理LVS配置实现Apache的故障转移,ldirectord.cf文件的创建,请查看《使用LVS+Ldirectord实现Web服务器的负载均衡及故障转移及其性能测试.doc》
1.3.3.4 在服务器B上进行第2、3步操作,scp也可。
1.3.4 测试
1、在服务器A、B上分别执行service heartbeat start 启动集群软件,
及执行service httpd start启动apache。
2、在服务器A、B上分别执行:
#echo "WebSite A">/var/www/html/index.html
#echo "WebSite B">/var/www/html/index.html
3、在服务器A、B上分别执行ifconfig
正常的话, 在服务器A上出现eth0:100 IP:192.168.100.200
在服务器B上出现l0:100 IP:192.168.100.200
在服务器A上执行service heartbeat stop,结果是:
在服务器A上出现lo0:100 IP:192.168.100.200
在服务器B上出现eth0:100 IP:192.168.100.200
在服务器A上执行service heartbeat start将恢复正常情况。

运维网声明 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-109637-1-1.html 上篇帖子: (转)LVS三种模式配置总结 下篇帖子: 负载均衡软件LVS分析四(测试)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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