1.DR模式(直接路由模式:Virtual Server via Direct Routing) 

  DR模式是通过改写请求报文的目标MAC地址,将请求发给真实服务器的,而真实服务器响应后的处理结果直接返回给客户端用户。同TUN模式一样,

DR模式可以极大的提高集群系统的伸缩性。而且DR模式没有IP隧道的开销,对集群中的真实服务器也没有必要必须支持IP隧道协议的要求。但是要求

度器LB与真实服务器RS都有一块网卡连接到同一物理网段上,必须在同一个局域网环境。DR模式是互联网使用比较多的一种模式。

  

  DR模式原理图:

  

  LVS-DR数据流向图

  

  DR模式原理过程简述:

    如下图:当客户端请求VIP时,会将请求先发给Director(调度器),调度器发现请求的是一组集群服务,根据调度算法将这一请求转发给RealServer,

注意在转发的过程中,仅仅是修改了数据报文中的MAC地址,所以这也是为什么我们要求DR和RS必须在同一个物理网络内,就是为了保证可以通过修改MAC

地址而进行数据报文的转发。当RealServer处理请求,响应数据,发送响应数据给客户端,按理说此时的数据包的源IP为RIP,目标IP为CIP,虽然能找到客户端,

但是客户端是不收该数据包的,因为并没有请求该RIP ,现在的做法就是进行IP欺骗,即就是修改源 IP 为 VIP,但是不可以将VIP设置在出口网卡上,否则会响

应客户端的arp request,造成client/gateway arp table紊乱,以至于整个load balance都不能正常工作。要在lo接口上配置VIP,并将此 VIP 屏蔽,但是出去时候

的数据包被路由转换,转换后的 IP不再是 VIP,所以要重新设置路由。

  另外关于各服务器网络的配置,首先每个服务有一个独立网卡即可。在DR上将DIP配置eth0上,将VIP配置在网络别名上,这样是为了以后调度器做高可用

方便VIP做IP地址飘移。在各RS上同样需要配置好VIP,这样个RS就可以直接响应Client,而不需要再经过DR,但是一个物理网络之内是不允许有多个同名IP的,

所以需要修改RS的内核参数,并且将VIP配置在LO上,让其保留VIP但是不允许对外进行广播,这样从RS出去的报文源地址就是VIP,当然这需要从真实的物理

网卡出去,所以必须加一条路由,让访问VIP的数据包请求,对其响应的是配置了VIP的网卡,这样响应出去的报文源地址就是VIP,可以被Client接受。

2.下面对LVS-DR的配置参数

  在如上图的VS/DR应用模型中(所有机器都在同一个物理网络),所有机器(包括Director和RealServer)都使用了一个额外的IP地址,即VIP。

  当一个客户端向VIP发出一个连接请求时,此请求必须要连接至Director的VIP,而不能是RealServer的,因为LVS的主要目标就是要Director负责

调度这些连接请求至RealServer的。因此,在Client发出至VIP的连接请求后,只能由Director将其MAC地址响应给客户端(也可能是直接与Director连

接的路由设备),而Director则会相应的更新其ipvsadm table以追踪此连接,而后将其转发至后端的RealServer之一。

3.配置一台LVS负载均衡服务器

  3.1.主机列表

  

Node1

DIP:192.168.232.201

VIP:192.168.232.206

集群服务器

 

Node2

RIP:192.168.232.200

VIP:192.168.232.206

RS,apache

 

Node3

RIP:192.168.232.204

VIP:192.168.232.206

RS,apache

 

  3.2.配置拓扑如下图:

  

  3.2.Lvs DR模式集群步骤

    1. 找一台主机192.168.232.201作为DR(虚拟集群服务器),安装ipvsadm

    yum -y install ipvsadm 

     2.在DR设置两个IP地址:DIP要配置在接口上,VIP要配置在网卡接口别名上

      a) DIP: 192.168.232.201 ,设置静态ID

      b) VIP:192.168.232.206 , ifconfig eth0:1 192.168.232.206/24

    3.在多台RS( apeche或者tomcat )上面的配置:RIP要配置在接口上,VIP要配置在lo的别名上,定义内核参数,禁止响应对VIP的ARP广播请求(先配置,再绑定VIP)

      a) 两台RS的RIP设置:静态设置192.168.232.200      192.168.232.204

      b) 修改报文源IP的设置,需要设置内核参数     

      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

      c) 在两台机器(RS)上,设置网卡的别名192.168.232.206,此时绑定的网络接口不进行对外通信,所以VIP绑定在lo的别名上

        ifconfig lo:0 192.168.232.206  netmask 255.255.255.255 broadcast 192.168.232.206(子网掩码错误,好处是永远不进行对外通信)

      d) 在两台机器(RS)上,添加一个路由:route add -host 192.168.232.206 dev lo:0    确保如果请求的目标IP是$VIP,那么让出去的数据包的源地址

也显示为$VIP

       

    4.DR上需要加一个路由设置:route add -host 192.168.232.206 dev eth0:1    (该步我省略了)

     5.在RS 检查web服务是否正常

    6.在DR上使用ipvsadm添加集群服务:使用Ipvsadm命令管理集群服务

        6.1:首先添加了一个集群服务:ipvsadm -A -t 192.168.232.206:80 -s wlc       注意:修改端口一致

        6.2:在当前的集群服务中添加RS1:ipvsadm -a -t 192.168.232.206:80 -r 192.168.232.200 -g -w 1

        6.3:在当前的集群服务中添加RS2:ipvsadm -a -t 192.168.232.206:80 -r 192.168.232.204 -g -w 1

    7.使用VIP进行访问:

          

  DR模式小结:

  1、通过在调度器LB上修改数据包的目的MAC地址实现转发,端口不改变。意味着发送到RS上时的端口还是原来的端口,如果在RS上安装了Tomcat,那么

