CentOS7.9下DR模式的实现

本文详细介绍了在Linux环境下配置负载均衡LVS DR(Direct Routing)模式的步骤,包括设置虚拟机网络、配置VIP、调整RS响应、启动HTTP服务、使用ipvsadm工具进行调度器和RS的配置。在DR模式下,调度器仅修改数据包的目的MAC地址,RS直接响应客户端,适合高并发场景。验证过程通过浏览器访问VIP,观察轮询响应。
摘要由CSDN通过智能技术生成

DR模式的实现

•1.准备3台虚拟机node1,node2,node3

•2.先配置3台虚拟机的网络:分别为192.168.20.101,192.168.20.102,192.168.20.103

–ens33,配置在一个网段

–DIP,RIP在一个网段

•3,配置lvs的VIP

[root@node1 ~]# ifconfig ens33:3 192.168.20.100 netmask 255.255.255.0
或(一样的)
​[root@node1 ~]# ifconfig eth0:3 192.168.20.100/24
​[root@node1 ~]# ifconfig
ens33     Link encap:Ethernet  HWaddr 00:0C:29:36:EB:66  
         ......
ens33:3    Link encap:Ethernet  HWaddr 00:0C:29:36:EB:66  
          inet addr:192.168.20.100  Bcast:192.168.20.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

查看/proc/sys/net/ipv4/ip_forward文件内容,默认为0,表示如果请求过来的数据表发现不是找的自己,则丢弃。将之改为1,表示转发走

[root@node1 ~]# cat /proc/sys/net/ipv4/ip_forward
0
[root@node1 ~]# echo "1" > /proc/sys/net/ipv4/ip_forward
[root@node1 ~]# cat /proc/sys/net/ipv4/ip_forward
1

•4.调整RS的响应。通告级别(每一台RS都配):

[root@node2 ~]# echo 1  > /proc/sys/net/ipv4/conf/eth0/arp_ignore
[root@node2 ~]# echo 2  > /proc/sys/net/ipv4/conf/eth0/arp_announce
[root@node2 ~]# echo 1  > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@node2 ~]# echo 2  > /proc/sys/net/ipv4/conf/all/arp_announce

•5.配置RS的VIP(每一台RS都配)

[root@node2 ~]# ifconfig lo:8 192.168.20.100 netmask 255.255.255.255

别忘了node3也要执行步骤:4和5

•6,启动RS上的httpd

[root@node2 ~]# yum install httpd -y

[root@node2 ~]# cd /var/www/html

[root@node2 html]# vi index.html

添加 from 192.168.20.102

[root@node2 ~]# service httpd start

•客户端浏览器验证:RIP:80 能显示

–VIP:80不能显示

在node3上执行步骤6,不过向index.html中添加from 192.168.20.103

•7,LVS——ipvsadm

ipvsadm 参数详解:

-C 清除表中所有的记录

-A --add-service在服务器列表中新添加一条新的虚拟服务器记录

-t 表示为tcp服务

-u 表示为udp服务

-s --scheduler 使用的调度算法, rr | wrr | lc | wlc | lblb | lblcr | dh | sh | sed | nq 默认调度算法是 wlc

ipvsadm -A -t 192.168.20.100:80 -s rr

-a --add-server 在服务器表中添加一条新的真实主机记录

-t --tcp-service 说明虚拟服务器提供tcp服务

-u --udp-service 说明虚拟服务器提供udp服务

-r --real-server 真实服务器地址

-m --masquerading 指定LVS工作模式为NAT模式

-w --weight 真实服务器的权值

-g --gatewaying 指定LVS工作模式为直接路由器模式(也是LVS默认的模式)

-i --ipip 指定LVS的工作模式为隧道模式

-p 会话保持时间,定义流量呗转到同一个realserver的会话存留时间

ipvsadm -a -t 192.168.20.100:80 -r 192.168.20.102 -g

[root@node1 ~]# yum install ipvsadm -y
[root@node1 ~]# ipvsadm -A -t 192.168.20.100:80 -s rr
[root@node1 ~]# ipvsadm -a -t 192.168.20.100:80 -r 192.168.20.102 -g
[root@node1 ~]# ipvsadm -a -t 192.168.20.100:80 -r 192.168.20.103 -g
[root@node1 ~]# 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.20.100:80 rr
  -> 192.168.20.102:80            Route   1      0          0        
  -> 192.168.20.103:80            Route   1      0          0    

http://192.168.20.100/浏览器刷新: 访问vip。发现轮询的方式响应信息了。

验证:多次刷新访问vip,然后在node1,node2,node3中通过命令netstat -natp查看

 

再次狂刷多次访问vip

[root@node1 ~]# ipvsadm -lnc

DR模式小结:

  1. 通过在调度器LB上修改数据包的目的MAC地址实现转发。注意源地址仍然是CIP,目的地址仍然是VIP地址。
  2. 请求的报文经过调度器,而RS响应处理后的报文无需经过调度器LB,因此并发访问量大时使用效率很高(和NAT模式比)
  3. 因为DR模式是通过MAC地址改写机制实现转发,因此所有RS节点和调度器LB只能在一个局域网里面
  4. RS主机需要绑定VIP地址在LO接口上,并且需要配置ARP抑制。
  5. RS节点的默认网关不需要配置成LB,而是直接配置为上级路由的网关,能让RS直接出网就可以。

由于DR模式的调度器仅做MAC地址的改写,所以调度器LB就不能改写目标端口,那么RS服务器就得使用和VIP相同的端口提供服务。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ErYao7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值