LVS-DR负载均衡

  • LVS-DR负载均衡

    • LVS—DR工作模式

      • 原理

        • 客户端访问调度器的VIP地址,在路由器上应该设置VIP跟调度器的一对一的映射关系,调度器根据调度算法将该请求“调度“到后端真实服务器,真实服务器处理完毕后直接将处理后的应答报文发送给路由器,不经过调度器,这样调度器的压力就降低了一半,可以支持的节点也就增加了。

          • 映射关系:访问VIP的请求的下一跳应该是调度器的IP地址。

        • 产生的问题

          • arp请求出现一个IP对应多个mac地址的问题

            • 当网关第一次做arp请求广播寻找VIP所在的mac地址,但是因为调度器和网站都承载了VIP,本应该只有调度器做应答,但是这样都做了应答,那么网关在接收到同一个IP的新的mac地址后,就会更新arp表,这样下次请求,网关就不会将请求转发给调度器,这就不对了。

              • 解决办法:

                • 在web服务器上把承载VIP的设备,让它忽略arp请求,在内核文件中添加arp_ignore=1

                • arp_ignore=1 :系统只会响应当前网卡的arp请求(系统只会响应哪些接收到arp请求的接口上配置的”本地”IP地址的arp请求,如果一个arp请求是通过eth0接口接收到的,但请求的地址是在eth1上配置的,那么系统就不会做出响应)例本实验中web服务器的网卡ip与lo承载的VIP.

                  • 当前网卡,实际承载流量传输的IP地址

          • 路由器arp混乱的问题,也会出现一个IP地址对应多个mac地址。

            • 当web服务器出完请求后,需要做应答,应答报文中,源IP地址应该是VIP,经过负载均衡之后每一台web服务器都会通过VIP去做应答,这样对于网关来说同一个IP对应了多个mac地址,这样就造成了路由器arp记录混乱的问题。

              • 解决办法

                • arp_announce=2:该参数的目的是为了让承载的VIP不对应答做响应。

                • 当设置该参数时,web发送arp请求建立与网关的连接时,总会选择真实承载网卡流量的IP地址作为发送方的IP地址。

          • DR直接路由的目的

            • 当web服务器做应答时,必须用vip做为源IP来应答,虽然在web服务器上承载了两个IP,但是如果不添加任何策略,那么将无法决定应答报文中使用VIP作为源IP地址。

              • 解决办法

                • route add -host 192.168.10.172 dev lo:0

                • 添加路由策略,将去往172的数据包的封装,用lo:0所承载的VIP来做封装。

    • 实验操作

      • 拓扑

        • 为了方便实验,客户端与群集网络之间应该有一个路由器,路由器上应该配置IP与调度器一对一的映射关系,此拓扑省略了该过程。

      • 调度器服务器

        • 添加一个子接口作为承载VIP的设备

          • cp ifcfg-ens33 ifcfg-ens33:0

        • 调整内核参数,该参数是为了不让调度器发送icmp重定向消息,该消息的目的是为了当发现一个更加短,有效的路径后,它会通知数据包的原始发送者,这样更新了路由线路后,就会绕过调度器,这是不被允许的。

          • net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0 net.ipv4.conf.ens33.send_redirects = 0 systctl -p

        • 安装ipvsadm并添加策略

          • ipvsadm -A -t 192.168.10.172:80 -s rr [root@localhost ~]# ipvsadm -a -t 192.168.10.172:80 -r 192.168.10.102 -g -w 1 [root@localhost ~]# ipvsadm -a -t 192.168.10.172:80 -r 192.168.10.103 -g -w 1

        • 关闭内核安全机制与防火墙

      • 节点服务器(web服务器)

        • 关闭内核安全机制与防火墙

        • 配置虚拟IP地址

          • 在lo网卡上设置子接口

            • cp ifcfg-lo ifcfg-lo:0

            • DEVICE=lo:0 NETMASK=255.255.255.255 IPADDR=192.168.10.172 ONBOOT=yes

              • 当一个子网掩码为32后,其广播,网络,主机地址都只有一个,自成一个网段,这样的情况下,即使同一个局域网内有两个相同的32的子网掩码,并且IP也相同也不会出现地址冲突。

                • 32的子网掩码通常只用来做封装数据包,或用改地址做为管理,并不会实际参与到通信过程中。

        • 做DR直接路由

          • route add -host 192.168.10.172 dev lo:0

        • 调整内核参数

          • net.ipv4.conf.all.arp_ignore = 1 net.ipv4.conf.all.arp_announce = 2 net.ipv4.conf.default.arp_ignore = 1 net.ipv4.conf.default.arp_announce = 2 net.ipv4.conf.lo.arp_ignore = 1 net.ipv4.conf.lo.arp_announce = 2

        • 之后安装网站软件,创建测试页面进行测试

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据库之索引(四)