Tomcat的端口也应该是和前面的端口一致,注意源地址仍然是CIP,目的地址仍然是VIP地址。

  2、请求的报文经过调度器,而RS响应处理后的报文无需经过调度器LB,因此并发访问量大时使用效率很高(和NAT模式比)

  3、因为DR模式是通过MAC地址改写机制实现转发,因此所有RS节点和调度器LB只能在一个局域网里面

  4、RS主机需要绑定VIP地址在LO接口上,并且需要配置ARP抑制。

  5、RS节点的默认网关不需要配置成LB,而是直接配置为上级路由的网关,能让RS直接出网就可以。

  6、由于DR模式的调度器仅做MAC地址的改写,所以调度器LB就不能改写目标端口,那么RS服务器就得使用和VIP相同的端口提供服务。

参考:https://blog.csdn.net/brad_chen/article/details/47807281

  

  

4.LVS的三种工作模式_DR模式的更多相关文章

  1. 转载-LVS的三种工作模式

    来源地址:http://www.uml.org.cn/zjjs/201211124.asp 1.lvs简介         lvs是一个开源的软件,由毕业于国防科技大学的章文嵩博士于1998年5月创立 ...

  2. 2.LVS的三种工作模式_NAT模式

    1.LVS的三种工作模式 1)VS/NAT模式(Network address translation) 2)VS/TUN模式(tunneling) 3)DR模式(Direct routing) 1. ...

  3. 3.LVS的三种工作模式_TUN模式

    1.TUN模式(Virtual Server via IP Tunneling) 采用NAT模式时,由于请求和响应的报文必须通过调度器地址重写,当客户请求越来越多时,调度器处理能力将成为瓶颈.为了解决 ...

  4. LVS集群的三种工作模式

    LVS的三种工作模式: 1)VS/NAT模式(Network address translation) 2)VS/TUN模式(tunneling) 3)DR模式(Direct routing) 1.N ...

  5. LVS负载均衡(LVS简介、三种工作模式、十种调度算法)

    一.LVS简介 LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中.该项目在Linux内核中实现 ...

  6. LVS 负载均衡 三种工作模式 十种调度算法

    原文链接:https://blog.csdn.net/weixin_40470303/article/details/80541639 一.LVS简介 LVS(Linux Virtual Server ...

  7. LVS三种工作方式八种算法

    一.集群简介 什么是集群 计算机集群简称集群是一种计算机系统,它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作.在某种意义上,他们可以被看作是一台计算机.集群系统中的单个计算 ...

  8. LVS负载均衡常用的工作模式有NAT、DR、和TUN三种,其中DR模式性能最为优越,使用最为广泛。

    一.安装LVS LVS的编译安装参考本站文章:http://www.linuxe.cn/post-192.html,对于LVS这种功能性软件,在生产中用yum安装也是没有问题的. 1 yum inst ...

  9. LVS负载均衡软件使用及(LVS简介、三种工作模式、十种调度算法)

    一.LVS简介 LVS(Linux Virtual Server)即Linux虚拟服务器,目前LVS已经被集成到Linux内核模块中.该项目在Linux内核中实现了基于IP的数据请求负载均衡调度方案, ...

随机推荐

  1. Spring Cloud Zuul 精进

    接着上一篇继续讲Zuul,上一篇搭建了Zuul的环境简单说明了怎么使用,本篇查缺补漏将一些常用的配置贴出来.文末我们会一起分析一下Zuul的源码,升华一下本篇的格调! 忽略所有微服务或某些微服务 默认 ...

  2. cad.arx 自定义实体之编译第一个项目(甜头)

    本篇不从零开始讲如何制造自定义图元,而是教新手们如何设置了环境之后编译张帆书中的代码. 利用vs2010编译 张帆<AutoCAD ObjectARX(VC)开发基础与实例教程>一书中的自 ...

  3. 【chromium】 渲染显示相关概念

    DRM(Direct Rendering Manager) DRM 由两个部分组成:一是 Kernel 的子系统,这个子系统对硬件 GPU 操作进行了一层框架封装.二是提供了一个 libdrm 库,里 ...

  4. cocos2d设置窗口标题

    //窗口标题 #ifdef WIN32 CCEGLView* pGlView=CCDirector::sharedDirector()->getOpenGLView(); if (pGlView ...

  5. JS异步操作概述(转)

    add by zhj: 只转载了一部分.异步操作的三种模式未转载,因为里面代码比较多,复制过来麻烦 原文:https://wangdoc.com/javascript/async/general.ht ...

  6. MarkDown添加图片的三种方式【华为云技术分享】

    Markdown插图片有三种方法,各种Markdown编辑器的插图方式也都包含在这三种方法之内. 插图最基础的格式就是: ![Alt text](图片链接 "optional title&q ...

  7. linux中常用命令alias

    1.查看系统中所有的命令别名 alias 2.查看指定的别名 alias 别名 2.设定别名 alias 别名='原命令' 3.删除别名 unalias 别名 4.使别名永久生效 vi ~/.bash ...

  8. sqlserver获得数据库非聚集索引的代码

    创建Index DECLARE @zindex_sql NVARCHAR(max); SET @zindex_sql = N''; SELECT @zindex_sql = @zindex_sql + ...

  9. [個人紀錄] windows form , usercontrol design 模式不見

    windows form 跟 usercontrol 都變成cs檔 無法點擊進入設計模式 <Compile Include="Form1.cs"/> <Compi ...

  10. Wireshark教程之一:认识Wireshark界面

    1.下载与安装 官网地址:https://www.wireshark.org/ 官网下载地址:https://www.wireshark.org/#download 本文以windows环境为例来说明 ...