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

[经验分享] 初识keepalived(二)——keepalived与LVS实现高可用

[复制链接]

尚未签到

发表于 2018-12-28 11:52:39 | 显示全部楼层 |阅读模式
  背景介绍
  通过前面的介绍了解到LVS其实是工作在netfilter框架input链上的一组规则,而LVS本身无法实现高可用和对realserver的健康状态检测,keepalived为了解决上述2点问题而诞生,同时keepalived还可以直接在配置文件里设置LVS规则,而不需要再单独设置。在配置高可用之前需要提前做2个准备:
  1.需要进行高可用的服务器指向相同的NTP服务器,保证时间的一致性
  2.可以相互间进行名称解析,推荐使用/etc/hosts文件进行
  实验环境
  本次实验使用4台CentOS6.8虚拟机组成,其中2台为director,2台为WebServer,拓扑结构如下图所示:

  操作步骤
  1.2台web服务器上安装httpd服务,便于区分将设置不同的主页面(略)
  2.设置2台web服务器的arp_ignore和arp_announce参数,可以通过脚本
  #!/bin/sh
  case $1 in
     start)
          echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
          echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
          echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
          echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
          ;;
      stop)
          echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
          echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore
          echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
          echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce
          ;;
      *)
          echo "Wrong Arguments"
          ;;
  esac
  3.将vip地址设置到web服务器的lo接口上
  ip addr add 172.16.10.50/32 dev lo
  4.给2台direcotr安装keepalived和ipvsadm软件包(略)
  5.编辑keepalived配置文件,设置LVS规则和keepalived角色(后文介绍)
  6.启动keepalived服务,查看vip地址是否正常添加,ipvs策略是否生成,至此操作完成。
  ip addr list
  ipvsadm -Ln

  keepalived配置文件说明
  全局配置段:
  可以设置接收邮件的账号(工作场景常以监控软件实现),其中router_id是设备名称,名称不需要唯一,可以使用主机名

  脚本配置段:
  该配置段是一个独立的配置段,配置文件中默认并没有这一段,加入这一段的目的是如果后期keepalived服务器需要升级人为切换服务器角色时可以手动在相应目录下创建一个down文件,使他的权重-20,此处注意:判断为假时(echo $?值为1)才会执行weight -20

  vrrp实例配置段:
  同一vrrp实例名称保持一致,虚拟路由id必须保持一致,tarck_script是调用上面定义的脚本配置段

  LVS规则配置段:
  virltual_server    #设置vip地址和端口
  delay_loop    #RS恢复服务后延迟上线的时间,单位为妙
  lb_algo    #调度策略,支持rr|wrr|lc|wlc|lblc|sh|dh
  lb_kind    #LVS转发模式,此处是DR模型
  keepalived只支持TCP协议

  HTTP_GET    #健康监测,同时还支持SSL_GET
  status_code    #状态码检测,判断RS服务器是否正常

  遗留问题
  1.只使用LVS时,vip地址可以设置在director的lo接口上,结合keepalived后vrrp实例设置在lo接口上IP地址和IPVS规则无法生效,设置在eth0接口上恢复正常
  2.当前vip地址生效director自己无法正常使用curl命令通过vip获取到页面,另一个director使用curl命令通过vip可以正常获取到页面,2个director交换角色后依然如此
  

  





运维网声明 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-656850-1-1.html 上篇帖子: LVS+DR+Keepalived 安装配置 下篇帖子: Centos 部署安装keepalived(1)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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