目录 一、聚簇索引和非聚簇索引的区别 二、简述联合索引 三、SELECT IN 语句中如何使用索引 四、模糊查询语句中如何使用索引 一、聚簇索引和非聚簇索引的区别 在InnoDB存储引擎中,可以将BTree索引分为聚簇索引和辅助索引(非聚簇索引)。无…

66条AI共创文章润色秘诀,一键提升你的写作水平

猫头虎 🐯 建联猫头虎,商务合作,产品评测,产品推广,个人自媒体创作,超级个体,涨粉秘籍,一起探索编程世界的无限可能! 掌握这些提示词和指令,让你的AI创作更…

深入分析 Android BroadcastReceiver (三)

文章目录 深入分析 Android BroadcastReceiver (三)1. 广播消息的优缺点及使用场景1.1 优点1.2 缺点 2. 广播的使用场景及代码示例2.1. 系统广播示例:监听网络状态变化 2.2. 自定义广播示例:发送自定义广播 2.3. 有序广播示例:有序广播 2.4. …

Codesys 连接 EtherCAT 总线伺服

本文内容是根据参考视频做的笔记: EtherCAT Master 控制:https://www.bilibili.com/video/BV1L14y1t7ks/EtherCAT Master Motion 控制:https://www.bilibili.com/video/BV16P411j71E/ EtherCAT 总线简单介绍 从站站号:如果使用扫…

跟《经济学人》学英文:2024年6月29日这期 A new lab and a new paper reignite an old AI debate

A new lab and a new paper reignite an old AI debate Two duelling visions of the technological future 对技术未来的两个对立的愿景 reignite:美 [ˌriɪɡˈnaɪt] 重新点燃;重新激起 duel:美 [ˈduːəl] 决斗;对决&…

基于考研题库小程序V2.0实现倒计时功能板块和超时判错功能

V2.0 需求沟通 需求分析 计时模块 3.1.1、功能描述←计时模块用于做题过程中对每一题的作答进行30秒倒计时,超时直接判错,同时将总用时显示在界面上;记录每次做题的总用时。 3.1.2、接口描述←与判定模块的接口为超时判定,若单题用时超过 …

使用selenium定位input标签下的下拉框

先来看一下页面效果&#xff1a;是一个可输入的下拉列表 再来看一下下拉框的实现方式&#xff1a; 是用<ul>和<li>方式来实现的下拉框&#xff0c;不是select类型的&#xff0c;所以不能用传统的select定位方法。 在着手定位元素前一定一定要先弄清楚下拉列表…

STM32学习历程(day5)

EXTI外部中断 中断 中断就是在主程序运行过程中 出现了特定的中断触发条件&#xff08;中断源&#xff09;&#xff0c;CPU会暂停当前的程序&#xff0c;去处理中断程序 处理完会返回被暂停的位置 继续运行原来的程序。 中断优先级 当有多个中断源同时申请中断时 CPU会根据…

深度学习-数学基础(四)

深度学习数学基础 数学基础线性代数-标量和向量线性代数-向量运算向量加和向量内积向量夹角余弦值 线性代数-矩阵矩阵加法矩阵乘法矩阵点乘矩阵计算的其他内容 人工智能-矩阵的操作矩阵转置&#xff08;transpose&#xff09;矩阵与向量的转化 线性代数-张量&#xff08;tensor…

香港优才计划多少分获批成功率高?一文看懂各分数段获批情况!

有留意香港优才计划的朋友&#xff0c;应该都了解过&#xff0c;申请优才计划采用打分制&#xff0c;得分多少与最终获批有密不可分的关系。但有一点要提前清楚&#xff0c;申请优才不是得分越高就一定能获批&#xff0c;也不是得分低就一定没希望。 香港优才计划能否获批成功…

