当前位置: 首页 > article >正文

LVS集群-DR模式

概念:

LVS-DR模式,也是最常用的lVS负载方式,DR  DIRECT ROUTING 直接路由模式

负载均衡器lVS调度器,只负责请求和转发到后端的真实服务器,但是影响结果,由后端服务器直接转发给客户端,不需要经过调度器处理,减轻lVS调度器的负担,提高了性能得出稳定性

简略图:lVS-DR数据流向

lVS-DR模式的工作原理:

  1. 客户端会发送请求到vip
  2. lVS的调度器接受请求之后,根据算法选择一台真实的服务器,请求转发到后端RS,会把请求报文的目的mac地址,修改成后端真实服务器的Mac地址,转发
  3. 后端真实服务器接受请求,处理完成之后,由于后端 服务器直接把响应结果转发给客户端,响应报文中的目的Mac地址修改成客户端的Mac地址,直接把响应的报文转发发给客户端
  4. 调度器,后端真实服务器都有vip地址,调度器的地址和后端真实服务器在同一网段

详细的工作流程:
它记住了双方的Mac地址,可直接转发到后端客户端,根据Mac地址来就那些转发数据包,只能在同一网段转发

DR模式的特点:

  1. 调度器的ip和真实服务器的IP必须在同一个物理网络中
  2. 真实的服务器的IP地址可以是私有地址,也可以是工有地址。如果配置是公网,通过互联网可直接访问PIP
  3. 调度器只作为入口,但是不做网关,需要把服务器的转发功能关闭
  4. 后端真实服务器的网关也不能指向调度器,真实服务器的数据包不允许经过调度器
  5. 后端的真实服务器上,基于LO接口配置vip的IP地址

复习一下:ARP协议:网络层协议,将IP地址解析为物理Mac地址

ARP请求:主机A和主机B

ARP的核心:解决局域网内部电的通信,IP地址和MAC地址的映射

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

常见的问题:

问题一:

由于调度器和后端真实的服务器都有相同的vip地址,导致响应冲突,ARP通信紊乱

对真实服务器进行处理,真实服务器不响应针对vip的ARP的请求

Vip地址使用的LO的虚拟地址:arp_ignore=1

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

问题二:

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

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

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

Test1 20.0.0.51 调度器

Test2 20.0.0.52 web集群1

Test3 20.0.0.53 web集群2

Test4  NFS

Vip地址:20.0.0.54

客户端:随机选择

首先来到调度机

配置vip地址

关闭重定向的参数

调度器的内核优化

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

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

立即生效

先添加IP地址

添加web地址

配置共享服务

Test2 test3设置访问页面

Test2

Test3同样的操作

Test1配置:

Ifconfig查看一下网卡设备

命令:

route add -host 20.0.0.100 dev lo:0

把vip的地址绑定到lo: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请求全部忽略

Test3同样的配置

拿共享服务器访问vip地址

Vip地址只做一件事情代理地址,标识地址,转发地址,还有高可用功能

负载均衡算法:

修改VIP的调度算法:

ipvsadm -E -t 20.0.0.100:80 -s wrr

修改策略的轮训算法:

例如:

修改:

指向后端的真实服务器

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

Weight:后端服务器的轮训权重

ActiveConn:活跃连接,表示调度器正在处理的活动连接数 这些连接正在进行传输数据或者正在进行交互

InActCoon:表示当前处于非活动状态的连接数,已经建立连接但是目前没有数据传输,第二个连接处于的等待状态

修改策略的轮询权重:

ipvsadm -e -t 20.0.0.100:80 -r 20.0.0.52:80 -w 3

一定要先保存,再重启

总结:

LVS负载均衡的工作方式:NAT  DR(最常用) TUN

NAT模式:优点,配置简单

          缺点,性能瓶颈

          真实服务器:所有,支持所有

          支持的网络模式:私网

          后端服务器数量:low(10-20)

DR模式:优点:性能最好,响应最好,不用经过调度器,直接到后端

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

         真实服务器:NO-ARP (请求只能到真实服务器)

         支持的网络:后端服务器即可以是内网也可以是外网

         真实服务器数量:100台

Tun模式:很少用,因为收费


http://www.kler.cn/a/106374.html

相关文章:

  • VMD + CEEMDAN 二次分解,CNN-LSTM预测模型
  • 【第四课】rust声明式宏理解与实战
  • vue 模板语法 ( 插值表达式 | 属性绑定 | 双向数据绑定 | 指令 | 按键修饰符 )
  • 联通大数据面试题及参考答案
  • 爬虫开发工具与环境搭建——开发工具介绍
  • 【C++】深入理解 C++ 优先级队列、容器适配器与 deque:实现与应用解析
  • es之null_value
  • esp8266固件烧录用户手册
  • mac系统u盘启动盘制作教程,更新至macOS Sonoma 14
  • Xilinx的FIR滤波器IP的设计与仿真
  • Django 注册及创建订单商品
  • fl studio21水果新手要不要购买?
  • 推荐一款适合科技行业的CRM系统
  • 电脑定时关机
  • HTTP发起请求与收到响应的大致过程
  • N-129基于springboot,vue学生宿舍管理系统
  • Flink几个性能调优
  • 关于JAVA中字节码文件版本号、产品版本号及开发版本号的关系
  • 0基础学习PyFlink——用户自定义函数之UDTF
  • 机器学习-朴素贝叶斯之多项式模型
  • Pytorch公共数据集、tensorboard、DataLoader使用
  • 揭秘!新手主播如何快速出圈,看拓世法宝分分钟打造百万直播间
  • uniapp开发小程序—picker结合后台数据实现二级联动的选择
  • win10 + VS2017 编译libjpeg(jpeg-9b)--更新
  • Ansible playbook的block
  • 229. 多数元素 II