LVS四层架构部署

news2024/11/13 6:33:48

LVS四层架构部署

LVS集群的类型

  • lvs-nat: 修改请求报文的目标IP,多目标IP的DNAT
  • lvs-dr: 操纵封装新的MAC地址
  • lvs-tun: 在原请求IP报文之外新加一个IP首部
  • lvs-fullnat: 修改请求报文的源和目标IP

LVS-NAT

工作流程

可以理解nat模式为在vs上进行了目标IP和端口号的转换过程,

请求访问时将目标IP由VIP转换为RIP 响应访问时将源IP由RIP转为VIP

image-20240806181732916

部署NAT模式集群案例

网络拓扑如下

image-20240806214252133

注:
Client网关:192.168.84.100
RS1、RS2网关:172.25.254.100

基础网络IP配置略

DS配置
安装ipvsadm、设置调度规则
[root@lsv ~]# yum install -y ipvsadm
[root@lsv ~]# ipvsadm -A -t 172.25.254.50:80 -s rr
[root@lsv ~]# ipvsadm -a -t 172.25.254.50:80 -r 172.25.254.10:80 -m
[root@lsv ~]# ipvsadm -a -t 172.25.254.50:80 -r 172.25.254.20:80 -m
[root@lsv ~]# ipvsadm-save > /etc/sysconfig/ipvsadm

开启内核路由
[root@lsv ~]# vim /etc/sysctl.conf 
	net.ipv4.ip_forward = 1
[root@lsv~]# sysctl --systemctl
RS相关配置:
[root@web1 ~]# echo web1 10 > /var/www/html/index.html
[root@web1 ~]# systemctl restart httpd
Client进行测试:
[root@client ~]# for i in {1..10}; do curl 172.25.254.50; done

image-20240806214907616

LVS-DR

工作流程

直接路由,LVS默认模式,应用最广泛,通过为请求报文**重新封装一个MAC首部**进行 转发,源MAC是DIP所在的接口的MAC,目标MAC是某挑选出的RS的RIP所在接口的MAC地址;源 IP/PORT,以及目标IP/PORT均保持不变
LVS-DR模式的工作特点:
1、DS作为集群访问入口,但不作为网关
2、DS和RS需处于同一网络,RIP的网关不能指向DIP,以确保响应报文无需经过DS
3、为了响应整个集群的访问,DS和RS需配置相同的VIP
4、请求报文要经由Director,但响应报文不经由Director,而由RS直接发往Client
5、主要基于数据链路层,不支持端口映射

image-20240806182609209

数据传输过程:
1、客户机发出服务请求
源IP:CIP	目IP:VIP	  	   源MAC:CIP-MAC	   目MAC:VIP-MAC
2、路由器作为网关接收到了客户机的请求,查看源目IP地址后,对照自身路由表,从与DS相对接的接口发出
源IP:CIP 目IP:VIP		  源MAC:路由器MAC	目MAC:VIP-MAC
3、DS接收到数据请求后,查看内核空间(对比源目IP地址),目标IP地址为自己的VIP,随后IPVS对比数据包请求服务是否为集群服务
源IP:CIP 目IP:VIP		  源MAC:DIP-MAC	  目MAC:RIP-MAC
4、RS接收到数据报文,目MAC为自身,接收数据报文,后做出数据响应,重新封装数据包
源IP:VIP 目IP:CIP		   源MAC:RIP-MAC	  目MAC:CIP-MAC
注:
问题1:lvs集群中使用相同的vip地址,且在同一局域网内,会产生arp响应冲突
解决方法:只让负载均衡器(DS)进行arp响应,其余节点服务器(RS)不响应

问题2:返回报文时使用VIP作为源IP ,(网关设备原本VIP对应DS的MAC地址,现在要被更新为RS的MAC地址),导致网关设备ARP缓存表紊乱
解决方法:更改节点服务器(RS)内核参数,源IP地址更改为选择发送接口(物理网卡)的IP地址

部署DR模式集群案例

实验拓扑:

image-20240806194853875

基础网络配置跳过

