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

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

1.DR模式的原理及特效

原理:

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

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

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

特性

在这里插入图片描述

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

在这里插入图片描述
2.ipvsadm -ln查看策略,此时应该为空

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

在这里插入图片描述
3.对调度器进行配置

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

在这里插入图片描述在这里插入图片描述
配置步骤:
(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

在这里插入图片描述
4.给调度器添加VIP

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

在这里插入图片描述

真实后端服务器模块

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

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

在这里插入图片描述
在这里插入图片描述
2.开启httpd服务

yum install httpd
systemctl start httpd

vim /var/www/html/index.html

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

客户端进行测试

客户端测试:

curl 172.25.70.254 #访问VIP

  这个时候,你可能会发现并没有轮询.
在这里插入图片描述
  在解决这个问题时,需要了解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地址

在这里插入图片描述
  当RS:server2或server抢到之后,arp就会把对应的mac地址保存,不会再改了。
  可以选择手动清除

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

在这里插入图片描述

对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

在这里插入图片描述
  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

在这里插入图片描述

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

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

sysctl -a | grep arp_ignore查看参数

在这里插入图片描述
修改:
在这里插入图片描述

3.有关ARP协议的了解

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值