设为首页 收藏本站
查看: 3862|回复: 6

[经验分享] LVS+heartbeat 高可用LINUX服务器

[复制链接]

尚未签到

发表于 2012-9-7 19:21:30 | 显示全部楼层 |阅读模式
本帖最后由 list123342 于 2012-9-7 19:23 编辑

LVS+heartbeat 高可用LINUX服务器

ha服务器设置:

主机名      lvs.abc.com

Ip地址      eth0:192.168.50.9

            eth1:192.168.60.9

ha服务器设置:

主机名      lvs1.abc.com

IP地址      eth0:192.168.50.8

            Eth1:192.168.60.8


Realserver1 设置

主机名      web1.abc.com

IP地址      eth0:192.168.50.5

            Eth1:192.168.60.5


Realserver2 设置

主机名      web2.abc.com

IP地址      eth0:192.168.50.6

            Eth1:192.168.60.6


实验拓扑图:[table=98%]
[tr][td][table=98%]
[tr][td][table=98%]
[tr][td]LVS[table=98%]
[tr][td]LVS[table=98%]
[tr][td][table=98%]
[tr][td]WEB1[table=98%]
[tr][td]WEB2

9cbf5c0e21e4282c3bb908afe78c3ba8.jpg


Heartbeat 安装依赖和支持软件:


  • yum –y install libnet*
  • yum –y install heartbeat*
  • yum -y install heartbeat
  • yum –y install ipvsadm*

配置haeartbeat:

复制配置文件


  • cp /usr/share/doc/heartbeat-2.1.3/ha.cf /etc/ha.d/
  • cp /usr/share/doc/heartbeat-2.1.3/authkeys /etc/ha.d/
  • cp /usr/share/doc/heartbeat-2.1.3/haresources /etc/ha.d/
  • cp /usr/share/doc/heartbeat-ldirectord-2.1.3/ldirectord.cf /etc/ha.d/

修改配置文件/etc/ha.d/ha.cf


  • vim /etc/ha.d/ha.cf

  • logfile /var/log/ha-log
  • debugfile /var/log/ha-debug
  • logfacility     local0
  • keepalive 2    #主从切换的保持时间
  • deadtime 30   #宣布对方死亡时间
  • warntime 10   #警告时间
  • udpport 694   #主从之间的通信端口
  • ucast eth0 192.168.50.8  #采用单播方式探测心跳,bcast是广播方式;后面的地址是对端地址
  • auto_failback on   #自动恢复,就是说如果主从故障中恢复会抢回主的位置
  • node    lvs.abc.com   #主节点主机名 hostname后的名称
  • node    lvs1.abc.com  #从节点主机名 hostname后的名称
  • ping 192.168.50.8 (最好是网关地址)
  • ping_group group1 192.168.50.8 192.168.50.9
  • ping_group group1 192.168.60.8 192.168.60.9
  • respawn hacluster /usr/lib/heartbeat/ipfail
  • #如果是64位系统,则目录应该为/usr/lib64/heartbeat/ipfail
  • apiauth ipfail gid=haclient uid=hacluster  #用户已经自动建立
修改authkeys 验证文件

  • vim /etc/ha.d/authkeys

  • auth 2           #去掉下面哪行的注释 就填上哪行的行号,此文件主从必须一样。
  • #1 crc           #crc算法是求和
  • 2 sha1 HI!        #sha1是hash加密 HI!是被加密的值
  • #3 md5 Hello!    # md5 加密 hello 加密值
  设置验证权限authkeys 的权限(注意:此文件主从必须都是600的权限)

  • chmod 600 /etc/ha.d/authkeys

  修改ldirectord.cf资源管理文件

  • vim /etc/ha.d/ldirectord.cf

  • checktimeout=3     #隔3秒没有收到realserver的返回页面,ha认定宕机 服务将不使用
  • #该realserver提供服务.
  • checkinterval=1     #间隔1秒访问一次real根目录的test.html文件
  • #fallback=127.0.0.1:80  # 此处针对全局 下面的fallback 是针对局部的。
  • autoreload=yes        #当realserver 恢复正常后自动加入队列提供服务
  • logfile="/var/log/ldirectord.log"  #log日志的路径
  • logfile="local0"
  • emailalert=XXXXX@fantong.com   #接收告警邮件的邮箱
  • emailalertfreq=3600
  • emailalertstatus=all
  • quiescent=no
  • # Sample for an http virtual service
  • virtual=192.168.50.80:80       #virtual IP 对外IP
  •      real=192.168.50.5:80 gate Weight 8     #真实服务器必须空4格,Weight 是权重。
  •      real=192.168.50.6:80 gate Weight 10    #权重高对应的承载能力就高
  •      #real=192.168.6.6:80 gate
  • fallback=127.0.0.1:80 gate        #real机器全部宕机由谁来承担。
  • service=http
  • scheduler=wrr                    #轮询加权
  • protocol=tcp                     #tcp协议 也支持UDP协议
  • checktype=negotiate    #很多种选择默认是negotiate通过页面来检测rs
  • checkport=80                   #检测的端口
  • request="test.html"         #验证文件必须位于rs机器的网页根目录
  • receive="Test Page"              #验证文件的内容必须相同
  • #virtualhost=www.x.y.z


