LVS实战-DR模式配置(常用、重点掌握)

发布时间 2023-07-16 20:56:04作者: 往事已成昨天

LVS实战-DR模式配置(常用、重点掌握)

图片图片

教程每周二、四、六更新

图片

虚拟 IP 地址在RS和DS(即LVS服务器)上都要配置。DS的虚拟 IP 地址的接口,用于接受请求数据包,并将数据包直接路由到选定的服务器。所有RS的都配置了虚拟IP地址或将发往虚拟IP地址的数据包重定向到本地接口lo,以便真实服务器可以在本地处理数据包。DS和RS的其中一个接口必须通过Switch 物理链接。直接路由的集群架构如下图所示:

图片

当用户访问VIP时。负载均衡器 (DS,图上的LinuxDirector) 检查数据包的目标地址和端口。然后通过调度算法从集群中选择一个真实服务器,并将连接添加到记录连接的哈希表中。然后,负载均衡器直接将其转发到选定的服务器。当传入的数据包属于这个连接并且可以在哈希表中找到选择的服务器时,数据包将再次直接路由到服务器。当服务器收到转发的数据包时,服务器发现该数据包是针对其接口上的地址或本地端口的,然后处理请求并最终将结果直接返回给用户。环境说明:DR模式要求Director DIP 和 所有RealServer RIP必须在同一个网段及广播域。并且,所有节点的网关都指向真实网关。10.0.0.11(m01)测试用客户端10.0.0.12(lb01)Director(也叫负载均衡服务器或者叫LVS服务器)10.0.0.14(web01)  真实服务器110.0.0.15(web02)  真实服务器2部署在负载均衡服务器上(LVS服务器):
# 添加虚拟服务,地址10.0.0.200,端口号80,采用轮询调度算法
[root@lb01 ~]# ipvsadm -A -t 10.0.0.200:80 -s rr

# 为虚拟服务添加两个真实服务器:10.0.0.14和10.0.0.15,端口都是80
[root@lb01 ~]# ipvsadm -a -t 10.0.0.200:80 -r 10.0.0.14:80 -g
[root@lb01 ~]# ipvsadm -a -t 10.0.0.200:80 -r 10.0.0.15:80 -g

# 查看VIP和RS是否添加成功
[root@lb01 ~]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.0.0.200:80 rr
  -> 10.0.0.14:80                 Route 1      0          0         
  -> 10.0.0.15:80                 Route 1      0          0

# 添加VIP地址
[root@lb01 ~]# ip a add 10.0.0.200/24 dev ens33
在RS(真实服务器)上(两台都需要这些操作):
[root@web01 ~]# ip a add 10.0.0.200/32 dev lo    # 注意,掩码一定是32位

# 抑制arp响应。LVS服务器的vip有了,真实服务器再配上vip,那就同一个网段中拥有多个vip, 客户端在网关发送arp广播需找vip时,需要让realServer不响应这个arp广播.
[root@web01 ~]# cat /etc/sysctl.conf 
net.ipv4.conf.all.arp_ignore = 1      # 定义接收到ARP请求时的响应级别,1表示仅仅在目标IP是本地地址,并且是配置在请求进来的接口上的时候才给予响应(我们的环境是ens33)
net.ipv4.conf.all.arp_announce = 2      # 定义将自己的地址向外通告时的级别 。2表示仅向与本地接口上(ens33)地址匹配的网络进行通告
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
准备http服务,两个RS(真实服务器)都要执行。(按照教程从前面已经准备好环境的就不需要做了,如果你是单独看这篇文章,那就要现在准备http服务)
[root@web01 ~]# yum install -y nginx
[root@web01 ~]# echo "web01" > /usr/share/nginx/html/index.html # 注意:web02那台机器填入web02,以便区分不同机器的响应
[root@web01 ~]# systemctl start nginx

验证

[root@m01 ~]# curl 10.0.0.200
web01
[root@m01 ~]# curl 10.0.0.200
web02

 


 

雷哥开通了抖音(云计算雷哥)和微信视频号,求关注!!!和大家一起学习 技术!

图片

推荐阅读

 

《一站式教程之集群架构》:

 

LVS - 基础知识

LVS基本原理及工作模式(1)

LVS-IP隧道模式和DR模式(2)

LVS调度算法

LVS部署

ipvsadm命令

 

 

看完本文有收获?请分享给更多人

推荐关注「Cloud研习社」,带你从零开始掌握云计算技术!

Cloud研习社
为Linux云计算零基础同学服务,致力于打造一套完整的linux云计算教程。包括新手学习路线、linux、存储、集群架构以及Docker,K8S,DevOps等
211篇原创内容

图片


图片

 

Cloud研习社
收录于合集 #一站式教程
 260
上一篇LVS实战-IP隧道模式(即TUN模式)配置
阅读 110
Cloud研习社