lvsDR模式

LVS-DR模式 是最常用的LVS负载方式 直接路由模式

Lvs调度器 只负责请求和转发 转发到真实服务器 但是响应结果 由后端服务器直接转发给客户端 不需要经过调度器处理 可以减轻Lvs调度器的负担 提高系统性能和稳定性

工作原理:

lvsDR模式_第1张图片

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

lvsDR模式_第2张图片

MAC地址转发

DR模式的特点

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

ARP协议:网络层协议 将IP地址解析为物理mac地址

ARP请求:主机A和主机B

lvsDR模式_第3张图片

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

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

lvsDR模式_第4张图片

问题一:VIP地址相同会导致响应冲突

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

解决办法:

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

VIP地址使用的LO的虚拟地址 arp_ignore=1

后端真实服务器只响应目的IP为本地IP 也就是RIP 真实IP地址

问题二:返回报文使用的源地址还是VIP地址 调度器也是VIP 怎么把响应返回给客户端不经过调度器

解决办法:

后端真实服务器做内核参数优化 :arp_announce=2 系统不使用IP数据包的源地址来设置ARP的请求

如何实现DR模式负载均衡和配置方法

lvsDR模式_第5张图片

调度器的内核优化

net.ipv4.ip_forward = 0

net.ipv4.conf.all.send_redirects = 0

net.ipv4.conf.default.send_redirects = 0

net.ipv4.conf.ens33.send_redirects = 0

lvsDR模式_第6张图片

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请求全部忽略

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请求全部忽略

DR模式 核心就是响应客户端由后端的真实服务器 不需要经过调度器

VIP地址 调度器和后端服务器都要有VIP地址

VIP地址:暴露访问地址

              调度器转发请求的表示

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

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

其他所有的请求和响应都是禁用

负载均衡算法设置

修改VIP的调度算法:

ipvsadm -E -t 192.168.233.100:80 -s wrr

修改策略轮询权重

你可能感兴趣的:(支持向量机)