修改/etc/ha.d/haresources文件


  • vim /etc/ha.d/haresources


  • lvs.abc.com 192.168.50.80 lvs ldirectord
  • #主ha的主机名 + virtual ip(对外提供的IP)+ 需要启动的服务(lvs是下面脚本的名称)

写资源脚本lvs 文件(注意需要根据自身情况修改网卡名)


  • vim /etc/init.d/lvs


  • #!/bin/bash
  • # description: start LVS of DirectorServer
  • #Written by :NetSeekhttp://www.yunvn.com GW=192.168.1.254
  • # website director vip.
  • GW=192.168.50.80      #网关地址千万不要填错了,否则你的辅助(浮动)ip是无法访问的。
  • WEB_VIP=192.168.50.80  #virtual ip 对外的唯一IP
  • WEB_RIP1=192.168.50.5
  • WEB_RIP2=192.168.50.6
  • #WEB_RIP3=1.1.1.18
  • #WEB_RIP3=1.1.1.19
  • . /etc/rc.d/init.d/functions
  • logger $0 called with $1
  • case "$1" in
  • start)
  • # Clear all iptables rules.
  • /sbin/iptables -F
  • #这个地方要注意一下,如果公司最外端有防火墙,就可以清空iptables内容(都做允许,或#者停止),把改行注释掉;如果没有就需要有防火墙了,自己写策略或者写脚本。
  • # Reset iptables counters.
  • /sbin/iptables -Z
  • #同上
  • # Clear all ipvsadm rules/services.
  • /sbin/ipvsadm -C
  • #set lvsvip for dr
  • /sbin/ipvsadm --set 30 5 60
  • /sbin/ifconfig eth0:0 $WEB_VIP broadcast $WEB_VIP netmask 255.255.255.255 up
  • /sbin/route add -host $WEB_VIP dev eth0:0
  • /sbin/ipvsadm -A -t $WEB_VIP:80 -s wrr -p 3
  • /sbin/ipvsadm -a -t $WEB_VIP:80 -r $WEB_RIP1:80 -g -w 1
  • /sbin/ipvsadm -a -t $WEB_VIP:80 -r $WEB_RIP2:80 -g -w 2
  • #/sbin/ipvsadm -a -t $WEB_VIP:80 -r $WEB_RIP3:80 -g -w 1
  • #/sbin/ipvsadm -a -t $WEB_VIP:80 -r $WEB_RIP4:80 -g -w 1
  • touch /var/lock/subsys/ipvsadm>/dev/null 2>&1
  • # set Arp
  • /sbin/arping -I eth0 -c 5 -s $WEB_VIP $GW >/dev/null 2>&1
  • ;;
  • stop)
  • /sbin/ipvsadm -C
  • /sbin/ipvsadm -Z
  • ifconfig eth0:0 down
  • route del $WEB_VIP >/dev/null 2>&1
  • rm -rf /var/lock/subsys/ipvsadm>/dev/null 2>&1
  • /sbin/arping -I eth0 -c 5 -s $WEB_VIP $GW
  • echo "ipvsadmstoped"
  • ;;
  • status)
  • if [ ! -e /var/lock/subsys/ipvsadm ];then
  • echo "ipvsadm is stoped"
  • exit 1
  • else
  • ipvsadm -ln
  • echo "..........ipvsadm is OK."
  • fi
  • ;;
  • *)
  • echo "Usage: $0 {start|stop|status}"
  • exit 1
  • esac
  • exit 0

以上文件写好之后,做如下操作



  • chmod 755 /etc/init.d/lvs
  • ln –s /etc/init.d/lvs /etc/ha.d/resource.d/lvs
#ldirectord 启动的时候会从/etc/init.d  和 /etc/ha.d/resource.d 下搜索资源( 这里说的资源#就是指脚本)

设置heartbeat ipvsadm 的开机自启动


  • Chkconfig heartbeat on
  • Chkconfig ipvsadm on

ha服务器设置:



同样安装所有的依赖和支持软件,操作和主-ha一样的

其他配置文件相同通过scp 从主ha上拷贝修改即可。


