当前位置: 首页 > news >正文

lvs介绍与应用

LVS介绍

LVS(Linux Virtual Server)是一种基于Linux操作系统的虚拟服务器技术,主要用于实现负载均衡和高可用性。它通过将客户端请求分发到多台后端服务器上,从而提高整体服务的处理能力和可靠性。lvs是基于集群的方式实现

集群和分布式

集群:多个相同的应用,部署在不同的服务器上,提供统一的服务,以及同样的功能,机器的性能大致相同
分布式:把不同的组件部署在不同的服务器上,组件之间(应用)依靠网络进行通信,实现定制化的功能

系统性能的扩展方式
系统性能的扩展方式:
1、垂直扩展,向上扩展,提升计算机的性能(硬件性能)。性能提升是有瓶颈。
2、水平扩展,向外扩展,增加设备的方式提供性能。


集群的类型:

1、负载均衡:LB(load balancing)
2、HA:high Availiablity 高可用,负载均衡的高可用,主备高可用(keepalive用的就是vrrp协议)

系统的可靠性指标
系统的可靠性指标:值范围:0-1
MTBF:平均无故障时间
MTTR:平均恢复时间
A=MTBF/(MTBF+MTTR)*100%
得出的结果A无限接近于1,才好
停机时间分为计划内停机时间和计划外的停机时间
计划内停机时间:这个是不算在故障时间内的
计划外的停机时间:这算在故障时间内

LVS集群的术语

VS:virtual server lvs的逻辑名字,外部访问lvs的ip地址和端口
DS:director server lvs集群当中的主服务器,调度器,是整个集群的核心,接受客户端的请求然后根据负载均衡的算法转发到后端的RS
RS:real server lvs集群中的真实服务器,也就是后端服务器,接受调度器转发过来的请求
CIP:client ip 客户端的ip地址
VIP:virtual ip 集群对外提供好的虚拟ip地址
DIP:调度器的ip地址
RIP:后端服务器的ip地址

LVS的负载均衡的方式
NAT模式:NAT方式是最常用的负载均衡方式之一
DR模式:直连路由模式,性能最高
TUN:隧道模式

NAT模式

NAT模式:NAT方式是最常用的负载均衡方式之一
NAT的性能较差,第一要进行转换,第二要进行数据包的路由
NAT模式的后端真实服务器10-30台之间
lvs的nat:调度器的压力很大,地址转换,负载均衡算法,数据包转发,响应,非常影响性能
工具:ipvsadm 管理和配置lvs集群的工具,集成在linux系统的内核当中

ipvsadm的操作命令

命令	含义
-E	修改
-A	添加虚拟服务器
-D	删除整个虚拟服务器,虚拟服务器对应的就是后台的真实服务器
-s	指定负载均衡的算法,加载时必须要声明算法,rr (轮询),wrr (加权轮询) ,lc (最小连接数),wlc(加权最小连接数)
-a	添加真实服务器
-m	表示集群使用nat模式
-g	表示使用DR模式
-i	表示使用tun模式
-w	设置权重
-l	列表形式
-n	数字化的显示ip和端口
-t	指定调度器的vip地址的ip和端口
-r	指定RIP的ip和端口

在虚拟机上实现nat模式

配置:

apt -y install ipvsadm
modprobe ip_vs #加载模块
添加一个网卡
vim /etc/netplan/01-network-manager-all.yamlens37:ipv4:noaddresses;【12.0.0.10/24】
systemctl restart ipvsadm
systemctl status ipvsadm
ipvsadm -C#清空所有ipvsadm的策略
ipvsadm  -A -t 12.0.0.10:80 -s rr #添加虚拟服务器
ipvsadm -a -t 12.0.0.10:80 -r 192.168.42.30:80 -m  
ipvsadm -a -t 12.0.0.10:80 -r 192.168.42.40:80 -m 
#当访问12.0.0.10时,数据包可以转发到的真实服务器之一,-m 使用nat模式
vim  /etc/sysctl.conf第28行去掉注释net.ipv4.ip_forward=1
iptables -t nat -A POSTPOUTING -s 192.168.42.0/24 -o ens37 -j SNAT -- to 12.0.0.10nginx2和nginx3
vim /etc/netplan/01-network-manager-all.yamlgateway4: 192.168.42.20
netplan apply
systemctl restart nginx客户端 12.0.0.11
vim /etc/netplan/01-network-manager-all.yamlens33:ipv4:noaddresses;【12.0.0.10/24】gateway4: 192.168.42.20
netplan apply

DR模式:

