基于 CentOS 7 构建 LVS-DR 群集
文章目录
- 一、LVS-DR集群介绍
- 1.LVS的基本工作原理
- 2. LVS-DR模式工作原理
- 二、 LVS-DR模式应用特点
- 三、LVS – DR 模式集群构建
- 1.前期环境准备
- 2.配置LVS
- 3.配置RS
一、LVS-DR集群介绍
1.LVS的基本工作原理
- 当用户向负载均衡调度器(Director Server)发起请求,调度器将请求发往至内核空间
- PREROUTING链首先会接收到用户请求,判断目标IP确定是本机IP,将数据包发往INPUT链
- IPVS是工作在INPUT链上的,当用户请求到达INPUT时,IPVS会将用户请求和自己已定义好的集群
服务进行比对,如果用户请求的就是定义的集群服务,那么此时IPVS会强行修改数据包里的目标IP
地址及端口,并将新的数据包发往POSTROUTING链 - POSTROUTING链接收数据包后发现目标IP地址刚好是自己的后端服务器,那么此时通过选路,将
数据包最终发送给后端的服务器
2. LVS-DR模式工作原理
首先,来自客户端计算机CIP的请求被发送到Director的VIP。然后Director使用相同的VIP目的IP地址将
请求发送到集群节点或真实服务器。然后,集群某个节点将回复该数据包,并将该数据包直接发送到客
户端计算机(不经过director),并且以此回复数据包使用的目的VIP 地址作为源IP地址。因此,实际上
是客户计算机被“欺骗”了,客户计算机始终认为它正与同一台计算机对话,而实际上它正在发送请求数
据包给一台计算机(LB),并从另一台计算机(RS)接收回复的数据包。
二、 LVS-DR模式应用特点
1.所有集群节点RS必须和Director在相同的物理网段(即同一个局域网中);
2.所有客户端入站(而不是出站)请求由Director首先接收,并转发给集群节点RS;
3.集群节点RS通常来说最好带外部IP,而不使用Director及某固定机器作为默认网关,以便将数据包直
接回复给客户端计算机,且不会产生回包的瓶颈;
4.所有集群节点RS上必须在lo网卡上绑定VIP地址,以便验证通过目的IP非RS的数据包;
5.由于所有集群节点RS上必须在lo网卡上绑定VIP地址,因此,带来arp问题,即集群节点RS默认会相
应发往Director VIP的数据包。因此要对所有集群节点RS做ARP抑制处理,把响应VIP的请求交给LVS
Director;
6.很多操作系统都可以用在集群内部的RS真实服务器上只要该操作系统能够实现ARP隐藏,如:
Windows,linux,unix;
7.LVS/DR模式不需要开启调度器转发功能,这点和LVS/NAT模式是不同的。
8.LVS/DR Director(服务器数量100台)可以比LVS-NAT Director(服务器数量10-20台)承受更多的
并发请求和转发更多的服务器数量。
三、LVS – DR 模式集群构建
1.前期环境准备
这里我准备了四台主机,一台充当lvs,两台充当web集群,还有一台客户端
在lvs上安装配置工具
yum install ipvsadm
然后这里选择使用apache工具,在web集群上安装
使用apache和nginx都可以
2.配置LVS
配置vip,即虚拟ip
配置在同一网段的即可
手工执行配置添加LVS服务并增加两台RS
ipvsadm -C #清除lvs配置ipvsadm -A -t 192.168.45.200:80 -s rripvsadm -a -t 192.168.45.200:80 -r 192.168.45.141:80 -gipvsadm -a -t 192.168.45.200:80 -r 192.168.45.142:80 -g
这里采用比较简单的做法,没有添加条件,方便快速测试
去查看lvs配置,可以看见两台RS已经添加上
3.配置RS
在每台RS上配置
ifconfig lo:200 192.168.45.200 netmask 255.255.255.255
echo "web test page , ip is 'hostname -I'." > /var/www/html/index.html #用于客户端测试
添加本机访问VIP的路由
route add -host 192.168.45.200 dev lo
然后进行arp抑制
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/ens33/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/ens33/arp_announce
最后在客户端上面测试
for ((i=1;i<=6;i++))
> do
> curl 192.168.45.200
> done
如果交替出现说明配置成功
相关文章:
![](https://img-blog.csdnimg.cn/ea6eb9dc2e3a426b878997181d8ac62a.png)
基于 CentOS 7 构建 LVS-DR 群集
文章目录 一、LVS-DR集群介绍1.LVS的基本工作原理2. LVS-DR模式工作原理 二、 LVS-DR模式应用特点三、LVS – DR 模式集群构建1.前期环境准备2.配置LVS3.配置RS 一、LVS-DR集群介绍 1.LVS的基本工作原理 当用户向负载均衡调度器(Director Server)发起请…...
机器学习笔记 - 使用 Tensorflow 从头开始构建您自己的对象检测器
一、简述 之前的文章是利用了VGG16的预训练模型,然后构造完全连接的层标头以输出预测的边界框坐标,但是不包含对象标签的分类。 机器学习笔记 - 使用Keras、TensorFlow框架进行自定义数据集目标检测训练_keras 制作 目标检测 数据集_坐望云起的博客-CSDN博客学习如何训练自定…...
![](https://img-blog.csdnimg.cn/img_convert/925c7bded99ca144315abbfd5bc96f33.png)
IELAB-网络工程师的路由答疑10问(2)
各位小伙伴们,接下来的问题可能有些难度,你们做好准备了吗? 7. 动态路由协议做了啥? 这次咱们先解决第一个比较棘手的问题--路由协议,相信初学的同学对于路由协议的学习总是或多或少有些问题,呐ÿ…...
![](https://img-blog.csdnimg.cn/img_convert/7cc5e9afd0e915c876677c0523c9b41e.jpeg)
聚观早报|iPhone 15预计9月22日上市;一加Open渲染图曝光
【聚观365】8月7日消息 iPhone 15预计9月22日上市一加Open渲染图曝光Redmi K60至尊版细节曝光小米14 Pro屏幕细节曝光vivo V3正式发布,执着自研“影像芯片” iPhone 15预计9月22日上市 上周有多位消息人士透露,多家合作的电信运营商已要求员工不要在9月…...
![](https://www.ngui.cc/images/no-images.jpg)
react-use-gesture
介绍 react-use-gesture 是一个基于 React Hooks 的库,用于处理手势事件。它提供了一种简单且灵活的方式来处理用户的手势操作,例如拖动、缩放、旋转等。 使用 安装 react-use-gesture: npm install react-use-gesture 导入所需的模块和钩…...
![](https://www.ngui.cc/images/no-images.jpg)
智能中的“一体两面”
一体两面指的是一个事物或问题同时具有两个相互依存、互为对立的方面或特征。一体表示两个方面或特征是不可分割、相互联系的整体,两面表示这两个方面或特征又是相互对立、互相影响的。常用于描述矛盾问题或复杂事物的本质。例如,事物的存在与发展、利益…...
![](https://img-blog.csdnimg.cn/6cb07cd8f92a469b81501f6b694b66e7.png)
前端渲染数据
在前端对接受后端数据处理后返回的接收值的时候,为了解决数据过于庞大,而对数据进行简化处理例如性别,经常会使用1, 0这俩个来代替文字的男,女。以下就是前端渲染的具体实现。 以下是部分代码 <el-table-columnpr…...
![](https://img-blog.csdnimg.cn/08af6424a459411190e6a3acdda67abc.png)
【Linux操作系统】深入了解系统编程gdb调试工具
在软件开发过程中,调试是一个非常重要的步骤。无论是在开发新的软件还是维护现有的代码,调试都是解决问题的关键。对于Linux开发者来说,GDB是一个非常有用的调试工具。在本文中,我们将探讨Linux中使用GDB进行调试的方法和技巧。 …...
![](https://img-blog.csdnimg.cn/c73e1b0e95af407cb46d604f568992db.png)
linux 安装go 1.18版本
首先去官网找到对应的版本 直接下载下来(如果服务器可以直接访问到go 官网也可以wget直接下载到服务器) 然后把该包上传到linux 的/usr/local 目录下 然后直接解压安装该包: sudo tar -C /usr/local -zxvf go1.18.10.linux-amd64.tar.gz 然…...
![](https://img-blog.csdnimg.cn/d19e25cb0e06415c8879297a9d5f0eef.png)
LLVM笔记2 Intermediate Representation (IR)
参考链接:https://llvm.org/devmtg/2019-04/slides/Tutorial-Bridgers-LLVM_IR_tutorial.pdf https://zhuanlan.zhihu.com/p/163063995 https://zhuanlan.zhihu.com/p/163328574 文章目录 IR的布局1. IR语法2.IR递归函数3.使用迭代的方式4.全局变量5.LLVM’s type s…...
![](https://www.ngui.cc/images/no-images.jpg)
篇五:原型模式:复制对象的秘密
篇五:"原型模式:复制对象的秘密" 设计模式是软件开发中的重要组成部分,原型模式是创建型设计模式中的一种。原型模式旨在通过复制现有对象来创建新的对象,而不是通过调用构造函数来创建。在C中,原型模式广泛…...
![](https://www.ngui.cc/images/no-images.jpg)
为什么ip地址一直在变化
IP地址是计算机网络中用于唯一标识一台设备的二进制数字串。在互联网中,每台计算机都需要一个唯一的IP地址,以便与其他计算机进行通信。然而,有些情况下,IP地址可能会发生变化。 有多种原因可能导致IP地址发生变化。下面虎观代理…...
![](https://img-blog.csdnimg.cn/7c5c042381f8487bbeb7fcc2f71362ab.png)
10.物联网操作系统之低功耗管理
一。低功耗管理概念及其应用 1.STM32低功耗设计详解 STM32的电源管理系统主要分为: 1.备份域:备份电源,仔细在stm32的板子上寻找,大多都有纽扣电池。 注意:参考手册(PWR)章节有详细的介绍。 2.…...
![](https://img-blog.csdnimg.cn/img_convert/0fd1fc2de8577285b6b0854f5e8669b2.png)
SQL SERVER 2019 数据库还原测试库的方法
1、备份正式库数据 2、在其它电脑上还原备份的数据库 不需要覆盖其它数据库,直接还原出数据库 还原时修改文件名和数据库名称: 修改文件名称 还原成功...
![](https://img-blog.csdnimg.cn/6f6fa614562a4103ad9df29873ba9f68.jpeg)
leetcode 62. 不同路径
2023.8.8 用dp算法一遍过了,很舒服。 重点还是要确定dp数组的含义,本题的dp数组要设成二维的,dp[i][j]的含义是:到(i,j)这个点一共有多少种路径。由于题中说了m和n都大于1,所以假设一…...
![](https://img-blog.csdnimg.cn/a10a27147bc04641b37bddffa00a6e9c.png)
ad+硬件每日学习十个知识点(25)23.8.5(常见芯片类型、数字隔离芯片、IO扩展芯片TCAL6416)
文章目录 1.常见的芯片类型2.数字隔离芯片有什么用?3.I2C的I/O扩展芯片说明4.16位I/O扩展芯片TCAL6416的features、applications、description5.TCAL6416的引脚功能6.TCAL6416的电气特性7.TCAL6416的典型特性(图像)8.TCAL6416的参数测量信息&…...
![](https://img-blog.csdnimg.cn/488bc11d39c24e339055531015cf2dbf.png)
fetch-github-hosts间隔一年大更新v2.6发布,多端支持
前言 fetch-github-hosts是一款同步 github hosts 的工具,用于帮助您解决github时而无法访问的问题。在间隔了一年之久的时间,最近抽空将fetch-github-hosts的依赖及UI进行了一波大更新,同时也增加了一些实用的功能。 主要更新 更新了基础依…...
![](https://img-blog.csdnimg.cn/4e3d1d413e234342a1591db7136fa8f0.jpeg)
K最近邻算法:简单高效的分类和回归方法(三)
文章目录 🍀引言🍀训练集和测试集🍀sklearn中封装好的train_test_split🍀超参数 🍀引言 本节以KNN算法为主,简单介绍一下训练集和测试集、超参数 🍀训练集和测试集 训练集和测试集是机器学习和深…...
![](https://img-blog.csdnimg.cn/img_convert/daa7165e115fa274d7d0c934b0382c7f.png)
【数据分析专栏之Python篇】五、pandas数据结构之Series
前言 大家好!本期跟大家分享的知识是 Pandas 数据结构—Series。 一、Series的创建 Series 是一种类似于一维数组的对象,由下面两部分组成: values:一组数据,ndarray 类型index:数据索引 顾名思义&…...
![](https://img-blog.csdnimg.cn/img_convert/f702ed9c5ac9be14c284482a50e3c81f.png)
中间件多版本冲突的4种解决方案和我们的选择
背景 在小小的公司里面,挖呀挖呀挖。最近又挖到坑里去了。一个稳定运行多年的应用,需要在里面支持多个版本的中间件客户端;而多个版本的客户端在一个应用里运行时会有同名类冲突的矛盾。在经过询问chatGPT,百度,googl…...
![](https://www.ngui.cc/images/no-images.jpg)
对 async/await 的理解
async/await 的理解 async/await 其实是 Generator 的语法糖,它能实现的效果都能用then 链来实现,它是为优化 then 链而开发出来的。从字面上来看,async 是“异步”的简写,await 则为等待,所以很好理解async用于申明一…...
![](https://img-blog.csdnimg.cn/57c97dbee5214e998f14ba59d90c386c.png)
Vue 整合 Element UI 、路由嵌套、参数传递、重定向、404和路由钩子(五)
一、整合 Element UI 1.1 工程初始化 使用管理员的模式进入 cmd 的命令行模式,创建一个名为 hello-vue 的工程,命令为: # 1、目录切换 cd F:\idea_home\vue# 2、项目的初始化,记得一路的 no vue init webpack hello-vue 1.2 安装…...
![](https://www.ngui.cc/images/no-images.jpg)
修改 Ubuntu 系统的时区
修改 Ubuntu 系统的时区 如果 Ubuntu 系统的时区设置不正确,您可以按照以下步骤进行调整: 1. 查看当前的时区设置,可以使用以下命令: timedatectl 这将显示当前系统的日期、时间和时区信息。 2. 如果时区设置不正…...
![](https://img-blog.csdnimg.cn/2febb709a2924662a41f8a9d8e3c1e24.png)
如何离线安装ModHeader - Modify HTTP headers Chrome插件?
如何离线安装ModHeader - Modify HTTP headers Chrome插件? 1.1 前言1.2 打开Chrome浏览器的开发者模式1.3 下载并解压打包好的插件1.4 解压下载好的压缩包1.5 加载插件1.6 如何使用插件? 1.1 前言 ModHeader 是一个非常好用的Chrome浏览器插件,可以用…...
![](https://img-blog.csdnimg.cn/img_convert/1a8e8823417e2c289df822fd12bb9fb1.png)
在Linux中安装MySQL
在Linux中安装MySQL 检测当前系统中是否安装MySQL数据库 命令作用rpm -qa查询当前系统中安装的所有软件rpm -qa|grep mysql查询当前系统中安装的名称带mysql的软件rpm -qa | grep mariadb查询当前系统中安装的名称带mariadb的软件 RPM ( Red-Hat Package Manager )RPM软件包管理…...
![](https://img-blog.csdnimg.cn/6a9cf64c9ac4475e86a8fbb41dc1fbbb.png)
python --windows获取启动文件夹路径/获取当前用户名/添加自启动文件
如何使用Python获取计算机用户名 一、Python自带的getpass模块可以用于获取用户输入的密码,但是它同样可以用来获取计算机用户名。 import getpassuser getpass.getuser() print("计算机用户名为:", user)二、使用os模块获取用户名 Python的…...
![](https://img-blog.csdnimg.cn/e47bb46aa26145edbe0a645bfdb4f3e4.png)
微信云托管(本地调试)⑥:nginx、vue刷新404问题
一、nginx默认路径 1.1、默认配置文件路径:/etc/nginx/nginx.conf 1.2、默认资源路径:/usr/share/nginx/html/index.html 二、修改nginx.conf配置 (注意配置中的:include /etc/nginx/conf.d/*.conf; 里面包了一个server配置文件…...
![](https://img-blog.csdnimg.cn/81349588eebb45ab83e21455dd63950d.png)
数据结构 二叉树(一篇基本掌握)
绪论 雄关漫道真如铁,而今迈步从头越。 本章将开始学习二叉树(全文共一万两千字),二叉树相较于前面的数据结构来说难度会有许多的攀升,但只要跟着本篇博客深入的学习也可以基本的掌握基础二叉树。 话不多说安全带系好&…...
![](https://www.ngui.cc/images/no-images.jpg)
可视化绘图技巧100篇高级篇(四)-南丁格尔玫瑰图(二)
目录 前言 适用场景 不适用场景 堆积式南丁格尔玫瑰图( Nightingale Rose Diagram)...
![](https://img-blog.csdnimg.cn/853f98a8e57949478498d5f52405a9e0.png)
Stable Diffusion - Candy Land (糖果世界) LoRA 提示词配置与效果展示
欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/132145248 糖果世界 (Candy Land) 是一个充满甜蜜和奇幻的地方,由各种各样的糖果和巧克力构成。在糖果世界,可以看到&…...
![](https://img-blog.csdnimg.cn/20190506194902753.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE0OTYyMTc5,size_16,color_FFFFFF,t_70)
做电影网站需要注意事项/东莞最新疫情
论文:DEEP-FSMN FOR LARGE VOCABULARY CONTINUOUS SPEECH RECOGNITION Alibaba 2018 DFSMN 特点:跳层连接,更深的层数。和LFR结合。模型尺寸更小,低延迟。 实验结果表明DFSMN是用于声学模型的BLSTM强有力替代方案。 skip connecti…...
![](/images/no-images.jpg)
郑州网站建设目标/友情链接出售网
一、类和类加载器 a) 类加载器的作用:将class文件加载到JVM的方法区,并且在方法区中创建一个java.lang.Class对象作为外界访问这个类的接口。 b) 类和类加载器的关系:比较两个类是否相等,只有当这两个类由同一个类加…...
![](https://img-my.csdn.net/uploads/201704/24/1493001734_6055.jpg)
软件开发项目实施方案/企业站seo报价
iproute是Linux下一个网络管理工具包合集,用于取代先前的如ifconfig,route,ifup,ifdown,netstat等历史网络管理工具。该工具包功能强大,它通过网络链路套接字接口与内核进行联系。iproute的用户界面比net-t…...
![](/images/no-images.jpg)
旅游网站建设的摘要/如何推广网址链接
西方在文化、思想、道德、信仰等方面与我们差别太大,所以很多东西我们拿过来不适用比如红绿灯,西方行人和司机偏向自觉遵守这一规则,而我们习惯争分夺秒。比如对待工作,西方人普遍持尽职尽责的态度,重视每一项工作内容…...
![](https://images2018.cnblogs.com/blog/1344243/201805/1344243-20180531161859585-910524701.png)
网站降权投诉/做网站
1.windows下用的习惯的“File-Settings”菜单不见了? 不用在“File”菜单里找了,mac下更名为“PyCharm-Preferences”菜单了。 2.有段写错的脚本需要删除,点击“删除键BackSpace”,却是“⬅️”键的效果! 左查有查&…...
wordpress 流水 插件/制作网页完整步骤代码
修改编码格式 增加内存 在tomcat的/bin目录下新建一个文件setenv.sh文件 export JAVA_OPTS"-Dfile.encodingUTF-8 -Xms1024m -Xmx2048m -XX:PermSize1024m -XX:MaxPermSize2048m" 启动tomcat 观察/logs/catalina.out 看看你的配置是否生效 -Xms256m JVM初始分配…...