LVS-DR模式以及其中ARP问题

news2024/11/22 9:16:31

目录

LVS_DR

LVS_DR数据包流向分析

LVS-DR中ARP问题

问题一

问题二

解决ARP的两个问题的设置方法

LVS-DR特点

LVS-DR优缺点

优点

缺点

LVS-DR集群构建

1.配置负载调度器

2.部署共享存储

3.配置节点服务器

4.测试 LVS 群集


LVS_DR

LVS_DR数据包流向分析

客户端向目标VIP发送请求,负载均衡器接收
负载均衡器根据算法选择节点服务器,不修改也不封装IP报文,而是将数据的目标MAC地址改为节点服务器的MAC地址,然后在局域网上发送
节点服务器收到这个帧进行解封装,发现目标IP后与本机匹配(节点服务器事先绑定了VIP)后,处理这个报文,随后重新封装报文发送到局域网
客户端收到报文后,客户端认为得到正常服务,而不会知道是哪一台服务器处理的

LVS-DR中ARP问题

问题一

当ARP广播发送到LVS-DR集群时,因为负载均衡器和节点服务器都是连接到相同的网络上,它们都会接收到ARP广播,在局域网中具有相同的IP地址,势必会造成各服务器ARP通信的紊乱,

对节点服务器进行处理,使其不响应针对VIP的ARP请求,会不对本地物理网卡的arp请求进行响应
1.使用虚接口lo:0承载VIP地址
2.设置内核参数arp_ignore=1:系统只响应目的IP为本地IP的ARP请求

问题二

网关路由器收到的的源IP地址为VIP的ARP请求的报文后又更新ARP缓存表,导致外网再发送请求时,数据包到达不了调度器

设置内核参数arp_announce = 2

系统不使用响应数据包的源IP地址 (VIP) 来作为本机进行ARP请求报文的源IP地址,而使用发送报文的物理网卡IP地址作为ARP请求报文源IP地址,这样就可以防止网关路由器收到的的源IP地址为VIP的ARP请求的报文后又更新ARP缓存表,导致外网再发送请求时,数据包到达不了调度器

解决ARP的两个问题的设置方法

修改/etc/sysctl.conf文件

net.ipv4.conf.lo.arp ignore = 1
net.ipv4.conf.lo.arp announce = 2 
net.ipv4.conf.all.arp ignore = 1 
net.ipv4.conf.all.arp announce = 2

LVS-DR特点

(1) 负载均衡器和节点服务器必须在同一个物理网络中
(2) 节点服务器可以使用私有地址,也可以使用公网地址。如果使用公网地址,可以通过互联网对 RIP 进行直接访问。
(3) 负载均衡器作为群集的访问入口,但不作为网关使用。
(4) 所有的请求报文经由负载均衡器,但回复响应报文不能经过 负载均衡器。
(5)节点服务器的网关不允许指向负载均衡器IP,即节点服务器发送的数据包不允许经过 负载均衡器。
(6) 节点服务器上的 lo 接口配置 VIP 的 IP 地址。

LVS-DR优缺点

优点

负载均衡器只负责将请求包分给物理服务武器,物理服务器将应答包直接发送给用户,所以负载均衡器能处理巨大的请求流量,一台负载均衡能为超过100台物理服务器服务,负载均衡器不再是系统的瓶颈。使用LVS-DR模式,如果你的负载均衡器拥有100M全双工网卡的话,使用LVS能达到1G的吞吐量甚至更高

缺点

所有调度器和节点服务器在同一个广播域,不支持异地容灾

LVS-DR集群构建

LVS-DR 服务器:192.168.233.110    NFS服务器:192.168.233.100 
Web 服务器1:192.168.233.60       Web 服务器2:192.168.233.70                                          vip:192.168.10.111
    

1.配置负载调度器

192.168.233.110   

systemctl stop firewalld.service
setenforce 0
modprobe ip_vs
cat /proc/net/ip_vs
yum -y install ipvsadm

(1)配置虚拟 IP 地址

VIP:192.168.233.111 

cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens33:0                #若隧道模式,复制为ifcfg-tunl0
vim ifcfg-ens33:0
DEVICE=ens33:0
ONBOOT=yes
IPADDR=192.168.233.111
NETMASK=255.255.255.255

ifup ens33:0
ifconfig ens33:0

(2)调整 proc 响应参数

#由于 LVS 负载调度器和各节点需要共用 VIP 地址,需要关闭 icmp 的重定向,不充当路由器。
vim /etc/sysctl.conf
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

sysctl -p

(3)配置负载分配策略

ipvsadm-save > /etc/sysconfig/ipvsadm
systemctl start ipvsadm