DR模式:直连路由模式
DR模式虚拟出一个ip,这个虚拟访问用来访问的,客户端都是访问虚拟的ip地址。
虚拟IP地址也是在调度器上,调度器根据负载均衡算法选择一条RS,RS处理完请求之后直接响应给客户端,不是由调度器再来响应客户端
1、直接路由模式就是二层转发
调度器的ip和真实服务器的ip必须在同一网段,同一网段才能进行二层转发。
根据内核进行判断,数据包判断目标是本机的VIP,ipvs对数据包的请求进行分析,是否在集群的服务范围之内。
是的话,对数据包进行重新封装,源mac地址是vip地址,目标mac地址是真实服务器的地址。
源ip和目的ip地址都没有发生变化。

DR模式的特点

1、调度器和真实服务器必须在同一网段
2、真实服务器的地址可以是内网也是公网,如果RIP是公网可以直接(没有人做公网)
3、vip地址在调度器上有,在真实服务器也需要配置
ARP根据mac地址,找到对应的ip地址,如果不配置调度服务器和真实服务器之间无法通信
修改内核的方式,让真实的物理地址来响应请求
4、所有真实服务器的网关不能指向到调度器的ip地址。真实服务器的服务器的数据不通过调度器进行转发

DR模式的配置

真实网卡
调度器和nginx2,nginx3
vim /etc/netplan/01-network-manager-all.yamlens38dhcp:noaddresses: [192.168.233.100/24]
netplan apply调度器
vim /etc/sysctl.confnet.ipv4.conf.all.send_redirects=0net.ipv4.conf.default.send_redirects=0net.ipv4.conf.ens37.send_redirects=0
sysctl -p
route add -host 192.168.42.100 dev ens38
ipvsadm -A -t 192.168.233.100:80 -s wrr
ipvsadm -a -t 192.168.233.100:80 -r 192.168.233.11:80 -g -w 3
ipvsadm -a -t 192.168.233.100:80 -r 192.168.233.12:80 -g -w 8nginx2和nginx3
vim /etc/sysctl.confnet.ipv4.conf.ens38.arp_ignore = 1net.ipv4.conf.ens38.arp_announce = 2net.ipv4.conf.ens38.arp_ignore = 1net.ipv4.conf.ens38.arp_announce = 2
sysctl -p
route add -host 192.168.233.100 dev ens38
systemctl restart nginx

相关文章:

lvs介绍与应用

LVS介绍 LVS(Linux Virtual Server)是一种基于Linux操作系统的虚拟服务器技术,主要用于实现负载均衡和高可用性。它通过将客户端请求分发到多台后端服务器上,从而提高整体服务的处理能力和可靠性。lvs是基于集群的方式实现 集群…...

Group FLUX - User Usage Survey Report

文章目录 User Feedback Summary: Software Advantages and FeaturesUser Feedback Issues and Suggested Improvements1. Security Concerns:Improvement Measures: 2. System Performance and Loading Speed:Improvement Measures: 3. Data Display Issues:Improvement Measu…...

XXE靶机攻略

XXE-Lab靶场 1.随便输入账号密码 2.使用bp抓包 3.插入xxl代码,得到结果 xxe靶机 1.安装好靶机,然后输入arp-scan -l,查找ip 2.输入ip 3.使用御剑扫描子域名 4.输入子域名 5.输入账号密码抓包 6.插入xml代码 7.使用工具解码 8.解码完毕放入文…...

第78期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练Transformer(GPT)、人工智能生成内容(AIGC)以及大语言模型(LLM)等安全领域应用的知识。在这里,您可以找…...

电容Q值、损耗角、应用

电容发热的主要原因:纹波电压 当电容两端施加纹波电压时,电容承受的是变化的电压,由于电容内部存在寄生电阻(ESR)和寄生电感(ESL).因此电容会有能量损耗,从而产生热量,这…...

【WRF教程第3.6期】预处理系统 WPS 详解:以4.5版本为例