仿写SpringMVC

1.创建简单的注解 1.1 Controller package com.heaboy.annotation;import java.lang.annotation.*;Documented Retention(RetentionPolicy.RUNTIME) Target(ElementType.TYPE) public interface Controller { } 1.2 RequestMapping package com.heaboy.annotation;import …

官宣定档!2025深圳电子展,开启全球招展工作

随着科技的飞速发展&#xff0c;电子信息产业已成为推动全球经济的重要力量。深圳&#xff0c;作为中国的硅谷&#xff0c;一直以来都是电子信息产业的前沿阵地。2025年&#xff0c;深圳电子展暨深圳国际电子信息博览会再次定档于4月份在深圳会展中心盛大召开&#xff0c;这不仅…

10元 DIY 一个柔性灯丝氛围灯

之前TikTok上特别火的线性氛围灯Augelight刚出来的时候一度卖到80多美金&#xff0c;国内1688也能到400多人民币。 随着各路国内厂商和DIY创客的跟进&#xff0c;功能变多的同时价格一路下滑&#xff0c;虽然有的质感的确感人&#xff0c;但是便宜啊。 甚至关注的up有把成本搞到…

python集成Bartender实现二维码打印

本文摘录于&#xff1a;https://blog.csdn.net/mynameisJW/article/details/105500773只是做学习备份之用&#xff0c;绝无抄袭之意&#xff0c;有疑惑请联系本人&#xff01; 这里上传我优化了一下的代码:https://download.csdn.net/download/chengdong1314/89522026 我这里弄…

Dungeonborne卡顿延迟怎么办?这样降低Dungeonborne延迟

Dungeonborne将第一人称的动作的即时性和经典的西幻RPG职业设计深度结合&#xff0c;带来无与伦比的游戏体验。玩家在游戏中扮演一位从神秘地牢中醒来的勇士&#xff0c;他必须面对各种未知的敌人和挑战&#xff0c;逐渐揭开自己的身世之谜。在这个充满魔法和奇迹的世界里&…

阶段三:项目开发---民航功能模块实现:任务18:指挥航空公司架次与延误率占比

任务描述 内 容&#xff1a;在前面的“使用Spark清洗统计业务数据并保存到数据库”任务中&#xff0c;已经通过Spark Streaming 清洗程序&#xff0c;将Kafka中Topic为“task_Aftn”的报文数据&#xff0c;经过数据清洗后&#xff0c;保存到了MySQL数据库中&#xff1b;本节任…

基于单片机的空调控制器的设计

摘 要 &#xff1a; 以单片机为核心的空调控制器因其体积小 、 成本低 、 功能强 、 简便易行而得到广泛应用 。 本设计通过 &#xff21;&#xff34;&#xff18;&#xff19;&#xff33;&#xff15;&#xff12; 控制&#xff24;&#xff33;&#xff11;&#xff18;&a…

【uniapp-ios】App端与webview端相互通信的方法以及注意事项

前言 在开发中&#xff0c;使用uniapp开发的项目开发效率是极高的&#xff0c;使用一套代码就能够同时在多端上线&#xff0c;像笔者之前写过的使用Flutter端和webview端之间的相互通信方法和问题&#xff0c;这种方式本质上实际上是h5和h5之间的通信&#xff0c;网上有非常多…

深度学习-基础网络组件介绍(六)

深度学习基础网络组件介绍 网络组件网络结构-全连接层激活函数常见激活函数-Sigmoid常见激活函数-tanh常见激活函数-Relu常见激活函数-Gelu常见激活函数-Softmax 损失函数损失函数-均方差损失函数-交叉熵&#xff08;Cross Entropy&#xff09; 网络组件 **释义&#xff1a;**…

基于docker的prometheus+grafana+altermanager+prometheus-webhook-dingtalk钉钉报警

一、各软件功能简介 prometheus&#xff1a;Prometheus(是由go语言(golang)开发)是一套开源的监控&报警&时间序列数 据库的组合。主要优点&#xff1a;外部依赖安装使用超简单、系统集成 多等 grafana&#xff1a;Grafana 是一款采用 go 语言编写的开源应用&#xff0…