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

[经验分享] LVS负载均衡架设,DR模式

[复制链接]

尚未签到

发表于 2019-1-5 08:05:12 | 显示全部楼层 |阅读模式
lvs-dr模型 : 直接路由
Director在实现转发时不修改请求报文的IP首部,而是通过直接封装MAC首部来完成转发,目标MAC是Director根据调度方法挑选出的某RS的MAC地址
拓扑结构有别于NAT类型

架构特性:
(1) 保证前端路由器将目标地址为VIP的请求报文通过ARP地址解析后送往Director
解决方案:
1、静态绑定:在前端路由直接将VIP对应的目标MAC静态配置为Director的MAC地址,不靠谱也不常用
2、arptables:在各RS上,通过arptables规则拒绝其响应对VIP的ARP广播请求
3、内核参数:在RS上修改内核参数,并结合地址的配置方式实现拒绝响应VIP对ARP的响应请求
(2) RS的RIP可以使用私有地址,但也可以使用公网地址,此时可通过互联网上的主机直接对此RS发起管理操作
(3) 请求报文必须经由Director调度,但响应报文必须不能经由Director
(4) 各RIP必须与DIP在同一物理网络中,就是不能通过路由器转发否则会被修改MAC地址,可以通过交换机交换
(5) 不支持端口映射
(6) RS可以使用大多数的OS
(7) RS的网关一定不能指向Director


我们使用LVS配置,不懂的可以先看另一篇博客LVS基础  http://kmk0226.blog.运维网.com/5975994/1717592

  

架设DR模式的LVS负载均衡主要的思路就是VIP只能Directory上能够响应,RS上的VIP只能发送。

因此我们要先根据自己需要架设的服务拓扑图来规划IP地址以及测试。

1、根据上面的拓扑图先规划IP地址  

   

注意:DR模式与NAT模式不同,DR模式所有的IP地址都为公网地址并不是私有地址。

    VIP:192.168.100.2

    VIP为公网地址,因此这个地址需要能连通外部网络的。
   

    DIP:192.168.100.3

    DIP是公网地址

   

    RIP:192.168.100.4-6

    RIP为Real server的IP地址,拓扑图的三台服务器依次设置IP地址从4到6
  

2、设置完成IP地址架设网络以及对ARP广播做限制,最后进行测试是否连通。
    先配置各个服务器的IP地址:
    (注意:本次IP地址配置是命令方式的并不能永久生效,如果需要永久生效的话要在配置文件中配置具体,本章不做描述,如果需要请留言)
   (1) Directory:

        DIP: ifconfig eth0 192.168.100.3 netmask 255.255.255.0 up

        VIP:ifconfig eth0:0 192.168.100.2 netmask 255.255.255.255 broadcast 192.168.100.2 up

            由于vip只是用于标记用的,所以掩码设置为32位的, 并且设置广播域的范围只有192.168.100.2   
            route add -host 192.168.100.2 dev eth0:0

                如果主机的目标地址是192.168.100.2这个VIP就必须从eth0:0这个端口进出
            开启nat转发功能
            vim /etc/sysctl.conf
                修改net.ipv4.if_forward = 1
                    1为打开,0为关闭
            sysctl -p : 让修改的配置立即生效      



   (2) Real Server:

        RIP: ifconfig eth0 192.168.100.4 netmask 255.255.255.0 up

        VIP: ifconfig lo:0 192.168.100.2 netmask 255.255.255.255 broadcast 192.168.100.2 up
            DR模型中在RS中的VIP是放在本地端口的,不对外通信的,只做帧首部用,具体原因请学习网络基础。

        RS还需要设置ARP限制,否则就算本地端口也会将自己的IP地址与外部通信。

            route add -host 192.168.100.2 dev lo:0

                如果主机的目标地址是192.168.100.2这个VIP就必须从lo:0这个端口进出

        2.4.26,2.6.4 kernael引入两个内核参数:

arp_announce: 定义arp限制通告级别

arp_ignore: 定义arp忽略arp请求级别或aro通告的级别

            

          echo 1 > /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/all/arp_ignore

    echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

  

    另外两台RS也做同样的操作,不过RIP需要修改成192.168.100.5192.168.100.6


  (3) 全部设置完之后测试各个IP地址之间是否能够正常通信,使用ping工具

        在每个主机上都ping一下其他主机的IP地址


3、测试需要架设的服务是否能够在Directory上正常访问
    本次以http为例,在各个RS上安装完http之后,在Directory使用curl http://192.168.100.4测试是否正常
  

  

测试完成之后就可以配置集群了。

  

  LVS集群配置在Directory上配置:
ipvsadm -A -t 192.168.100.2:80 -s rr    //设置VIP为访问集群时候的IP地址,端口号为80,-s 代表使用自定义集群访问模式,rr为轮询,代表每个服务器都会轮换着访问
ipvsadm -a -t 192.168.100.2:80 -r 192.168.100.4 -g -w 1  //设置192.168.100.4为一个RS服务器,-g代表是开启DR模式, -w为权重,1为权重为1
ipvsadm -a -t 192.168.100.2:80 -r 192.168.100.5 -g -w 2  //设置192.168.100.5为一个RS服务器,-g代表是开启DR模式, -w为权重,2为权重为2
ipvsadm -a -t 192.168.100.2:80 -r 192.168.100.6 -g -w 3  //设置192.168.100.6为一个RS服务器,-g代表是开启DR模式, -w为权重,3为权重为3
注意:权重越大代表被访问到的几率越大,不过为RR轮询的时候是无效的。  
配置完Directory之后集群的配置就已经配置完成了。


测试集群是否可以正常访问:
    1、实验环境中先确保iptables防火墙为关闭状态

    2、实验环境中确保selinux为关闭状态或警告状态

    3、在RS服务器中建立http页面,页面内容最好是能区分每个主机的不通内容,例如:192.168.100.4这样一个IP地址的内容

    4、在本地物理机直接访问VIP测试是否能够正常访问,并且是否是正常轮询访问的,如果都正常代表LVS集群已经架设完成





总结:
    LVS负载均衡集群对网络要求较高,如果内部网络架设不完整或者不通都将会导致集群无法正常访问,重点只要所有IP地址都能ping通就能正常架设成功。




  

  





运维网声明 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-659478-1-1.html 上篇帖子: 通过piranha搭建lvs高可用集群 下篇帖子: 初识LVS(三)——DR工作模式实际环境中的应用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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