预处理系统 WPS 详解:以4.5版本为例 Geogrid/Metgrid 插值选项详解1. 插值方法的工作机制2. 插值方法的详细说明2.1 四点双线性插值(four_pt)2.2 十六点重叠抛物线插值(sixteen_pt)2.3 简单四点平均插值(av…...

linux 安装redis

下载地址 通过网盘分享的文件:redis-7.2.3.tar.gz 链接: https://pan.baidu.com/s/1KjGJB1IRIr9ehGRKBLgp4w?pwd0012 提取码: 0012 解压 tar -zxvf redis-7.2.3.tar.gz mv redis-7.2.3 /usr/local/ cd /usr/local/redis-7.2.3 安装 make install 修改配置文件 /搜索…...

Linux - rpm yum 工具及命令总结

RPM 概述 定义:RPM(RedHat Package Manager),是一个功能强大的软件包管理系统,用于在 Linux 系统中安装、升级和管理软件包采用系统:主要用于基于 RPM 的 Linux 发行版,如 Red Hat、CentOS、S…...

电子应用设计方案-58:智能沙发系统方案设计

智能沙发系统方案设计 一、引言 智能沙发作为一种融合了舒适与科技的家居产品,旨在为用户提供更加便捷、舒适和个性化的体验。本方案将详细介绍智能沙发系统的设计思路和功能实现。 二、系统概述 1. 系统目标 - 实现多种舒适的姿势调节,满足不同用户的…...

复习打卡Linux篇

目录 1. Linux常用操作命令 2. vim编辑器 3. 用户权限 4. Linux系统信息查看 1. Linux常用操作命令 基础操作: 命令说明history查看历史执行命令ls查看指定目录下内容ls -a查看所有文件 包括隐藏文件ls -l ll查看文件详细信息,包括权限类型时间大小…...

在Ubuntu 22.04 LTS中使用PyTorch深度学习框架并调用多GPU时遇到indexSelectLargeIndex相关的断言失败【笔记】

在Ubuntu 22.04 LTS系统中,已安装配置好CUDA 12.4、cuDNN 9.1.1以及PyTorch环境 export CUDA_VISIBLE_DEVICES0,1,2,3,4,5,6,7 在PyTorch深度学习框架训练调用多GPU时,提示 indexSelectLargeIndex: block: [x, 0, 0], thread: [x, 0, 0] Assertion src…...

qt 类中的run线程

在Qt中,QThread类的run()方法是线程的执行入口,它是由QThread内部自动调用的,而不是用户直接调用。 详细解释: QThread类: QThread是Qt的线程类,提供了用于多线程操作的接口。我们可以创建QThread对象并将…...

Vue3父子组件传属性和方法调用Demo

Vue3父子组件传属性和方法调用Demo 说明目录父组件给子组件传值和方法 父组件给子组件传值-使用defineProps接受父组件属性值父组件给子组件传值-使用defineModel接受父组件v-model值 当子组件只需要接收父组件一个v-model值时,写法1如下:子组件接收单个v-model写法2如下:当子…...

aac怎么转为mp3?操作起来很简单的几种aac转mp3的方法

aac怎么转为mp3?aac格式的优势主要体现在音质和压缩效率,尤其是在较低比特率下,能够实现更清晰的音质,这也是为何许多现代设备和应用偏爱aac格式的原因之一。特别是在手机、平板以及智能音响等设备中,aac文件几乎可以无…...

结合mybatis-plus实现Function获取java实体类的属性名

1、工具类 package com.yh.tunnel.util;import com.baomidou.mybatisplus.core.toolkit.support.SFunction; import com.google.common.base.CaseFormat; import com.yh.tunnel.domain.Plan;import java.lang.invoke.SerializedLambda; import java.lang.reflect.Field; import…...

vue 响应式数据原理

发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【宝藏入口】。 Vue 的响应式数据原理是其核心功能之一,它使得 Vue 应用能够自动响应数据的变化,并在数据变化时自动更新…...

android 计算CRC

<?php /** * 将一个字符按比特位进行反转 eg: 65 (01000001) --> 130(10000010) * param $char * return $char */ function reverseChar($char) { $byte ord($char); $tmp 0; for ($i 0; $i < 8; $i) { if ($byte & (1 << $i)…...

Linux tinyproxy 使用教程

简介 Tinyproxy 是一款轻量级 HTTP 代理服务器&#xff0c;使用最少的资源&#xff0c;非常适合硬件有限的系统。尽管体积小&#xff0c;但它可以处理大量流量&#xff0c;而不会出现明显的性能问题。旨在处理简单的代理任务。它通常用于路由网络流量以保护隐私、缓存或访问受…...

局部规划器设计思路

本文参考知乎文章:如何设计局部规划器 0 引言 局部规划器设计通用方法:生成路径——>寻找最优路径——>后处理优化 1 路径生成 四个问题: ① 如果全局路径中突然出现动态障碍物 ② 如果全局路径非常靠近障碍物 ③ 如果全局路径不容易跟踪(B样条平滑) ④ 如果全局…...

数字图像处理技术期末复习

1. 已知图像的分辨率和深度&#xff0c;怎么求图像的存储空间&#xff08;位&#xff0c;字节&#xff0c;KB&#xff09;&#xff1f; 题目&#xff1a; 已知图像的分辨率和深度&#xff0c;怎么求图像的存储空间&#xff08;位&#xff0c;字节&#xff0c;KB&#xff09;&a…...

比话降AI和嘎嘎降AI处理80%+AI率哪个更好

比话降AI和嘎嘎降AI是目前市面上处理极高AI率最有效的两款工具&#xff0c;但很多人不知道该选哪个。 这篇文章做一个直接的对比&#xff1a;两款工具在AI率80%场景下&#xff0c;各有什么优势和劣势&#xff0c;你的情况适合哪个。 基础信息对比 项目比话降AI嘎嘎降AI官网b…...

解锁Intel GPU的CUDA能力:从零开始的跨硬件计算实践

解锁Intel GPU的CUDA能力&#xff1a;从零开始的跨硬件计算实践 【免费下载链接】ZLUDA CUDA on non-NVIDIA GPUs 项目地址: https://gitcode.com/GitHub_Trending/zl/ZLUDA 当实验室电脑只有Intel集成显卡却需要运行CUDA加速程序时&#xff0c;当笔记本的Iris Xe显卡面…...

-python-langchain框架(3-6-pdf文件分页加载 )

一、PDF分页加载的核心应用场景在实际开发中&#xff0c;分页加载并非多余操作&#xff0c;而是针对特定场景的最优解&#xff0c;尤其适合以下几种情况&#xff1a;大型PDF文件处理&#xff1a;单文件几十页、上百页&#xff0c;甚至更大&#xff0c;一次性加载全部内容会占用…...

Boss-Key老板键:一键隐藏窗口的终极隐私保护神器

Boss-Key老板键&#xff1a;一键隐藏窗口的终极隐私保护神器 【免费下载链接】Boss-Key 老板来了&#xff1f;快用Boss-Key老板键一键隐藏静音当前窗口&#xff01;上班摸鱼必备神器 项目地址: https://gitcode.com/gh_mirrors/bo/Boss-Key 你是否曾经历过这样的尴尬时刻…...

如何用ControlNet-Union-SDXL-1.0实现多条件图像生成?解锁12种创意控制方案

如何用ControlNet-Union-SDXL-1.0实现多条件图像生成&#xff1f;解锁12种创意控制方案 【免费下载链接】controlnet-union-sdxl-1.0 项目地址: https://ai.gitcode.com/hf_mirrors/xinsir/controlnet-union-sdxl-1.0 ControlNet-Union-SDXL-1.0是一款革命性的多条件控…...

AI赋能算法创新:让快马大模型为你的智能车竞赛方案提供灵感

AI赋能算法创新&#xff1a;让快马大模型为你的智能车竞赛方案提供灵感 智能车竞赛一直是技术爱好者展示创新能力的舞台&#xff0c;但面对复杂的赛道和实时控制需求&#xff0c;很多队伍在算法设计上容易陷入瓶颈。最近我在准备比赛时&#xff0c;发现InsCode(快马)平台的AI辅…...

如何通过智能字体处理实现前端优化:Fontmin实用指南

如何通过智能字体处理实现前端优化&#xff1a;Fontmin实用指南 【免费下载链接】fontmin Minify font seamlessly 项目地址: https://gitcode.com/gh_mirrors/fo/fontmin 问题引入&#xff1a;未优化字体的性能陷阱 在现代前端开发中&#xff0c;字体文件往往成为性能…...

3分钟突破网盘限速!Baiduwp-PHP实现百度网盘链接高速解析

3分钟突破网盘限速&#xff01;Baiduwp-PHP实现百度网盘链接高速解析 【免费下载链接】baiduwp-php A tool to get the download link of the Baidu netdisk / 一个获取百度网盘分享链接下载地址的工具 项目地址: https://gitcode.com/gh_mirrors/ba/baiduwp-php 在数字…...

百度网盘解析工具终极指南:3分钟告别下载限速困扰

百度网盘解析工具终极指南&#xff1a;3分钟告别下载限速困扰 【免费下载链接】baiduwp-php A tool to get the download link of the Baidu netdisk / 一个获取百度网盘分享链接下载地址的工具 项目地址: https://gitcode.com/gh_mirrors/ba/baiduwp-php 还在为百度网盘…...

温度通信系统 LCD显示+上位机显示 传感器使用的是ds18b20,LCD显示温度,还可以串口...

温度通信系统 LCD显示上位机显示 传感器使用的是ds18b20&#xff0c;LCD显示温度&#xff0c;还可以串口通信在pc上显示温度&#xff0c;并且有VB的上位机实时显示波形&#xff0c;实物验证成功 自己写的代码&#xff0c;注释详细 有代码有仿真 上位机显示这温度监控系统折腾了…...