LVS-DR模式集群构建过程演示
一、工作原理
LVS的工作原理
1.当用户向负载均衡调度器(Director Server)发起请求,调度器将请求发往至内核空间
2.PREROUTING链首先会接收到用户请求,判断目标IP确定是本机IP,将数据包发往INPUT链
3.IPVS是工作在INPUT链上的,当用户请求到达INPUT时,IPVS会将用户请求和自己已定义好的集群服务进行比对,如果用户请求的就是定义的集群服务,那么此时IPVS会强行修改数据包里的目标IP地址及端口,并将新的数据包发往POSTROUTING链
4.POSTROUTING链接收数据包后发现目标IP地址刚好是自己的后端服务器,那么此时通过选路,将数据包最终发送给后端的服务器
LVS-DR模式的工作原理
首先,来自客户端计算机CIP的请求被发送到Director的VIP。然后Director使用相同的VIP目的IP地址将请求发送到集群节点或真实服务器。然后,集群某个节点将回复该数据包,并将该数据包直接发送到客户端计算机(不经过director),并且以此回复数据包使用的目的VIP 地址作为源IP地址。因此,实际上是客户计算机被“欺骗”了,客户计算机始终认为它正与同一台计算机对话,而实际上它正在发送请求数据包给一台计算机(LB),并从另一台计算机(RS)接收回复的数据包。
二、构建过程
1.环境准备
准备四台主机
分别作为客户机、LVS调度器、RS服务器web1、RS服务器web2
主机名 | IP | |
客户机 | client | 192.168.198.140 |
LVS调度器 | lvs | 192.168.198.141 |
RS服务器web1 | web1 | 192.168.198.100 |
RS服务器web2 | web2 | 192.168.198.200 |
关闭防火墙和selinux服务
分别将四个主机的防火墙和selinux服务都关闭
下载httpd软件包
在web1和web2服务器上安装httpd软件包,便于后续测试
然后分别在这两个主机上都编写测试页面,并启动服务
在客户机上检测
2.配置虚拟IP(VIP)
配置lvs的虚拟IP
选择一个同网段的,且未被占用的IP做为VIP
我的网卡名和IP网段如上,所以自己根据自己的实际情况来配置
ens33后面跟的是子接口编号,自己取
这里我选择192.168.198.111做为我的VIP
要保证客户端能ping通你的VIP
配置RS服务器的VIP
将虚拟IP绑定到web1和web2的loopback接口上
注意:这里RS服务器的VIP掩码必须是32位!!
并添加本机访问虚拟IP的路由
web2别忘了,也是一样
3.抑制ARP响应
我们之所以做ARP抑制,是因为如果不做就会发生如下图的情况
真实服务器RS也有VIP这个IP,所以也会去响应,那么就会和负载调度器一起去响应客户端的请求,所以我们需要去抑制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/all/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
在RS服务器上抑制ARP响应
web1
web2
4.下载ipvsadm工具并使用
在lvs负载调度器上下载ipvsadm工具
yum install ipvsadm
ipvsadm常用参数 | 相关参数说明 |
-A | 添加虚拟服务器 |
-t | 设置集群地址(VIP) |
-s | 设置负载调度算法 |
-a | 添加真实服务器 |
-d | 删除真实服务器 |
-r | 指定真实服务器 |
-m | -g | -i | 分别使用NAT | DR | TUN 模式 |
-w | 为节点服务器设置权重,默认为1 |
在lvs负载调度器上,配置添加LVS服务并增加两台RS
采用最简单的轮询算法演示(rr)
查看配置
5.测试
在客户机上测试
最终效果就如图
相关文章:
![](https://img-blog.csdnimg.cn/08bcd1238b1543fea1c0712d7ccba4ba.png)
LVS-DR模式集群构建过程演示
一、工作原理 LVS的工作原理 1.当用户向负载均衡调度器(Director Server)发起请求,调度器将请求发往至内核空间 2.PREROUTING链首先会接收到用户请求,判断目标IP确定是本机IP,将数据包发往INPUT链 3.IPVS是工作在IN…...
![](https://img-blog.csdnimg.cn/76a200fa976b4244bece380dbad891d5.png)
UML-A 卷-知识考卷
UML-A 卷-知识考卷 UML有多少种图,请列出每种图的名字: 常用的几种UML图: 类图(Class Diagram):类图是描述类、接口、关联关系和继承关系的图形化表示。它展示了系统中各个类之间的静态结构和关系。时序…...
![](https://img-blog.csdnimg.cn/img_convert/33a37cd4ee72f932d69782e633397bd4.png)
BpBinder与PPBinder调用过程——Android开发Binder IPC通信技术
在Android系统中,进程间通信(IPC)是一个非常重要的话题。Android系统通过Binder IPC机制实现进程间通信,而Binder IPC通信技术则是Android系统中最为重要的进程间通信技术之一。本文将介绍Binder IPC通信技术的原理,并…...
![](https://www.ngui.cc/images/no-images.jpg)
篇十五:模板方法模式:固定算法的步骤
篇十五:"模板方法模式:固定算法的步骤" 设计模式是软件开发中的重要知识,模板方法模式(Template Method Pattern)是一种行为型设计模式,用于定义一个算法的骨架,将算法中一些步骤的具…...
![](https://img-blog.csdnimg.cn/5dd49808096c41e2abe3c329b127ae91.png)
web-ssrf
目录 ssrf介绍 以pikachu靶场为例 curl 访问外网链接 利用file协议查看本地文件 利用dict协议扫描内网主机开放端口 file_get_content 利用file协议查看本地文件: fsockopen() 防御方式: ssrf介绍 服务器端请求伪造,是一种由攻击者构造形成…...
![](https://www.ngui.cc/images/no-images.jpg)
【HarmonyOS】【续集】实现从视频提取音频并保存到pcm文件功能(API6 Java)
【关键字】 视频提取类Extractor、视频编解码、保存pcm文件、getAudioTime 【背景和问题】 上篇中介绍了从视频提取音频并保存到pcm文件功能,请参考文档:https://developer.huawei.com/consumer/cn/forum/topic/0209125665541017202?fid0101591351254…...
![](https://www.ngui.cc/images/no-images.jpg)
MySQL为什么要使用 B+Tree 作为索引结构?
MySQL为什么要使用 BTree 作为索引结构? 基本情况 常规的数据库存储引擎 ,一般都是采用 B 树或者 B树来实现索引的存储。B树是一种多路平衡树,用这种存储结构来存储大量数据,它的整个高度 会相比二叉树来说 ,会矮很多…...
![](https://img-blog.csdnimg.cn/1b89cb31a5b64a3c887f416d6dbf87bb.png#pic_center)
Three.js阴影
目录 Three.js入门 Three.js光源 Three.js阴影 使用灯光后,场景中就会产生阴影。物体的背面确实在黑暗中,这称为核心阴影(core shadow)。我们缺少的是落下的阴影(drop shadow),即对象在其他…...
![](https://img-blog.csdnimg.cn/0de0476019754d749f6682cb0944410b.png)
VSCode Remote-SSH (Windows)
1. VSCode 安装 VSCode 2. 安装扩展 Remote SSH Getting started Follow the step-by-step tutorial or if you have a simple SSH host setup, connect to it as follows: Press F1 and run the Remote-SSH: Open SSH Host… command.Enter your user and host/IP in the …...
![](https://img-blog.csdnimg.cn/img_convert/db144ba91aa60e9f03a6044bba8475a0.png)
现代C++中的从头开始深度学习【1/8】:基础知识
一、说明 提及机器学习框架与研究和工业的相关性。现在很少有项目不使用Google TensorFlow或Meta PyTorch,在于它们的可扩展性和灵活性。也就是说,花时间从头开始编码机器学习算法似乎违反直觉,即没有任何基本框架。然而,事实并非…...
![](https://img-blog.csdnimg.cn/6fe0d51e15ef41faae80a973073b114c.png)
Jwt(Json web token)——使用token的权限验证方法 用户+角色+权限表设计 SpringBoot项目应用
目录 引出使用token的权限验证方法流程 用户、角色、权限表设计权限表角色表角色-权限关联表用户表查询用户的权限(四表联查)数据库的视图 项目中的应用自定义注解拦截器controller层DTO返回给前端枚举类型的json化日期json问题 实体类-DAO 总结 引出 1.…...
![](https://img-blog.csdnimg.cn/79230886a9ab4694b0b3d9ccd26f5c50.png)
SpringWeb项目核心功能总结
SpringWeb项目核心功能总结 文章目录 SpringWeb项目核心功能总结1.浏览器与Java程序的连接(个人偏好使用RequestMapping)2.参数的传入3.结果的返回请求转发和请求重定向的区别 核心功能用到的注解: RestControllerControllerResponseBodyRequ…...
![](https://www.ngui.cc/images/no-images.jpg)
Django------信号
Django 框架包含了一个信号机制,它允许若干个发送者(sender)通知一组接收者(receiver)某些特定操作或事件(events)已经发生了, 接收者收到指令信号(signals)后再去执行特定的操作。本文主要讲解Django信号(…...
![](https://img-blog.csdnimg.cn/49003d19702f43c9a233b53cf361faf0.png)
HTML5 中新增了哪些表单元素?
聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ HTML5 中新增了的表单元素⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣、刚…...
![](https://img-blog.csdnimg.cn/6a5ae9b1311e442590baf58e99c42684.png)
[考研机试] KY20 完数VS盈数 清华大学复试上机题 C++实现
描述 一个数如果恰好等于它的各因子(该数本身除外)子和,如:6321。则称其为“完数”;若因子之和大于该数,则称其为“盈数”。 求出2到60之间所有“完数”和“盈数”。 输入描述: 题目没有任何输入。 输出描述&#…...
![](https://img-blog.csdnimg.cn/193b4ad0964a48c18ac3c34a6d10a43b.png)
re学习(30)攻防世界-hackme(代码复原2)
思路: 1.输出成功,v26不为0,说明关系式:v21((unsigned __int8)v24 ^ v20) →2.在汇编代码第37行,输入v16v20,所以求的值为v20 →3.根据关系式,求的值v20v21^v24 →4.v21在第汇编代码第36行也可以提取出来…...
![](https://img-blog.csdnimg.cn/fcb830e4934040858d0c250ec535bdd7.png)
Go Windows下开发环境配置(图文)
Go Windows下开发环境配置 下载 安装 点击下载的安装包进行安装。安装路径可以选择到自己的目录。 环境变量配置 GOROOT:(指定到安装目录下) GOPATH:(是工作空间) path:在安装时已经添加了…...
![](https://www.ngui.cc/images/no-images.jpg)
【人工智能概述】python妙用 __str__()
【人工智能概述】python妙用 str() 文章目录 【人工智能概述】python妙用 __str__()一.python内置函数__str__() 一.python内置函数__str__() 通过自定义__str__()函数可以打印对象中相关的内容。 class Person(object):def __init__(self, name tom, age 10):self.name n…...
![](https://www.ngui.cc/images/no-images.jpg)
android kernel移植5-RK3568
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言1.添加开发板默认配置文件2.添加开发板默认设备树2.1复制设备树2.2指定设备树前言 前面我们已经学会了移植uboot,其实就是把瑞芯微的关于uboot的一些文件的名字和编译指定的文件改为自己定义…...
![](https://www.ngui.cc/images/no-images.jpg)
C++——string类介绍
我们知道在C语言里,字符串是以\0结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数, 但是这些库函数与字符串是分离开的,而且底层空间需要用户自己管理,可 能还会越界访问。 但是在C…...
![](https://img-blog.csdnimg.cn/1cff9b20d2114a69b026cda038f46b2f.png)
教雅川学缠论07-中枢实战众泰汽车000980
本文实战众泰汽车 下面是2023年11月14-2023年8月8众泰汽车日K图 先画日K 接下来处理包含,就变成下面这个样子 下面在套上缠论的理论,未来股价的走势应该是红色椭圆形虚线里面的样子 好了,文章就到这里,如果众泰最终不是这个走势…...
![](https://img-blog.csdnimg.cn/cccd4a9c5f3b4624b834ec026df42b41.png)
REDIS主从配置
目录 前言 一、概述 二、作用 三、缺点 四、redis主从复制的流程 五、搭建redis主从复制 总结 前言 Redis的主从配置是指在Redis集群中,将一个Redis节点配置为主节点(master),其他节点配置为从节点(slave)…...
![](https://img-blog.csdnimg.cn/7071823f2ca741b8b8dddf3be8042f19.png)
【测试】软件测试工具JMeter简单用法
简明扼要,点到为止。 1. JMeter介绍 JMeter的全称是Apache JMeter,是一款用于软件测试的工具软件,其是开源免费的,由Apache基金会运营。 官网:Apache JMeter - Apache JMeter™ 2. 下载安装及运行 2.1 安装 Java8…...
![](https://www.ngui.cc/images/no-images.jpg)
五个授权关键,为智能驾驶量产赋能
站在风口浪尖的智能驾驶行业? 智能汽车是指通过搭载先进传感器等装置,运用人工智能等新技术,具有自动驾驶功能,逐步成为智能移动空间和应用终端的新一代汽车。集中运用了计算机、现代传感、信息融合、通讯、人工智能及自动控制等技…...
![](https://www.ngui.cc/images/no-images.jpg)
【代码随想录-Leetcode第三题:977. 有序数组的平方】
题目 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 示例 1: 输入:nums [-4,-1,0,3,10] 输出:[0,1,9,16,100] 解释:平方后,数组…...
![](https://www.ngui.cc/images/no-images.jpg)
[运维|中间件] Apache APISIX Dashboard部署(持续踩坑更新。。。)
参考文献 Apache APISIX v2.6 官方文档 APISIX、APISIX Dashboard搭建、路由配置及插件使用 安装apisix和apisix-dashboard,访问方式,测试路由转发,反向代理等 文档地址 Dashboard Doc 下载地址 Apache APISIX Dashboard下载地址 部署 …...
![](https://www.ngui.cc/images/no-images.jpg)
Vue中watch监听属性新旧值相同问题解决方案
侦听器 _watch: 作用:可以侦听data和computed中数据的变化. 语法 watch: { "被侦听的属性名" (newVal, oldVal){ } } 监听简单数据类型时可以直接使用,而监听复杂数据类型时,例如当我们只需要监听data或者computed中对象的某个属性时,可以使用字符串的形式进行监听…...
![](https://img-blog.csdnimg.cn/20270d55f05442a7ae79a965f80edb58.png)
awk案例练习
目录 一、awk练习 1.1筛选ip地址 1.2字段去重 1.3次数统计 1.4统计TCP连接状态 1.5处理字段缺失的数据 1.6筛选给定时间范围内的日志 一、awk练习 1.1筛选ip地址 ifconfig命令查看IP 利用awk进行筛选 ifconfig | awk BEGIN{RS""}NR2{print $6} RS指定输入记…...
![](https://img-blog.csdnimg.cn/img_convert/68991b1f80e46b227d0706cc78d79d2e.jpeg)
Debian 12.1 正式发布
导读Debian 12.1 现已发布,这是对稳定发行版 Debian 12(代号 Bookworm )的首次更新。本次发布主要增加了安全问题的修正,并对严重问题进行了一些调整。 一些更新内容包括: 妥善处理系统用户的创建;修复 eq…...
![](https://www.ngui.cc/images/no-images.jpg)
neo4j清空数据库
清空所有Person、 Movie节点及其所有关系 MATCH (a:Person), (m:Movie) OPTIONAL MATCH (a)-[r1]-(), (m)-[r2]-() DELETE a,r1,m,r2 查询任意数据 MATCH (n) RETURN n 如果没有, 就说明已经删除成功了 这段代码是用Cypher查询语言编写的,用于清空…...
![](/images/no-images.jpg)
做网站订单/推广普通话手抄报内容简短
OSD进程的启动停止:https://blog.csdn.net/bandaoyu/article/details/119894927 1. OSD概念 OSD:Object Storage Device,主要负责响应客户端请求返回具体数据的守护进程,一般一个集群会有多个OSD,每一块盘都会对应一个…...
![](/images/no-images.jpg)
网站做描本好处/网络推广代理平台
1001 害死人不偿命的(3n1)猜想 (15 分) 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n1) 砍掉一半。这样一直反复砍下去,最后…...
![](/images/no-images.jpg)
拖拽网站怎么做的/泉州seo托管
Oracle Server包括Oracle Instance(进程部分)和Oracle Database(文件部分)。一般情况下,Oracle Instance与Oracle database一一对应。在一台机器上可以安装多个Oracle server,每个Oracle server必须有独立的…...
![](https://img-blog.csdnimg.cn/20181220200808394.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2JsZWF1Y2hhdA==,size_16,color_FFFFFF,t_70)
网址建站/雷神代刷推广网站
1、 打开 MATLAB 软件,在命令窗口输入 fdatool 并回车,就会弹出滤波器设计工具 2、 FIR滤波器设计方法有多种,,最常用的是窗函数设计法(Window)、等波纹设计法(Equiripple)和最小二乘…...
![](/images/no-images.jpg)
深圳网站建设现/企业做推广有用吗
unordered_map 是關聯容器,含有帶唯一鍵的鍵-值 pair 。搜索、插入和元素移除擁有平均常數時間複雜度。 Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have…...
![](https://img-blog.csdnimg.cn/20190512224130290.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzYxODkzMg==,size_16,color_FFFFFF,t_70)
肇庆做网站的有/中国数据统计网站
Vuex Vuex核心原理 如图示,Vuex为Vue Components建立起了一个完整的生态圈,包括开发中的API调用一环。围绕这个生态圈,简要介绍一下各模块在核心流程中的主要功能: Vue Components:Vue组件。HTML页面上,负…...