ipvsadm -C
ipvsadm -A -t 192.168.233.111:80 -s rr
ipvsadm -a -t 192.168.233.111:80 -r 192.168.233.60:80 -g            #若隧道模式,-g替换为-i
ipvsadm -a -t 192.168.233.111:80 -r 192.168.233.70:80 -g
ipvsadm

ipvsadm -ln                    #查看节点状态,Route代表 DR模式


2.部署共享存储

NFS服务器:192.168.233.100

systemctl stop firewalld.service
setenforce 0

yum -y install nfs-utils rpcbind
mkdir /opt/kgc /opt/benet
chmod 777 /opt/kgc /opt/benet

vim /etc/exports
/usr/share *(ro,sync)
/opt/kgc 192.168.233.0/24(rw,sync)
/opt/benet 192.168.233.0/24(rw,sync)

systemctl start nfs.service
systemctl start rpcbind.service

3.配置节点服务器

92.168.233.60、192.168.233.70  

systemctl stop firewalld.service
setenforce 0

(1)配置虚拟 IP 地址

VIP:192.168.233.110

#此地址仅用作发送 Web响应数据包的源地址,并不需要监听客户机的访问请求(改由调度器监听并分发)。因此使用虚接口 lo∶0 来承载 VIP 地址,并为本机添加一条路由记录,将访问 VIP 的数据限制在本地,以避免通信紊乱。
cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0        
vim ifcfg-lo:0
DEVICE=lo:0
ONBOOT=yes
IPADDR=192.168.233.110
NETMASK=255.255.255.255                        #注意:子网掩码必须全为 1

ifup lo:0
ifconfig lo:0
route add -host 192.168.233.110 dev lo:0

vim /etc/rc.local
/sbin/route add -host 192.168.233.110 dev lo:0

chmod +x /etc/rc.d/rc.local

(2)调整内核的 ARP 响应参数以阻止更新 VIP 的 MAC 地址,避免发生冲突

vim /etc/sysctl.conf
......
net.ipv4.conf.lo.arp_ignore = 1            #系统只响应目的IP为本地IP的ARP请求
net.ipv4.conf.lo.arp_announce = 2        #系统不使用IP包的源地址来设置ARP请求的源地址,而选择发送接口的IP地址
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2

sysctl -p

或者
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

sysctl -p

yum -y install nfs-utils rpcbind httpd
systemctl start rpcbind
systemctl start httpd

--192.168.233.60---

mount.nfs 192.168.233.100:/opt/kgc /var/www/html
echo 'this is kgc web!' > /var/www/html/index.html

--192.168.233.70---

mount.nfs 192.168.233.100:/opt/benet /var/www/html
echo 'this is benet web!' > /var/www/html/index.html

4.测试 LVS 群集

在客户端使用浏览器访问 http://192.168.233.111/

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/892987.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

接口测试,负载测试,并发测试,压力测试区别

接口测试 1.定义:接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。 2.目的&#xf…

《C和指针》读书笔记(第十二章 使用结构和指针)

目录 0 简介1 链表2 单链表2.1 在单链表中插入2.1.1 初次尝试2.1.2 优化插入函数2.1.3 在指定位置插入节点(补充) 2.2 其他链表操作2.2.1 单链表的创建2.2.2 单链表的删除2.2.2.1 删除指定位置的节点2.2.2.2 删除整个链表 3 双链表3.1 在双链表中插入3.1…

需求吞吐效能提升 65%!这家世界500强如何加速业务转型?

昨日,ONES 受邀参加由中关村智联软件服务业质量创新联盟主办的 TiD 2023 质量竞争力大会。会上,ONES 研发效能改进资深咨询顾问董晓红,发表了主题为《解码大型集团企业研发效能提升关键策略》的演讲。 董晓红在研发管理、研发工具链集成、敏捷…

销售管理七要,阿里生存下来的秘诀

企业销售管理“七要”:阿里巴巴生存下来的秘诀 纯纯的干货,有方法有实践 阿里巴巴靠B2B诚信通生存下来的 叫“中供铁军”,很多身影在O2O大战中出现 趣讲大白话:功夫深,铁棒磨成针 【趣讲信息科技260期】 *************…

LVS负载均衡DR(直接路由)模式

在LVS(Linux Virtual Server)负载均衡中的DR(Direct Routing)模式下,数据包的流向如下: 客户端发送请求到负载均衡器(LVS)的虚拟IP(VIP)。负载均衡器&#x…

SpringBoot | RestTemplate异常处理器ErrorHandler使用详解

关注wx:CodingTechWork 引言 在代码开发过程中,发现很多地方通过RestTemplate调用了第三方接口,而第三方接口需要根据某些状态码或者异常进行重试调用,此时,要么在每个调用的地方进行异常捕获,然后重试&am…