注:
Client的网关为192.168.84.100
DS、RS1、RS2的网关为:172.25.254.100
注:DS、RS1、RS2的VIP地址相同将其配置在lo环回接口上,具体配置如下:
ip address add 172.25.254.50/32 dev lo 
RS1、RS2(方便后续实验效果展示)
[root@web1 ~]# echo web1 10 > /var/www/html/index.html
[root@web1 ~]# systemctl restart httpd

限制响应和通告
[root@web1 ~]# vim /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
[root@web1 ~]# sysctl -p
DS上操作:安装ipvsadm,并配置ipvsadm调度规则
[root@lsv ~]# yum install -y ipvsadm
[root@lsv ~]# ipvsadm -A -t 172.25.254.50:80 -s wrr
[root@lsv ~]# ipvsadm -a -t 172.25.254.50:80 -r 172.25.254.10:80 -g -w 2
[root@lsv ~]# ipvsadm -a -t 172.25.254.50:80 -r 172.25.254.20:80 -g -w 1
[root@lsv ~]# ipvsadm-save > /etc/sysconfig/ipvsadm
router上操作:开启内核路由
[root@router1 ~]# vim /etc/sysctl.conf 
	net.ipv4.ip_forward = 1
[root@router1 ~]# sysctl --systemctl
client进行测试,效果如下图所示:
[root@client ~]# for i in {1..10}; do curl 172.25.254.50; done

image-20240806211822198

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

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

相关文章

主从备份(复制)

一、备份的三种类型 备份的三种主要类型包括热备份、逻辑备份和物理备份,每种备份类型都有其特定的应用场景和优缺点。 1. 热备份 定义: 热备份是在数据库或系统处于正常运行状态下进行的备份。这种备份方式允许在不停机的情况下对数据库或系统数据进…

用Python构建一个简单的神经网络

准备工作 首先我们需要使用到vscode 在终端 窗口下输入安装:pip3 install tensorflow pandas numpy keras 代码编写 导入库 import tensorflow as tf from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense import panda…

PyTorch深度学习实战(3)—— 小试牛刀:CIFAR-10分类

