企业级负载均衡集群---LVS(二)---DR模式

文章目录

  • 企业级负载均衡集群---LVS(二)---DR模式
    • 1.DR模式的原理及特效
      • 原理:
      • 特性
    • 2.搭建DR模式的lvs的步骤
      • 调度器server1 模块
      • 真实后端服务器模块
      • 客户端进行测试
      • 对server2和server3真实后端配置arptables实现轮询
        • server2
        • server3
        • 测试
      • DR模式当局域网内有多个相同ip地址时,解决抢答问题的第二种方法
    • 3.有关ARP协议的了解

企业级负载均衡集群—LVS(二)—DR模式

1.DR模式的原理及特效

原理:

在一台主机上搭建lvs服务器,设置lvs的工作模式是DR模式,lvs仅仅是一个调度器,它会把客户端的请求转发给后备服务器

DR模式直接由后备服务器把数据返回给客户端,不需要逆向发送数据包,此时lvs专注做调度就可,效率很高。

DR模式高效的原因是RS服务器会直接响应客户端的请求,发送的请求一直往前发送数据包,不会再返回数据包给调度器

特性

企业级负载均衡集群---LVS(二)---DR模式_第1张图片

2.搭建DR模式的lvs的步骤

实验背景:
三台虚拟机做服务
一台真机做测试

server1  172.25.70.1 调度器
server2  172.25.70.2 真实服务器1
server3   172.25.70.3 真实服务器2
真机     172.25.70.250   客户端

前提:
对四台主机分别关闭火墙,关闭selinux

调度器server1 模块

1.安装ipvsadm

yum install ipvsadm -y

企业级负载均衡集群---LVS(二)---DR模式_第2张图片
2.ipvsadm -ln查看策略,此时应该为空

ipvsadm -l		#查看策略(解析ip与域名的对应关系,查看速度较慢)
ipvsadm -ln		#-n不解析(速度快)

企业级负载均衡集群---LVS(二)---DR模式_第3张图片
3.对调度器进行配置

ipvsadm --    ##--help查看帮助

企业级负载均衡集群---LVS(二)---DR模式_第4张图片企业级负载均衡集群---LVS(二)---DR模式_第5张图片
配置步骤:
(1)设置客户端进入lvs调度器的入口地址

ipvsadm -A -t 172.25.70.254:80 -s rr	#添加策略:-t tcp,通过80端口访问VIP:172.25.70.254,以轮询的调度算法

(2)策略写入两台后端服务器的信息

ipvsadm -a -t 172.25.70.254:80 -r 172.25.70.2:80 -g	#添加策略:tcp,通过80端口访问172.25.70.254,以轮询的调度算法,-g:使用DR(直接路由)模式,转发到172.25.70.2的80端口
ipvsadm -a -t 172.25.70.254:80 -r 172.25.70.3:80 -g	##添加策略:tcp,通过80端口访问172.25.70.254,以轮询的调度算法,-g:使用DR(直接路由)模式,转发到172.25.70.3的80端口
ipvsadm -ln

企业级负载均衡集群---LVS(二)---DR模式_第6张图片
4.给调度器添加VIP

ip addr add 172.25.70.254/32 dev eth0	#添加VIP地址到eth0上
ip addr show

企业级负载均衡集群---LVS(二)---DR模式_第7张图片

真实后端服务器模块

1.为rs添加vip,它对外提供服务

ip addr add 172.25.70.254/32 dev eth0	#添加VIP地址到eth0上

企业级负载均衡集群---LVS(二)---DR模式_第8张图片
企业级负载均衡集群---LVS(二)---DR模式_第9张图片
2.开启httpd服务

yum install httpd
systemctl start httpd

vim /var/www/html/index.html

在这里插入图片描述在这里插入图片描述

客户端进行测试

客户端测试:

curl 172.25.70.254 #访问VIP

  这个时候,你可能会发现并没有轮询.
企业级负载均衡集群---LVS(二)---DR模式_第10张图片
  在解决这个问题时,需要了解arp协议

  当你在客户端测试172.25.70.254时,arp协议会在局域网广播,寻找ip的mac地址,导致有这个ip地址(3个server)的都来抢着回答,谁抢到了就是
谁。

  1. 如果绑定的MAC地址是server1,则在server2和3中轮询。
  2. 如果绑定的MAC地址是sever2或sever3的,它就不会接受调度器的调度了。
arp -an |grep 254   #查看VIP:254绑定的MAC地址

在这里插入图片描述

ip addr show  ##查看回答的server的mac地址

企业级负载均衡集群---LVS(二)---DR模式_第11张图片
  当RS:server2或server抢到之后,arp就会把对应的mac地址保存,不会再改了。
  可以选择手动清除

arp -d 172.25.70.254 #清除绑定的mac地址

企业级负载均衡集群---LVS(二)---DR模式_第12张图片

对server2和server3真实后端配置arptables实现轮询

  要避免这种情况:要求只能绑定server1(调度器)的MAC地址

  配置server2和server3的arp路由策略:为arptables网络的用户控制过滤的守护进程

server2

1.安装软件

yum whatprovides arptables/*
yum install arptables-0.0.4-8.el7.x86_64 -y

企业级负载均衡集群---LVS(二)---DR模式_第13张图片
  arptables是一段程序,用于管理内核空间的arp规则表,规定arp什么时候响应,什么时候不响应。

2.添加策略

arptables -A INPUT -d 172.25.70.254 -j DROP	#来的ARP,如果目的IP是VIP的,丢弃。不会回答RS自己的mac地址。
arptables -A OUTPUT -s 172.25.70.254 -j mangle --mangle-ip-s 172.25.70.2	#发出去的ARP包,如果源IP是VIP,就改成RS的IP。
#因为VIP和RIP都配置在相同网卡上,这样修改,发出去的ARP包,则只会认为自己是RIP。

在这里插入图片描述

server3

yum whatprovides arptables/*
yum install arptables-0.0.4-8.el7.x86_64 -y
arptables -A INPUT -d 172.25.70.254 -j DROP	#来的ARP,如果目的IP是VIP的,丢弃。不会回答RS自己的mac地址。
arptables -A OUTPUT -s 172.25.70.254 -j mangle --mangle-ip-s 172.25.70.3	#发出去的ARP包,如果源IP是VIP,就改成RIP。

测试

arp -d 172.25.70.254		#先删除现有绑定MAC地址
curl 172.25.70.254

企业级负载均衡集群---LVS(二)---DR模式_第14张图片

DR模式当局域网内有多个相同ip地址时,解决抢答问题的第二种方法

也可以通过更改内核参数的方法来解决多台IP相同主机抢答的问题。

sysctl -a | grep arp_ignore查看参数

企业级负载均衡集群---LVS(二)---DR模式_第15张图片
修改:
企业级负载均衡集群---LVS(二)---DR模式_第16张图片

3.有关ARP协议的了解

企业级负载均衡集群---LVS(二)---DR模式_第17张图片
企业级负载均衡集群---LVS(二)---DR模式_第18张图片
企业级负载均衡集群---LVS(二)---DR模式_第19张图片

你可能感兴趣的:(企业实战)