LVS集群 (四十四)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
目录
前言
一、集群概述
1. 负载均衡技术类型
2. 负载均衡实现方式
二、LVS结构
三、LVS工作模式
四、LVS负载均衡算法
1. 静态负载均衡
2. 动态负载均衡
五、ipvsadm命令详解
六、LVS配置案例
1. 基础配置
2. 实现NAT模型搭建
3. 实现DR模型搭建
总结
前言
LVS(Linux Virtual Server)是一个基于Linux操作系统的高性能、可扩展的服务器集群技术。它通过将多台服务器组织成一个逻辑集群,提供负载均衡、高可用性和扩展性等功能。
提示:以下是本篇文章正文内容,下面案例可供参考
一、集群概述
1. 负载均衡技术类型
四层负载均衡器 也称为 4 层交换机,主要通过分析 IP 层及 TCP/UDP 层的流量实现基于 IP 加端口的负载均衡,如常见的 LVS、F5 等;
七层负载均衡器 也称为 7 层交换机,位于 OSI 的最高层,即应用层,此负载均衡器支持多种协议,如HTTP、FTP、SMTP 等。7 层负载均衡器可根据报文内容,配合一定的负载均衡算法来选择后端服务器,即“内容交换器”。如常见的 HAProxy、Nginx。
2. 负载均衡实现方式
硬件负载均衡产品:F5 、深信服 、Radware
软件负载均衡产品: LVS(Linux Virtual Server)、 Haproxy、Nginx、Ats(apache traffic server)
二、LVS结构
三层结构
负载调度器
服务器池
共享存储
架构对象
VS:Virtual Server,也称为 Director,负载均衡服务器
RS:Real Server,真正的服务器,集群中各节点
VIP:Director 向外部提供服务的 IP
DIP:Director 向内部与 RS 通信的 IP
RIP:真实服务器的 IP
CIP:客户端的 IP
三、LVS工作模式
LVS-NAT(NAT模式)
LVS-DR(直接路由模式)(应用最广泛)
LVS-TUN(IP隧道(Tunnel)模式,不常用)
FULL-NAT模式(双向转换模式,不常用)
四、LVS负载均衡算法
1. 静态负载均衡
rr(round robin,轮询 )
wrr(weight round robin,加权轮询)
sh(source hashing,源地址散列算法(HASH))
dh(destination hashing,目标地址 HASH)
2. 动态负载均衡
lc(leash-connection,最少连接 )
简单算法:active * 256 + inactive (谁的小选谁)
wlc(加权最少连接)
简单算法:(active * 256 + inactive) / weight(谁的小选谁)
sed(最少期望延迟)
简单算法:(active + 1) * 256 / weight (谁的小选谁)
nq(never queue,永不排队)
LBLC(基于局部性的最少连接 )
LBLCR(基于局部性的带复制功能的最少连接)
五、ipvsadm命令详解
| -A | 添加虚拟服务节点 |
| -D | 删除虚拟服务节点 |
| -L | 查看虚拟服务节点列表 |
| -a | 添加真实服务节点 |
| -d | 删除真实服务节点 |
| -l | 查看真实服务节点列表 |
| -t | 指定虚拟服务器IP地址 |
| -s | 指定调度算法 |
| -r | 指定真实服务器节点IP地址 |
| -w | 指定权重值 |
| -g | 直接路由模式(默认) |
| -i | 隧道模式(不常用) |
| -m | NAT模式 |
六、LVS配置案例
1. 基础配置
修改主机名
关闭防火墙
关闭Selinux
关闭Networkmanager
配置IP地址
2. 实现NAT模型搭建
2.1 负载调度器配置
配置IP地址
增加一块网卡

cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens37
vim ifcfg-ens37
删除UUID
NAME=ens37
DEVICE=ens37


配置本地yum源
安装ipvsadm
yum install -y ipvsadm

开启路由转发功能
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1


sysctl -p

加载ip_vs模块
modprobe ip_vs
lsmod |grep ip_vs

启动ipvsadm服务
systemctl start ipvsadm

