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

[经验分享] Heartbeat v2+heartbeat

[复制链接]

尚未签到

发表于 2019-1-6 08:32:14 | 显示全部楼层 |阅读模式
  一、实验拓扑图:

二、实验简介

如上实验拓扑图所示:RS1RS2web服务器,它们与Director组成LVS-DR模型的负载均衡集群,目的是使Web服务器达到负载均衡;Director1Director2组成基于heartbeat v2+heartbeat-ldirectord的高可用集群,其目的是使web服务器可以提供可靠长久的服务。

三、实验步骤

1)配置RS1RS2Director1DR模型的负载均衡集群。

         RS1:在RS1上主要是配置4个内核参数,主要防治RS1向应外部对VIP的请求,其次配置VIP,具体步骤如下:



  • # echo 1 >/proc/sys/net/ipv4/conf/eth0/arp_ignore  
  • # echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore  
  • # echo 2 >/proc/sys/net/ipv4/conf/eth0/arp_announce   
  • # echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce  

  • # ifconfig lo:1 172.16.5.1 broadcast 172.16.5.1 netmask 255.255.255.255 up  
  • # route add -host 172.16.5.1 dev lo:1(通过RS1响应的请求IP都为VIP)  
  • #echo "RS1" > /var/www/html/index.html(前提是httpd按装并启动)

        RS2:RS2的配置和RS1的配置一样,只需重复上面的操作,注意:为了便于测试将最后一行改为:#echo "RS2" > /var/www/html/index.html

       Director1:在其上做如下配置并定义ipvs规则:



  • # yum -y install ipvsadm(安装ipvsadm)  
  • 定义ipvs规则:  
  • # ipvsadm -A -t 172.16.5.1:80 -s rr(定义服务)  
  • # ipvsadm -A -t 172.16.5.1:80 -r 172.16.44.1 -g  
  • # ipvsadm -a -t 172.16.5.1:80 -r 172.16.55.1 -g(定义RS)

  测试结果如下:第一次访问172.16.5.1

  刷新之后的结果:

  这样一个简单的LVS-DR模型就构建好了。下面配置Director的高可用功能。
  (2)Director1和Director2上配置高可用集群。
  在Director1上的配置:
  (1)设置主机名,配置双机互信。


  • # hostname node1  
  • # uname -n(验证主机名)  
  • # vim /etc/sysconfig/network(修改主机名,修改如下内容)
  •    HOSTNAME=node1  
  • # vim /etc/hosts(添加如下内容)  
  • 172.16.66.1     node1                    
  • 172.16.77.1     node2                  
  • # scp /etc/hosts root@node2:/etc/(将node1的hosts传给node2,前提是172.16.77.1也要配好主机名)  
  • 配置双机互信:  
  • # ssh-keygen -t rsa  
  • # ssh-copy-id -i .ssh/id_rsa.pub root@node2  
  • # ssh node2 'ifconfig'(测试是否成功)

  在Director2上只需配置主机名为node2和双机互信,和上面的配置相同,在此不再赘述。
  (2)安装软件包


  • 需要下载的软件:  
  • heartbeat-2.1.4-9.el5.i386.rpm               
  • heartbeat-stonith-2.1.4-10.el5.i386.rpm  
  • heartbeat-gui-2.1.4-9.el5.i386.rpm           
  • libnet-1.1.4-3.el5.i386.rpm  
  • heartbeat-ldirectord-2.1.4-9.el5.i386.rpm   
  • perl-MailTools-1.77-1.el5.noarch.rpm  
  • heartbeat-pils-2.1.4-10.el5.i386.rpm  
  • 安装软件  
  • # yum -y --nogpgcheck localinstall *.rpm

  (3)修改配置文件并启用hb_gui功能。


  • #cd /usr/share/doc/heartbeat-2.1.4/  
  • #cp ha.cf haresources authkeys /etc/ha.d  
  • #cd /etc/ha.d  
  • #vim ha.cf(添加如下内容)  
  •   node    node1  
  •   node    node2   
  •    crm    respawn
  • #vim authkeys (添加如下内容)
  •   auth 1
      1 sha1 1bf276bd2a05e39e018b4690a829ea7f
  • (注意:后面的随机串是:dd if=/dev/urandom count=1 bs=512 | md5sum)
  • #chmod 600 authkeys (注意一定要修改)   
  • #scp ha.cf authkeys haresources root@node2:/etc/ha.d/   
  • #hd_gui &(进行测试,测试前要添加hacluster用户)

  (4)修改ldirectord的配置文件,ldirectord的主要作用就是可以代替ipvsadm来定义规则的,并且可以对RS进行健康状况的监测,具体过程如下:


  • #chkconfig ipvsadm off
  • #ipvadm -C(清除上面在LVS-DR模型中定义的规则)  
  • #rpm -ql heartbeat-ldirectord(查看信息)  
  • #cp /usr/share/doc/heartbeat-ldirectord-2.1.4/ldirectord.cf ./  
  • #vim ldirctord.cf(对其做如下修改)  
  • virtual=172.16.5.1:80  (VIP)
  •         real=172.16.44.1:80 gate  (RS1的IP)
  •         real=172.16.55.1:80 gate  (RS2的IP)
  •         fallback=127.0.0.1:80 gate(当RS1和RS2都坏掉时,访问网站出现的页面)  
  •         service=http
  •         request=".test.html" (用于验证RS是否正常工作)
  •         receive="OK"
  •         scheduler=rr
  •         netmask=255.255.255.255  
  •         protocol=tcp
  •         checktype=negotiate
  •         checkport=80
  • #scp ldirectord.cf root@node2:/etc/ha.d/(将其复制到另一台主机)

  (5)启动heartbeat并定义资源,步骤如下:
  启动heartbeat:


  • #service heartbeat start  
  • #ssh node2 '/etc/init.d/heartbeat start'

  (3)启动hb_gui定义资源,在此需要定义的资源只有两中,IP和ldirectord,具体过程如下:
  (1)在命令行中输入#hb_gui &,开启资源的图形化界面。

  右击添加资源:

  选择组类型:

  选择IPaddr2,其功能比IPaddr更强大:

  配置VIP的参数如下所示,主要配置ip,lvs_support,nic等,如下所示

  添加ldirectord资源,如下所示:
  右击group_选择native选项:

  选择ldrectord选项,配置其configfile如下所示:

  添加完成后启动服务就可以了,如下所示:
  启动后的结果如下:

  这样完整的配置过程就是这样了,下面进行测试。
  四、实验测试。
  在测试之前,需要在RS1,RS2上添加网页.test.html,并在其中添加ok字样,其主要的作用是让ldirectord可以测试RS是否正常工作。然后在在Director1和Director2上分别在其index.html中添加Testing,并启动httpd服务。
  (1)模拟Direct1坏掉时,如下,选择standby:

  出现如下结果,则表示测试正常:

  (2)当一台RS坏掉时,再访问网站,则director只会选择能正常提供服务的,而不访问坏掉的,在此,模拟RS1坏掉,只需将RS1上的httpd服务停掉,再访问一直是RS2提供的页面,如下所示:

  (3)若所有的RS都坏掉,则回显示,Testing页面,在此,将RS1和RS2的httpd服务全停掉,在访问如下:

  实验到此结束,如有什么不足之处还请大家多多指教,谢谢!!!




运维网声明 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-659826-1-1.html 上篇帖子: 基于LVS+heartbeat的web负载均衡 下篇帖子: heartbeat+lvs搭建负载均衡高可用集群
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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