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

[经验分享] RHEL6 搭建 keepalived + lvs/DR 集群

[复制链接]

尚未签到

发表于 2018-12-29 11:26:35 | 显示全部楼层 |阅读模式
  搭建 keepalived + lvs/DR  集群
  使用Keepalived为LVS调度器提供高可用功能,防止调度器单点故障,为用户提供Web服务:

  •   LVS1调度器真实IP地址为192.168.4.50
  •   LVS2调度器真实IP地址为192.168.4.55
  •   服务器VIP地址设置为192.168.4.252
  •   真实Web服务器地址分别为192.168.4.51、192.168.4.52
  实验拓扑图
  
  

  实验步骤:
  

  实验准备:
    配置yum源
    # service iptables stop            //关闭防火墙
    # chkconfig iptables off            //关闭开机自启
    # setenforce 0                            //设置SELinux 为宽松模
    配置WEB服务器  pc51 / pc52
    #yum -y install httpd
    #service httpd start
    #chkconfig httpd on
    [root@pc51 ~] #echo " 192.168.4.51  " > /var/www/html/test.html
    [root@pc52 ~] #echo " 192.168.4.52 " > /var/www/html/test.html
      本次实验有些步骤就不详细介绍了,具体有关 keepalived 和 ipvsadm 的相关配置 可以参考

        keepalived 配置高可用集群 : http://blog.运维网.com/13558754/2060950
        ipvsadm 配置LVS/DR 负载均衡集群:http://blog.运维网.com/13558754/2060405
  1 在web服务上 配置 VIP地址  pc51 / pc52
  # ifconfig lo:1 192.168.4.252/32    //只拥有ip 就可以
  # ifconfig lo:1
  lo:1      Link encap:Local Loopback
  inet addr:192.168.4.252  Mask:0.0.0.0
  UP LOOPBACK RUNNING  MTU:65536  Metric:1
  # cd /proc/sys/net/ipv4/conf/
  # echo 1 > lo/arp_ignore
  # echo 2 > lo/arp_announce
  # echo 1 > all/arp_ignore
  # echo 2 > all/arp_announce
  2 配置分发器 50(主)  55(备) 分别安装keepalived软件    装包 ipvsadm
     
  # rpm -q ipvsadm keepalived
  ipvsadm-1.26-4.el6.x86_64
  keepalived-1.2.13-5.el6_6.x86_64
  4 修改配置文件
  [root@pc50 ~]# vim /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
      state MASTER                 // 描述信息  MASTER为主服务器
      interface eth0                 // 定义网络接口
      virtual_router_id 51           //主 备VRID号必须一致
      priority 150                   //服务器优先级
      advert_int 1
      authentication {
          auth_type PASS           //验证方式
          auth_pass 1111           //验证密码     主  备服务器密码必须一致
      }
      virtual_ipaddress {
          192.168.4.252            //VIP地址
      }   
  }
  virtual_server 192.168.4.252 80 {        //配置 VIP为192.168.0.252  80 端口
      delay_loop 6
      lb_algo rr                            //设置LVS调度算法为RR
      lb_kind DR                            //设置LVS的模式为DR
      nat_mask 255.255.255.0
      persistence_timeout 50
      protocol TCP
      connect_timeout 3
      nb_get_retry 3
      delay_before_retry 3
     real_server 192.168.4.51 80 {
          weight 1                        //设置权重为1
     }   
     real_server 192.168.4.52 80 {
          weight 1                        //设置权重为1
      }   
  }  使用第一个虚拟服务的模版
  其余的都删除
  主机55
  [root@pc55 ~]# vim /etc/keepalived/keepalived.conf
  vrrp_instance VI_1 {
      state BACKUP                // 描述信息 BACKUP为备用服务器
      interface eth0
      virtual_router_id 51
      priority 100
      advert_int 1
      authentication {
          auth_type PASS
          auth_pass 1111
      }
      virtual_ipaddress {
          192.168.4.252
      }
  }
  virtual_server 192.168.4.252 80 {
      delay_loop 6
      lb_algo rr
      lb_kind DR
      nat_mask 255.255.255.0
      persistence_timeout 50
      protocol TCP
      connect_timeout 3
      nb_get_retry 3
      delay_before_retry 3
      real_server 192.168.4.51 80 {
          weight 1
      }
      real_server 192.168.4.52 80 {
          weight 1
      }
  }  5 启动服务
  # service keepalived start
  [root@pc50 ~]# ipvsadm -Ln
  IP Virtual Server version 1.2.1 (size=4096)
  Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
  TCP  192.168.4.252:80 rr persistent 50
  -> 192.168.4.51:80              Route   1      0          0
  -> 192.168.4.52:80              Route   1      0          0
  [root@pc50 ~]# ip addr show | grep 192.168.4
  inet 192.168.4.50/24 brd 192.168.4.255 scope global eth0
  inet 192.168.4.252/32 scope global eth0
  [root@pc55 ~]# ipvsadm -Ln --stats
  IP Virtual Server version 1.2.1 (size=4096)
  Prot LocalAddress:Port               Conns   InPkts  OutPkts  InBytes OutBytes
  -> RemoteAddress:Port
  TCP  192.168.4.252:80               0        0        0        0        0
  -> 192.168.4.51:80                     0        0        0        0        0
  -> 192.168.4.52:80                     0        0        0        0        0
  [root@pc55 ~]# ip addr show | grep 192.168.4
  inet 192.168.4.55/24 brd 192.168.4.255 scope global eth0
  6 客户端访问
  # elinks --dump 192.168.4.252
  192.168.4.52
  [root@room1pc32 桌面]# elinks --dump 192.168.4.252
  192.168.4.51
  [root@room1pc32 桌面]# elinks --dump 192.168.4.252
  192.168.4.52
  [root@room1pc32 桌面]# elinks --dump 192.168.4.252
  192.168.4.51
  [root@room1pc32 桌面]# elinks --dump 192.168.4.252
  192.168.4.52
  # ipvsadm -Ln --stats
  IP Virtual Server version 1.2.1 (size=4096)
  Prot LocalAddress:Port               Conns   InPkts  OutPkts  InBytes OutBytes
  -> RemoteAddress:Port
  TCP  192.168.4.252:80               5       25        0     2075        0
  -> 192.168.4.51:80                     2       10        0      830        0
  -> 192.168.4.52:80                     3       15        0     1245        0
  [root@pc55 ~]# ipvsadm -Ln --stats
  IP Virtual Server version 1.2.1 (size=4096)
  Prot LocalAddress:Port               Conns   InPkts  OutPkts  InBytes OutBytes
  -> RemoteAddress:Port
  TCP  192.168.4.252:80               0        0        0        0        0
  -> 192.168.4.51:80                     0        0        0        0        0
  -> 192.168.4.52:80                     0        0        0        0        0
  模拟50 故障 验证Keepalived 高可用
  [root@pc50 ~]#  service keepalived stop
  [root@pc50 ~]# ip addr show | grep 192.168.4
  inet 192.168.4.50/24 brd 192.168.4.255 scope global eth0
  [root@pc55 ~]# ip addr show | grep 192.168.4
  inet 192.168.4.55/24 brd 192.168.4.255 scope global eth0
  inet 192.168.4.252/32 scope global eth0
  客户端访问
  # elinks --dump 192.168.4.252
  192.168.4.52
  # elinks --dump 192.168.4.252
  192.168.4.51
  # elinks --dump 192.168.4.252
  192.168.4.52
  # elinks --dump 192.168.4.252
  192.168.4.51
  # elinks --dump 192.168.4.252
  192.168.4.52
  # ipvsadm -Ln --stats
  IP Virtual Server version 1.2.1 (size=4096)
  Prot LocalAddress:Port               Conns   InPkts  OutPkts  InBytes OutBytes
  -> RemoteAddress:Port
  TCP  192.168.4.252:80               5       25        0     2075        0
  -> 192.168.4.51:80                     2       10        0      830        0
  -> 192.168.4.52:80                     3       15        0     1245        0




运维网声明 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-657198-1-1.html 上篇帖子: keepalived实现对mysql主从复制的主备自动切换 下篇帖子: Keepalived报错解决
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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