配置负载分配策略
ipvsadm -A -t 192.168.142.100:80 -s rr
ipvsadm -a -t 192.168.142.100:80 -r 192.168.115.4:80 -m
ipvsadm -a -t 192.168.142.100:80 -r 192.168.115.5:80 -m

保存策略
ipvsadm-save > /etc/sysconfig/ipvsadm
![]()
2.2 web节点配置
配置网关
route add -net 0/0 gw 192.168.115.3
![]()


测试访问:192.168.23.100 

3. 实现DR模型搭建
原理图
3.1 负载调度器配置
调整ARP参数
vim /etc/sysctl.conf
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects=0
net.ipv4.conf.ens33.send_redirects = 0
![]()

sysctl -p
配置虚拟IP地址
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens33:0
![]()
![]()

安装ipvsadm
yum install -y ipvsadm

加载ip_vs模块
modprobe ip_vs
lsmod |grep ip_vs

启动ipvsadm服务
systemctl start ipvsadm
![]()
配置负载分配策略
ipvsadm -A -t 192.168.115.200:80 -s rr
ipvsadm -a -t 192.168.115.200:80 -r 192.168.156.4:80 -g
ipvsadm -a -t 192.168.115.200:80 -r 192.168.156.5:80 -g

3.2 web节点配置(两台一样的配置)
调整ARP参数
vim /etc/sysctl.conf
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
sysctl -p ![]()


配置虚拟IP地址
cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0

![]()
添加回环路由
route add -host 192.168.156.200/32 dev lo:0

测试