复制资源脚本



复制完成后修改ha.cf,其他文件保持一致不必修改(注意看看authkeys的权限)

ucast 192.168.50.9  #单播方式探测心跳,跟的是对端地址 主ha的IP地址

ping 192.168.50.9


资源脚本的链接


  • chmod 755 /etc/init.d/lvs
  • ln –s /etc/init.d/lvs /etc/ha.d/resource.d/lvs



realserver 真实服务器的配置

创建脚本(用来屏蔽arp,否则会和其他机器产生冲突):


  • vim /usr/local/real.sh


  • #/bin/sh
  • VIP=192.168.50.80                        #virtual ip的地址
  • source /etc/rc.d/init.d/functions
  • case "$1" in
  • start)
  • echo "start LVS of RealServer"
  • /sbin/ifconfig lo:0 ${VIP} broadcast ${VIP} netmask 255.255.255.255 up
  • echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
  • echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
  • echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
  • echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
  • ;;
  • stop)
  • /sbin/ifconfig lo:0 down
  • echo "Close LVS of RealServer"
  • echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
  • echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
  • echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
  • echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
  • ;;
  • *)
  • echo "wrong,please use start|stop"
  • exit 1
  • esac

保存脚本 退出
修改权限:


  • Chmod 755 /usr/local/real.sh
加入启动:


  • Vim /etc/rc.local
  • /usr/local/real.sh start
保存后退出



创建index.html    test.html2个文件


  • Vim /var/www/html/index.html
  • test 192.168.50.5
另外的realserver机器写test 192.168.50.6 方便测试
vim /var/www/html/test.html     

#这个文件和/etc/ha.d/ldirectord.cf下的receive="Test Page"选项内容保持一致.
否则该机器将无法正常提供服务


主从服务器和真实服务器配置完成.


测试部分

启动主ha服务器

Service heartbeat start

3dfc809f72c30af6090f0dead8a5fb6e.jpg
tail –F /var/log/ha-log

197401cecf3f90e1924ee7a5141bd8c6.jpg
tail –F /var/log/message


Heartbeat 正常启动


我们看看网卡是不是正常获取到了virtual ip

b84cd23f789cc0beea799fbacb102974.jpg

看到了吧eth0:0 已经获得了192.168.50.80 的虚拟IP地址了


下面我们看看ipvsadm 的状况:

fc2d6c04808847c00744ed8f6e0e82be.jpg
正常的找到了realserver 机器。


从机器也同样启动 heartbeat


Tail –F /var/log/ha-log

6f645d31c62b52a040ec2fc5a07fd911.jpg
正常启动

Ipvsadm   和  ifconfig
1f7017843f6846eaf4818c538dd471e5.png
由于是从机器必须探测到主机器故障后才能启动LVS 和资源等。




就可以看到  test 192.168.50.5    按ctrl+F5 就能看到test 192.168.50.6 之间切换。


按F5 刷新 之后看主ha的ipvsadm –L –n –stats
3cbff88c43553bf6d327f48008eb2708.jpg




e754c61374f476a089cddcb5ef33a376.jpg
f1d25373480bed0285b1c53283902688.jpg
0f2174bab58990de9730569aecf58451.jpg
f4bb5aa015ca7c48b4be072cd1e7f0c9.png
2bc2bb9f3aa35fe337115400e421dea8.jpg
92128f19ad21140a2b6a441f6b4ca7ba.jpg
83ad6431a9bf13da8e774d4146e27d7d.jpg

运维网声明 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.iyunv.com/thread-1100-1-1.html 上篇帖子: Lvs+Keepalived+Mysql单点写入主主同步高可用方案 下篇帖子: RHEL5用LVS实现Web负载均衡 服务器 主机 LINUX
0

尚未签到

发表于 2013-3-18 23:27:52 | 显示全部楼层
勃起不是万能的,但不能勃起却是万万都不能的!

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

尚未签到

发表于 2013-5-18 04:50:10 | 显示全部楼层
生我之前谁是我,生我之后我是谁?

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

尚未签到

发表于 2013-5-29 14:10:07 | 显示全部楼层
恐龙说:“遇到色狼,不慌不忙;遇到禽兽,慢慢享受……”

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

尚未签到

发表于 2013-6-15 07:44:59 | 显示全部楼层
不知该说些什么。。。。。。就是谢谢

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

尚未签到

发表于 2013-6-23 09:50:05 | 显示全部楼层
比我有才的都没我帅,比我帅的都没我有才!

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

尚未签到

发表于 2013-7-1 06:12:48 | 显示全部楼层
沒有激情的亲吻,哪來床上的翻滾?

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

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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