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

[经验分享] lvs+heartbeat+ldirectord实现Director的高可用

[复制链接]

尚未签到

发表于 2019-1-4 09:08:38 | 显示全部楼层 |阅读模式
  测试环境:

            OS:rhel6
            Director1:192.168.1.121  heartbeat  heartbeat-ldirectord  ipvsadm  VIP  hb_gui
            Director2:192.168.1.122  heartbeat  heartbeat-ldirectord  ipvsadm  VIP
            RS1:192.168.1.111  httpd  VIP
            RS2:192.168.1.112  httpd  VIP
            VIP:192.168.1.160
            LVS实现DR模型
  PS:注意这里的测试过程是在上两篇博文的基础上操作的。。。go on !!
  一,首先在Director1上停止自己和Director2的heartbeat服务和安装ipvsadm
         #service heartbeat stop
         #ssh Director2.luochen.com 'service heartbeat stop'
         #yum -y install ipvsadm
         #ssh Director2.luochen.com 'yum -y install ipvsadm'
  二,在RS1上设定内核参数
  
         #echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
         #echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
         #echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
         #echo 1 > /proc/sys/net/ipv4/conf/all/arp_announce
  配置VIP

  
         #ifconfig lo:0 192.168.1.160 netmask 255.255.255.255 broadcast 192.168.1.160 up
         #route add -host 192.168.1.160 dev lo:0
  查看VIP是否添加成功

  
         #ifconfig
         #route -n     
  提供httpd服务的测试页面
         #vim /var/www/html/index.html
                     RS1
         #service httpd start
  在本地测试看httpd是否启动正常
  
         #curl http://192.168.1.111
         #curl http://192.168.1.160  
三,在RS2上设定内核参数

       #echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
       #echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
       #echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
       #echo 1 > /proc/sys/net/ipv4/conf/all/arp_announce
配置VIP


       #ifconfig lo:0 192.168.1.160 netmask 255.255.255.255 broadcast 192.168.1.160 up
       #route add -host 192.168.1.160 dev lo:0
查看VIP是否添加成功


       #ifconfig
       #route -n     
提供httpd服务的测试页面
       #vim /var/www/html/index.html
                   RS2
       #service httpd start
在本地测试看httpd是否启动正常

       #curl http://192.168.1.112
       #curl http://192.168.1.160
  四,在前端任意一台Director主机ping Rip 和 Vip
         #ping 192.168.1.111   响应   Rip1
         #ping 192.168.1.112   响应   Rip2
         #ping 192.168.1.160   不响应Vip
  五,在D1上定义ipvs集群测试
         #chkconfig ipvsadm off
         #ifconfig eth0:0 192.168.1.160/24 up
         #route add -host 192.168.1.160 dev eth0:0
  定义ipvs规则
         #ipvsadm -A -t 192.168.1.160:80 -s rr
         #ipvsadm -a -t 192.168.1.160:80 -r 192.168.1.111 -g
         #ipvsadm -a -t 192.168.1.160:80 -r 192.168.1.112 -g
         #ipvsadm -L -n
         #service ipvsadm save
         #service ipvsadm stop
         #ifconfig eth0:0 down
         #scp /etc/sysconfig/ipvsadm Director2.luochen.com:/etc/sysconfig/
  六,在宿主机上访问vip测试
  七,在D2上定义ipvs集群测试
  
       #chkconfig ipvsadm off
       #ifconfig eth0:0 192.168.1.160/24 up
       #route add -host 192.168.1.160 dev eth0:0
       #ipvsadm -R < /etc/sysconfig/ipvsadm
       #ipvsadm -L -n
       #service ipvsadm restart
  八,在宿主机上访问vip测试
  九,在安装配置heartbeat-ldirector之前需要停止ipvsadm服务,关闭eth0:0,删除路由条目,删除ipvs规则

  
         #service ipvsadm stop
         #ipvsadm -L -n       (停止ipvsadm服务会清空所有的ipvs规则)
         #ifconfig eth0:0 down
         #ifconfig
         #route del -host 172.16.100.36
         #route -n
         #rm -rf /etc/sysconfig/ipvsadm
  十,在Director1上关闭自己和Director的heartbeat服务
         #service heartbeat stop
         #ssh Director2.luochen.com 'service heartbeat stop'
  十一,在Director1和Director2上安装heartbeat-ldirectord
         #yum install heartbeat-ldirectord-2.1.4-12.el6.x86_64.rpm
         #rpm -ql heartbeat-lidirectord
         #chkconfig ldirectord off
  十二,在Director1上提供ldirectord的配置文件
         #cp /usr/share/doc/heartbeat-ldirectord-2.1.4/ldirectord.cf /etc/ha.d/
         #vim /etc/ha.d/ldirectord.cf           (ldirectord会自动配置ipvs规则,ipvsadm服务不会启动)
  
                 virtual=192.168.1.160:80     (定义一个虚拟服务的 vip:80)
                              real=192.168.1.111:80 gate
                              real=192.168.1.112:80 gate (前面tab缩进是必须的)
                              failback=127.0.0.1:80 gate   (备用本地web服务器,后端所有RS  down了,启用)
                              service=hhtp                        (基于那种协议做健康状态检测的)
                              request=".health.html"         (健康状态检测的页面)
                              receive="OK"                        (搜索关键字)
                              scheduler=rr                         (调度算法)
         #scp ldirectord.cf Director2.luochen.com:/etc/ha.d/
         #service ldirectord stop
         #ssh Director2.luochen.com 'service ldirectord stop'
         #service heartbeat start
         #ssh Director2.luochen.com 'service heartbeat start'
  
十三,在RS1和RS2上提供健康状态检测文件
       #vim /var/www/html/.health.html
                    ok
十四,在Director1上执行hb_gui 配置Director的高可用服务
       #hb_gui &
定义资源组

添加VIP

  

  添加ldirectord服务
  
  资源组添加完毕

  
  最后就是测试了,在运行服务的Director节点上查看VIP是否配置成功和ipvs规则是否添加成功
          #ip addr  show
          #ipvsadm -L -n
  

  

  

  
  





运维网声明 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-659167-1-1.html 上篇帖子: lvs+heartbeat-2988729 下篇帖子: HeartBeat+LVS+Ldirectord高可用负载均衡解决方案
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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