总结
LVS集群具有以下优点:
高可用性:通过使用多个服务器节点,当某个节点故障时,其他节点可以继续提供服务,保证系统的可用性。
负载均衡:将客户端请求分发给集群中的多个服务器节点,使得各个节点的负载相对均衡,提高系统的性能和吞吐量。
扩展性:可以根据需求方便地添加或移除服务器节点,实现集群的横向扩展。
总的来说,LVS集群是一种成熟的、可靠的服务器集群技术,广泛应用于大规模的互联网服务、电子商务等领域。
相关文章:
LVS集群 (四十四)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、集群概述 1. 负载均衡技术类型 2. 负载均衡实现方式 二、LVS结构 三、LVS工作模式 四、LVS负载均衡算法 1. 静态负载均衡 2. 动态负载均衡 五、ipvsadm命令详…...
stm32之DS18B20
DS18B20与stm32之间也是通过单总线进行数据的传输的。单总线协议在DHT11中已经介绍过。虽说这两者外设都是单总线,但时序电路却很不一样,DS18B20是更为麻烦一点的。 DS18B20 举例(原码补码反码转换_原码反码补码转换_王小小鸭的博客-CSDN博客…...
Redis的数据结构与单线程架构
"飞吧,去寻觅红色的流星" Redis中的五种数据结构和编码 Redis是一种通过键值对关系存储数据的软件,在前一篇中,我们可以使用type命令实际返回当前键所对应的数据结构类型,例如: String\list\hash\set等等。 但…...
c# modbus CRC计算器(查表法)
一、简介: 本案例为crc计算器,通过查表法计算出结果 1.窗体后台源代码 using Crc; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text…...
2023.08.27 学习周报
文章目录 摘要文献阅读1.题目2.重点3.引言4.方法5.实验结果6.结论 深度学习Majorization-Minimization算法1.基本思想2.要求3.示意图 总结 摘要 This week, I read a computer science on the prediction of atmospheric pollutants in urban environments based on coupled d…...
css元素定位:通过元素的标签或者元素的id、class属性定位,还不明白的伙计,看这个就行了!
前言 大部分人在使用selenium定位元素时,用的是xpath元素定位方式,因为xpath元素定位方式基本能解决定位的需求。xpath元素定位方式更直观,更好理解一些。 css元素定位方式往往被忽略掉了,其实css元素定位方式也有它的价值&…...
基于Spring实现博客项目
访问地址:用户登录 代码获取:基于Spring实现博客项目: Spring项目写博客项目 一.项目开发 1.项目开发阶段 需求评审,需求分析项目设计(接口设计,DB设计等,比较大的需求,需要设计流程图,用例图,UML, model中的字段)开发+自测提测(提交测试…...
数据库第十七课-------ETL任务调度系统的安装和使用
作者前言 🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂 🎂 作者介绍: 🎂🎂 🎂 🎉🎉🎉…...
Qt 动态中英文切换
背景: 需要界面实现动态国际化,一键点击切换中英文或其他语言。 前提: 已经完成了整个界面的翻译,拿到匹配的ts翻译文件,注意:要保证界面切换后,翻译的全覆盖,要保证任何需要反应的地方,都用到了tr("")包含,不然Linguist会捕捉不到。.ts文件的生成参考下文…...
hdfs操作
hadoop fs [generic options] [-appendToFile … ] [-cat [-ignoreCrc] …] [-checksum …] [-chgrp [-R] GROUP PATH…] [-chmod [-R] <MODE[,MODE]… | OCTALMODE> PATH…] [-chown [-R] [OWNER][:[GROUP]] PATH…] [-copyFromLocal [-f] [-p] [-l] [-d] … ] [-copyTo…...
h5分享页适配手机电脑
实现思路 通过media媒体查询结合rem继承html文字大小来实现。 快捷插件配置 这里使用了VSCode的px to rem插件。 先在插件市场搜索cssrem下载插件; 配置插件 页面编写流程及适配详情 配置meta h5常用配置信息:<meta name"viewport" content&quo…...
崭新商业理念:循环购模式的价值引领-微三云门门
尊敬的创业者们,我是微三云门门,今天我将为您详细探讨一种具有颠覆性的商业模式——循环购模式。这套私域流量裂变策略在实际应用中取得了巨大的成功,某些企业在短短6个月内迅速积累了400万用户! 循环购商业模式的核心聚焦于三个…...
二级MySQL(二)——编程语言,函数
SQL语言又称为【结构化查询语言】 请使用FLOOR(x)函数求小于或等于5.6的最大整数 请使用TRUNCATE(x,y)函数将数字1.98752895保留到小数点后4位 请使用UPPER()函数将字符串‘welcome’转化为大写…...
python爬虫12:实战4
python爬虫12:实战4 前言 python实现网络爬虫非常简单,只需要掌握一定的基础知识和一定的库使用技巧即可。本系列目标旨在梳理相关知识点,方便以后复习。 申明 本系列所涉及的代码仅用于个人研究与讨论,并不会对网站产生不好…...
系列十三、idea创建文件自动生成作者信息
File>Settings>Editor>File and Code Templates>Includes>File Header /*** Author : 一叶浮萍归大海* Date: ${DATE} ${TIME}* Description: */...
spring websocket demo
一 java依赖 gradle 配置 implementation "org.springframework.boot:spring-boot-starter-websocket" implementation "org.springframework.security:spring-security-messaging" 二 配置WebSocketConfig import org.springframework.beans.factory.a…...
C语言的发展及特点
1. C语言的发展历程 C语言作为计算机编程领域的重要里程碑,其发展历程承载着无数开发者的智慧和创新。C语言诞生于20世纪70年代初,由计算机科学家Dennis Ritchie在贝尔实验室首次推出。当时,Ritchie的目标是为Unix操作系统开发一门能够更方便…...
Flink Kubernates Native - 入门
创建 namespace [rootCentOSA flink-1.17.1]# kubectl create ns flink-native [rootCentOSA flink-1.17.1]# kubectl config set-context --current --namespaceflink-native命令空间添加资源限制 [rootCentOSA flink-1.17.1]# vim namespace-ResourceQuota.yamlapiVersion:…...
Ceph入门到精通-大流量10GB/s支持OSPF(ECMP)-LVS 集群
Keepalived-LVS 能够提高集群的高可用性并增加后端检测功能、简化配置,满足常规需求。但Keepalived-LVS集群中,同一个VIP只能由一台设备进行宣告,为一主多备的架构,不能横向拓展集群的性能,为此我们引入OSPF来解决该问…...
IDEA、git如何修改历史提交commit的邮箱
第一种情况:当前提交不是从其他分支clone过来的: step1: git log 查看提交日志,获取commit ID step2: git rebase -i [你的commitID] git rebase -i c2ef237854290051bdcdb50ffbdbb78481d254bb step3:…...
腾讯地图API实战:5分钟搞定经纬度录入与地图选点功能(Vue版)
腾讯地图API实战:5分钟搞定经纬度录入与地图选点功能(Vue版) 在当今的Web开发中,地图功能已成为许多应用的标配需求。无论是电商平台的店铺定位,还是社交应用的位置分享,甚至是企业内部系统的区域管理&…...
Home Assistant ARM版在CasaOS上的完美配置指南(含时区设置技巧)
Home Assistant ARM版在CasaOS上的完美配置指南(含时区设置技巧) 对于智能家居爱好者来说,Home Assistant(HA)无疑是最强大的开源平台之一。而在ARM架构设备上运行HA,尤其是通过CasaOS这样的轻量级容器管理…...
CLIP-GmP-ViT-L-14开发者案例:基于CLIP-GmP-ViT-L-14构建私有图文检索原型系统
CLIP-GmP-ViT-L-14开发者案例:基于CLIP-GmP-ViT-L-14构建私有图文检索原型系统 1. 引言:从想法到原型,一个下午就够了 你有没有遇到过这样的场景?手头有一堆产品图片,需要快速找到哪张图对应“一个穿着红色衣服的人在…...
用Segment Anything Model (SAM) 做3D目标检测?手把手教你复现SAM3D论文核心流程
从BEV到3D检测:基于Segment Anything的零样本实践指南 当Meta的Segment Anything Model(SAM)横空出世时,计算机视觉领域掀起了一阵"分割一切"的浪潮。但大多数应用仍停留在2D图像领域,直到SAM3D论文提出将这…...
DriverStore Explorer:释放磁盘空间的开源驱动管理工具
DriverStore Explorer:释放磁盘空间的开源驱动管理工具 【免费下载链接】DriverStoreExplorer Driver Store Explorer [RAPR] 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 1. 诊断驱动膨胀:3个隐藏原因解析 你的C盘空间是…...
降AIGC哪家强?2026零成本保姆级教程:DeepSeek/Kimi/豆包专属降重指令实测与差异解析
很多时候大学生写论文逻辑太严谨、话术太规范,反而会导致AI率过高,且一旦AI率过高,轻则退回重改,重则取消答辩资格,这后果谁都担不起。 为了帮大家有效降低aigc率,这周我专门针对目前市面上最主流的三款大…...
RK3588开发板跑YOLOv5视频流demo,遇到Segmentation fault别慌!保姆级core文件生成与调试指南
RK3588开发板YOLOv5视频流推理崩溃排查:从Segmentation fault到精准调试全攻略 当你在RK3588开发板上满心期待地运行YOLOv5视频流推理demo时,屏幕上突然闪现的"Segmentation fault (core dumped)"就像一盆冷水浇灭了热情。这种崩溃提示信息量极…...
Windows10下用VS2019编译UE4.27源码的完整避坑指南(附环境配置截图)
Windows 10下用VS2019编译UE4.27源码的完整避坑指南 第一次在Windows 10上编译UE4.27源码,就像在迷宫中寻找出口——每个转角都可能藏着意想不到的陷阱。作为一位经历过无数次编译失败的老兵,我深知那些看似简单的步骤背后隐藏的魔鬼细节。本文将带你避开…...
终极指南:如何用Save Image as Type一键转换网页图片格式
终极指南:如何用Save Image as Type一键转换网页图片格式 【免费下载链接】Save-Image-as-Type Save Image as Type is an chrome extension which add Save as PNG / JPG / WebP to the context menu of image. 项目地址: https://gitcode.com/gh_mirrors/sa/Sav…...
DML实战:价格弹性预测的经济学与机器学习融合之道
1. 价格弹性预测:经济学与机器学习的碰撞 第一次听说价格弹性还能用机器学习预测时,我的反应和大多数经济学背景的同事一样:"这不就是个回归问题吗?"直到亲眼看到某电商平台用DML模型把促销预算节省了23%,才…...