企业文件数据防泄密软件——「天锐绿盾」透明加密保护防泄密管理软件系统

摘要:本文介绍了一款名为「天锐绿盾」的公司文件加密软件,该软件旨在保护公司重要文件的安全性。通过对软件进行详细分析和测试,我们发现「天锐绿盾」具有强大的加密功能、简便的操作界面和高度的兼容性。本文将详细介绍软件的特点、优势及其…

Mysql存储引擎中InnoDB与Myisam的主要区别

在mysql命令窗口中,输入show engins,可以看到mysql的所有引擎,那么这么多的引擎,我们经常使用到的也就两种,MyISAM和InnoDB,这两种引擎究竟有什么区别呢? 1, 事务处理 innodb 支持事务功能,myisam 不支持。 Myisam 的执行速度更快,性能更好。 2,select ,update ,inse…

Shell 编程基础01

0:目录 1.创建新的虚拟机项目 2.linux常见命令和配置时间同步器 3.文件属性 4.if for while和方法 1.创建新的虚拟机项目 默认下一步到虚拟机命名 默认下一步设置磁盘大小 自定义硬件 删除打印机设置映像地址 启动虚拟机 选择 install centOS 7 选择英文 设置时…

[Flash CS6]使用AIR拓展屏幕

虽然目前没多少人使用Flash了,但还是记录一下 一、工具 Adobe Flash CS6 AIR3.2 For Desktop(Flash CS6 自带的) 二、设置步骤 1.将舞台改为想要拓展的屏幕尺寸大小(以下以3840x1080位例子) 2.打开AIR 3.2 for Desk…

鸽王-稚晖君,“远征”A1启程

看到这篇文章的人,想必对野生钢铁侠-稚晖君,都有所了解。作为华为的天才少年,获得了很多的荣誉,作为B站有名的鸽王,在沉浮一段时间后终于要带着新的东西和大家见面了。动态-哔哩哔哩https://b23.tv/Jv7tIjg 众所周知&a…

TopSolid安装步骤

安装TopSolid,选择要安装的功能,一般只安装Design即可,然后在“工具”选项卡一般只选择图示的两个就可以了 使用管理员权限运行文件 “TopSolid2021\Setup\Redist\Sentinel RMS License Manager\Tools\WlmAdmin.exe” 按图示操作&#xff1…

720全景虚拟三维数字展馆丰富了营销体验

传统的展览形式往往受到场地和空间的限制,展品数量和种类有限。而3D数字展厅突破了时空的束缚,企业可以将更多的产品、服务和文化元素以数字化形式展示,无需考虑展览面积和运输成本,大大提升了展览的灵活性和内容丰富度。数字化虚…

软件架构生态化-多角色交付的探索实践

作为一个技术架构师,不仅仅要紧跟行业技术趋势,还要结合研发团队现状及痛点,探索新的交付方案。在日常中,你是否遇到如下问题 “ 业务需求排期长研发是瓶颈;非研发角色感受不到研发技改提效的变化;引入ISV …

# 深入理解高并发编程(一)

深入理解高并发编程(一) 文章目录 深入理解高并发编程(一)SimpleDateFormat线程安全问题重现问题线程不安全的原因解决办法局部变量synchronized锁Lock锁ThreadLocalDateTimeFormatter Thread源码解读Thread类定义线程的状态定义r…

基于随机数据重置系统时钟的Windows功能正在造成严重破坏

Windows安全时间播种会将时钟重置为偏离正确时间几个月或几年 几个月前,挪威数据中心的一名工程师遇到了一些令人困惑的错误,导致Windows服务器突然将其系统时钟重置为未来55天。该工程师依靠服务器来维护一个路由表,当手机号码从一个运营商…

数据传承之道:MySQL主从复制实践指南

😊 作者: 一恍过去 💖 主页: https://blog.csdn.net/zhuocailing3390 🎊 社区: Java技术栈交流 🎉 主题: 数据传承之道:MySQL主从复制实践指南 ⏱️ 创作时间&#…

多维时序 | MATLAB实现WOA-CNN-BiGRU-Attention多变量时间序列预测

多维时序 | MATLAB实现WOA-CNN-BiGRU-Attention多变量时间序列预测 目录 多维时序 | MATLAB实现WOA-CNN-BiGRU-Attention多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 多维时序 | MATLAB实现WOA-CNN-BiGRU-Attention多变量时间序列预测 1.程…

能耗监测管理系统在产业园区中的应用分析

摘要:随着电信公司企业级智能化办公系统的不断迭代优化及财务辅助系统与各个业务系统之间的壁垒不断打破、融合,能耗监测管理系统在企业生产运行管理中,为实现企业能耗数据归集,“节能减排、降本增效”提供了系统支撑及可行性保障…