• LVS-DR模式


    LVS-DR模式,也是最常用的lv负载方式,DR,DIRECT ROUTING 直接路由模式(根据mac地址)

    负载均衡器lvs调度器,只负责请求转发到真实服务器,但是响应结果,由后端的真实服务器直接转发给客户端,不需要经过调度器的处理。减轻LVS调度器的负担,提高了性能和稳定性。(面试题)

    LVS-DR模式的工作原理:

    1,客户端发送请求到vip

    2,LVS的调度器接受请求之后,根据算法选择一台后端的真实服务器,请求转发到后端RS,请求报文的目的mac地址,修改成后端真实服务器的MAC地址。转发。

    3,后端真实服务器接受请求,处理完成之后,由于后端服务器之间把响应结果转发给客户端,响应的报文中的目的MAC地址修改成客户端的MAC地址。直接把响应报文转发到客户端。

    4,调度器,后端真实服务器都要有vip地址,调度器和后端真实服务器在同一网段。

    DR模式的特定:

    1,调度器的IP和真实服务器的ip必须在同一个物理网络中

    2,真实服务器的ip地址可以是私有地址,也可以是公网地址。如果配置的是公网,可以通过互联网直接访问RIP。

    3,调度器只作为入口,但是不做网关(不转发)。要把服务器的转发功能关闭。

    4,后端真实服务器的网关也不能指向调度器,真实服务器的数据包不允许经过调度器。

    5,后端真实服务器上,基于LO接口配置VIP的ip地址。

    ARP协议(网络层协议):将IP地址解析为mac地址

    ARP请求:主机A和主机B

    核心:解决局域网内部的通信。IP地址和mac地址的映射。

    DR模式的调度器和后端服务器都是在一个网段中,通过ARP请求实现局域网

    问题1:由于调度器和后端真实服务器都有相同的VIP地址,导致响应冲突,ARP通信紊乱。对真实服务器进行处理,真实服务器不响应针对VIP的ARP请求。

    设置内核优化的操作:VIP地址使用LO的虚拟地址:arp_ignore=1

    后端指定服务器只响应目的IP为本地ip,也就是RIP。后端服务器的真正IP地址。ens33网卡提供的地址。

    问题2:

    返回报文使用的源地址还是VIP地址,调度器也是VIP,怎么把响应返回到客户端,不经过调度器呢。

    对真实后端的真实服务器做一个内核参数的优化:arp_announce=2 系统不使用IP数据包的源地址,来设置ARP的请求。而是使用真实的物理网卡的地址。

    如何实现DR模式的负载均衡:

    调度器的内核优化

    net.ipv4.ip_forward = 0

    关闭服务器作为网关的转发功能

    net.ipv4.conf.all.send_redirects = 0

    控制是否发送ICMP的重定向消息,禁止重定向

    net.ipv4.conf.default.send_redirects = 0

    禁止默认网络接口,就是调度器的网卡,发送icmp的重定向消息

    net.ipv4.conf.ens33.send_redirects = 0

    指明网卡设备,ens不发送重定向消息。

    ens33网卡发出去的数据,不回来了

    添加路由 把vip的地址绑定到o:0.作为LVS的vip地址。标识。告诉调度器,进行转发请求的ip地址

    net.ipv4.conf.lo.arp_ignore = 1

    #设置lo接口忽略来自任何接口的ARP请求

    net.ipv4.conf.lo.arp_announce = 2

    设置lo接口仅会响应本地的IP地址,其他的接口ARP请求,全部忽略

    net.ipv4.conf.all.arp_ignore = 1

    所有接口忽略来自任务接口的ARP请求

    net.ipv4.conf.all.arp_announce = 2

    所有接口仅会响应本地的IP地址的ARP请求,其他的接口的ARP请求全部忽略

    ipvsadm 的修改方式:ipvsadm规则不能修改,只能删除重新设置,

    但是可以修改VIP地址的算法:

    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.176.100:80 rr

    -> 192.168.176.60:80 Route 1 0 0

    -> 192.168.176.70:80 Route 1 0 0

    ipvsadm -E -t 192.168.176.100:80 -s wrr

    Forward:负载均衡算法和负载均衡方式。route就是DR模式

    也可以修改策略的轮询权重:

    ipvsadm -E -t 192.168.176.100:80 -r 192.168.176.60:80 -w 2

    ipvsadm -E -t 192.168.176.100:80 -r 192.168.176.60:80 -w 3

    DR模式:核心就是响应客户端由后端的真实服务器完成。不需要经调度器。(面试题)

    vip地址,调度器和后端服务器都要有vip地址。

    暴露访问地址。

    调度器转发请求的标识

    调度器和后端服务器之间进行通信

    高可用(DR模式的高可用)

    其他所有作用的请求和响应都被禁用。

    面试题:

    LVS负载均衡的工作方式:

    三种:NAT DR TUN

    最常用的就是DR模式

    NAT:优点,配置简单。

    缺点:性能瓶颈

    真实服务器:ANY

    支持的网络模式:私网。

    后端服务器的数量:10~20

    DR:优点:性能最好

    缺点:调度服务器和后端真实服务器,不能跨网段

    真实服务器要求:no-ARP(只能到真实服务器)

    支持的网络模式:后端服务器即可以是内网,也可以是公网

    真实服务器的数量:100台。

    面试题:tun 公司不用。

    面试题LVS调度器中常用的算法:负载均衡的策略:

    rr wrr dh sh

    wlc lc lblc

    工作原理:

    NAT:数据从客户端进来根据算法转发到后端真实服务器,后端真实服务器响应之后先到代理服务器,代理服务器把响应包装,再返回到客户端。返回客户端进行地址转换。

    DR:数据先到代理服务器,由于只负责转发到后端真实服务器。不处理,所以称为调度器。后端真实服务器响应之后由客户端的mac地址不通过调度器直接转发给客户机。

  • 相关阅读:
    css笔记
    编译原理:语法分析(自顶向下)
    【Linux】多路IO复用技术③——epoll详解&如何使用epoll模型实现简易的一对多服务器(附图解与代码实现)
    Flink开发语言使用Java还是Scala合适?
    Android studio2022.3项目,禁止页面左右
    2022前端面试题上岸手册-React部分
    Vue3+Element Plus使用svg加载iconfont的解决方案
    2022-08-11 第六小组 瞒春 学习笔记
    Unity基础01——3D数学
    C语言题目练习
  • 原文地址:https://blog.csdn.net/weixin_51694382/article/details/133993881