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

[经验分享] LVS DR模型环境搭建

[复制链接]

尚未签到

发表于 2019-1-4 12:42:38 | 显示全部楼层 |阅读模式
  

  一、简易拓扑如下:
  
  二、配置的简单说明:
  Director的HA暂不使用,仅10.1.1.11上线,使用管理工具ipvsadm配置指令如下:
  1、Director常规配置
     正常配置IP,检查防火墙开启相关端口,如无其他需求,推荐直接关闭
     setenforce 0 修改SElinux运行模式(非必要操作)
  2、Director配置VIP
     ifconfig  eth0:1  10.1.1.100/24 up

  (ifconfig eth0:1 10.1.1.100 broadcast 10.1.1.100 netmask 255.255.255.255 up)
     说明: 至于掩码,24或是32无所谓,其本来就是用来正常接收数据包的(基于此,尝试不使用10.1.1.11而直接在eth0上配置VIP,结果:失败,可能结论:实际的通讯不使用VIP,因而Director必须有一个其他可以正常通讯的ip)
  3、Director上可能需要的其他配置
     a、配置路由
        route add -host 10.1.1.100 dev eth0:1
        说明: 此配置不是必要的(至少基于CentOS 6.4 64b OS不需要)

     b、开启转发功能

        echo 1 >/proc/sys/net/ipv4/ip_forward

        说明: 此配置不是必要的(至少基于CentOS 6.4 64b OS不需要)

               DR模式的Director仅仅是修改目的MAC为某一台Real Server的MAC

               不涉及三层的转发

  4、ipvsadm 添加Vserver和Rserver
  ipvsadm -A -t 10.1.1.11:80 -s wlc
  ipvsadm -a -t 10.1.1.11:80 -r 10.1.1.10 -g -w  1 [ -p 60 ]
  ipvsadm -a -t 10.1.1.11:80 -r 10.1.1.20 -g -w  2 [ -p 60 ]
  5、如果有特殊需求 可以考虑修改 tcp超时等参数
     参考指令:查看  ipvsadm  -l --timeout 依次显示TCP超时时间、FIN_WAIT、UDP超时时间

               设置: ipvsadm  --set  N1  N2 N3   建议 N2 /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/eth0/arp_ignore
     echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
     说明: 此操作的目的是为了让eth0和lo拒绝相应跟自己网段无关的arp请求或通告跟自己无关的arp信息,(让lo和eth0拒绝相应关于VIP的arp请求,并阻止eth0向网络中通告关于VIP的MAC信息)。为了以后防止更改使用的物理网口,可以设置:
     echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
     echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
    b、weindows系统作为Real Server, 分别以windows server 2003 和 2008R2 说明
     针对windows系统我们首相要做的就是添加一个loopback网卡,用它来配置我们的VIP。
     简单描述在windows OS中,添加loopback网卡的过程:
     2003中:控制面板->添加硬件
    2008中:见下图,选中设备管理器中的主机右键选择“添加新硬件”
  
  

  在配置VIP,并将其掩码设置为255.255.255.255时,2003 系统会遇到问题:
  此时 可以先将掩码设置为255.255.255.0,然后修改注册表如下:
  HKEY_LOCAL_MACHINE\SYSTEM\CurrentConrolSert\Services\Tcpip\Parameters\Interfaces
  其下可能会包含多个子项,可以根据右边的ipaddress键值判断哪个为loopback的配置项,确定之后
  修改其netmask键值为255.255.255.255即可,重启系统后检查掩码是否生效。
  (2003 OS不需要做与arp响应和通告的设置)
  

  在2008 R2 OS中, 设置掩码为255.255.255.255的VIP没有问题,但设置完成之后需要对arp的响应和通告做配置,执行如下指令即可:
  netsh interface ipv4 set interface "网卡别名" weakhostreceive=enabled

  netsh interface ipv4 set interface "网卡别名" weakhostsend=enabled
  

  例如Server 2008R2的物理网卡别名为LAN,而添加的loopback网卡就叫loopback,则执行:
netsh interface ipv4 set interface "LAN" weakhostreceive=enabled

netsh interface ipv4 set interface "LAN" weakhostsend=enabled
  
netsh interface ipv4 set interface "loopback" weakhostreceive=enabled

netsh interface ipv4 set interface "loopback" weakhostsend=enabled
  

  三、常用的监控指令
      ipvsadm -ln
      ipvsadm -lnc
      或组合watch指令
      watch  -n 1 'ipvsadm -ln'
      watch  -n 1 'ipvsadm -lnc'
  四、简单说明piranha和keepalived的配置过程。
  1、piranha 图形配置截图:
     全局设置:

  

  添加虚拟服务器

  

  虚拟服务器的配置

  

  添加Real Server

  

  其中一台Real Server的配置

  

  Director对Real Server的健康状态检查

  

  在Director开启pulse服务器之后,可以在此页面进行监控

  可以配置BACKUP Director,如下:

  2、keepalived配置文件如下:
    #cat /etc/keepalived/keepalived.conf  
  ! Configuration File for keepalived
  global_defs {
  router_id LVS_MASTER  //此处在BACKUP Director上可以另起名字
  }
  vrrp_instance VI_1 {
  state MASTER    //此处在BACKUP Director上要改为BACKUP
  interface eth1
  virtual_router_id 51
  priority 200    //BACKUP的priority值一定要小于MASTER的
  advert_int 1
  authentication {
  auth_type PASS
  auth_pass 1111
  }
  virtual_ipaddress {
  10.1.1.100
  }
  }
  virtual_server 10.1.1.100 80 {
  delay_loop 6
  lb_algo wrr
  lb_kind DR
  #persistence_timeout 50
  protocol TCP
  # sorry_server 192.168.200.200 1358
  real_server 10.1.1.10 80 {
  weight 1
  HTTP_GET {
  connect_timeout 10
  nb_get_retry 3
  delay_before_retry 3
  connect_port 80
  }
  }
  real_server 10.1.1.20 80 {
  weight 1
  HTTP_GET {
  connect_timeout 10
  nb_get_retry 3
  delay_before_retry 3
  connect_port 80
  }
  }
  ==============================================
  说明:
  测试后,piranha的Director HA和 对Real Server的健康状态检测都没有问题; 在使用keepalived时, Director HA没有问题,但对Real Server的健康状态检查不能生效(当一台Web Server 宕机之后,其不能再 RS 列表中将其删除),于是写了一个简单小脚本来实现,可以让其在开启启动后自动在后台运行,脚本内容如下:

  

  

  

  

  ======================END=========================




运维网声明 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-659328-1-1.html 上篇帖子: 通过LVS实现http的负载均衡 下篇帖子: LVS(负载均衡)集群详解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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