下面尝试从零搭建一个PyTorch模型来完成CIFAR-10数据集上的图像分类任务,步骤如下。 (1)使用torchvision加载并预处理CIFAR-10数据集。 (2)定义网络。 (3)定义损失函数和优化器。 (4…

面向服务架构(SOA)介绍

在汽车电子电气架构还处于分布式时代时,汽车软件的开发方式主要是采用嵌入式软件进行开发,而随着汽车智能化程度的加深,更加复杂且多样的功能需求让汽车软件在复杂度上再上一层。在整车的自动驾驶方面,由于未来高阶自动驾驶能力的…

JavaScript constructor原型原型继承

constructor 在 JavaScript 中,构造函数是一种特殊的函数,使用 new 关键字来调用,用于创建对象实例。JavaScript 中的构造函数通常通过 function 关键字定义。 例如: function Person(name, age) {this.name name;this.age a…

C语言预处理:开启编程新境界

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:C语言学习 贝蒂的主页:Betty‘s blog 1. 预处理符号 在C语言中,我们可以通过一些预定义符号查看文件的…

vue中post请求返回二进制流文件下载

1 .调用接口返回的如下图所示,此时看到是一个流文件 2.不管是get请求还是post请求都需要加上 下面这行代码 responseType: "blob", 3.我们自行二次封装的axios可能会导致乱码现象,建议直接用axios调用接口请求 4.关于Excel导出 POI 响应头设置 Content-Type: applica…

Tomcat高可用集群(实例详解)

一.环境准备 虚拟机的版本:VMware-workstation-full-15.5.6-16341506.exe系统镜像版本:CentOS-6.10-x86_64-bin-DVD1.iso,全新安装,桌面版,可上网系统内存大小:1GB系统硬盘大小:20GB连接工具版…

《决胜B端 产品经理升级之路》 知识点总结

什么是b端产品? b端产品是指面向企业或组织的经营管理问题,旨在解决企业规模、成本、效率、品质和风控等方面的产品。这些产品主要帮助企业提高运营效率、降低成本、改善品质和控制风险等。b端产品适用于各种行业和企业类型,可以为企业带来深…

WordPress原创插件:disable-gutenberg禁用古腾堡编辑器和小工具

WordPress原创插件:disable-gutenberg禁用古腾堡编辑器和小工具 disable-gutenberg插件下载:https://download.csdn.net/download/huayula/89616495

【zlm】针对单个设备的音频的编码的设置

目录 结论 原理 测试 结论 为了防止zlm音频配置里设置成opus优先,在国标推流时,调用push时,默认加上codecpcma 如下 https://10.60.100.196:10443/index/api/webrtc?applive&streamtest&typepush&codecpcma 原理 测试 …

ASP.Net Core设置接口根路径的方法

使用asp.net core开发微服务项目,需要给每个服务设置不同的根路径,这样既能使用网关转发请求,又方便对单个服务进行测试,保证请求路径的统一。 设置方法需要使用中间件,在Program.cs添加如下代码 app.UsePathBase(&qu…

量化投资基础(四)之AR、MA、ARMA与ARIMA模型

点赞、关注,养成良好习惯 Life is short, U need Python 量化投资基础系列,不断更新中 1 引言 时间序列经典模型主要有: 自回归模型(Auto Regressive,AR)移动回归模型(Moving Average,MA&…

无线领夹麦克风哪个品牌好,哪款领夹式麦克风性价比高

随着自媒体行业的蓬勃发展,内容创作者对高质量音频设备的需求日益增长。无线领夹麦克风,凭借其便携性、高音质与灵活性,正逐渐成为视频制作、直播互动及日常Vlog记录的标配工具。其兴起不仅反映了创作者对专业录音品质的追求,也体…

Web安全学习

1 计算机网络与协议 1.1 网络基础 1.1.1 计算机通信网的组成 计算机网络由通信子网和资源子网组成。 通信子网:负责数据的无差错和有序传递,其处理功能包括差错控制、流量控制、路由选择、网络互连等。 资源子网:是计算机通信的本地系统环境…

全球油价与棕榈油市场波动

一、油价暴跌与经济衰退担忧 周一(8月5日)欧盘时段,油价暴跌,两大主要基准油价均下跌逾2%,触及八个月低点。油价的急剧下跌主要是由于人们担心全球最大的石油消费国美国可能陷入衰退。全球疲弱的经济数据加剧了人们对燃…

绿色精益生产新潮流:环保也能成为竞争力!

在当今这个快速变化且竞争激烈的市场环境中,企业面临着前所未有的挑战。为了保持竞争力并实现可持续发展,企业必须不断探索和采用更高效、更灵活的生产管理方式。精益生产,作为一种源自日本丰田汽车公司的生产哲学,凭借其消除浪费…

Animate软件基本概念:组和文本

这里继续介绍Animate软件中的基本概念,组和文本两个概念。 FlashASer:AdobeAnimate2021软件零基础入门教程https://zhuanlan.zhihu.com/p/633230084 FlashASer:实用的各种Adobe Animate软件教程https://zhuanlan.zhihu.com/p/675680471 Fl…

Go - 10. * 值类型和指针类型的差异

目录 一.引言 二.接收者类型 三.代码示例 1.指针接收者 2.值接收者 3.运行结果对比 4.代码修改 5.刨根问底 四.总结 一.引言 go 语言中 func (c *Title) 和 func (c Title) 两个方法的传参差一个 * 号,二者的区别是一个是指针类型,一个是值类型…

scratch水仙花数 2024年6月scratch四级 中国电子学会图形化编程 少儿编程等级考试四级真题和答案解析

目录 scratch水仙花数 一、题目要求 1、准备工作 2、功能实现 二、案例分析 1、角色分析 2、背景分析 3、前期准备 三、解题思路 1、思路分析 2、详细过程 四、程序编写 五、考点分析 六、推荐资料 1、入门基础 2、蓝桥杯比赛 3、考级资料 4、视频课程 5、p…