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

【LVS集群】

目录

一、集群概述

1.负载均衡技术类型

2.负载均衡实现方式

二、LVS结构

1.三层结构

2.架构对象

三、LVS工作模式

四、LVS负载均衡算法

1.静态负载均衡

2.动态负载均衡

五、ipvsadm命令详解

1. -A

2. -D

3. -L

4. -a

5. -d

6. -l

7. -t

8. -s

9. -r

10. -w

11. -g

12. -i

13. -m

14. 案例

六、LVS配置案例

1.基础配置

2.实现NAT模型搭建

2.1 负载调度器配置

2.1.1 配置IP地址

2.1.2 配置本地yum源

2.1.3 安装ipvsadm

2.1.4 开启路由转发功能

2.1.5 加载ip_vs模块

2.1.6 启动ipvsadm服务

2.1.7 配置负载分配策略

2.1.8 保存策略

2.2 web节点配置

2.2.1 安装httpd

2.2.2 配置网关

2.3 测试

3.实现DR模型搭建

3.1 负载调度器配置

3.1.1 调整ARP参数

3.1.2 配置虚拟IP地址

3.1.3 安装ipvsadm

3.1.4 加载ip_vs模块

3.1.5 启动ipvsadm服务

3.1.6 配置负载分配策略

3.1.7 保存策略

3.2 web节点配置

3.2.1 调整ARP参数

3.2.2 配置虚拟IP地址

3.2.3 添加回环路由

3.2.4 安装httpd


一、集群概述

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结构

1.三层结构

  • 负载调度器
  • 服务器池
  • 共享存储

2.架构对象

  • 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命令详解

1. -A

添加虚拟服务节点

2. -D

删除虚拟服务节点

3. -L

查看虚拟服务节点列表

4. -a

添加真实服务节点

5. -d

删除真实服务节点

6. -l

查看真实服务节点列表

7. -t

指定虚拟服务器IP地址

8. -s

指定调度算法

9. -r

指定真实服务器节点IP地址

10. -w

指定权重值

11. -g

直接路由模式(默认)

12. -i

隧道模式(不常用)

13. -m

NAT模式

14. 案例

       ipvsadm -A -t 207.175.44.110:80 -s rr
       ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.1:80 -m
       ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.2:80 -m
       ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.3:80 -m
       ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.4:80 -m
       ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.5:80 -m

六、LVS配置案例

1.基础配置

  • 修改主机名
  • 关闭防火墙
  • 关闭Selinux
  • 关闭Networkmanager
  • 配置IP地址

2.实现NAT模型搭建

2.1 负载调度器配置

2.1.1 配置IP地址

增加一块网卡

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

2.1.2 配置本地yum源

2.1.3 安装ipvsadm

yum  install -y ipvsadm

2.1.4 开启路由转发功能

vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p

2.1.5 加载ip_vs模块

modprobe ip_vs
lsmod |grep ip_vs

2.1.6 启动ipvsadm服务

mkdir /etc/sysconfig/ipvsadm

systemctl start ipvsadm

2.1.7 配置负载分配策略

ipvsadm -A -t 192.168.100.3:80 -s rr
ipvsadm -a -t 192.168.100.3:80 -r 192.168.42.4:80 -m
ipvsadm -a -t 192.168.100.3:80 -r 192.168.42.5:80 -m

2.1.8 保存策略

ipvsadm-save > /etc/sysconfig/ipvsadm/ipvsadm

2.2 web节点配置

2.2.1 安装httpd

yum  install -y nginx

2.2.2 配置网关

route add -net 0/0 gw 192.168.42.3

2.3 测试

 

深度刷新

 

3.实现DR模型搭建

3.1 负载调度器配置

3.1.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

3.1.2 配置虚拟IP地址

cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens33:0

        TYPE=Ethernet
        BOOTPROTO=static
        NAME=ens33:0
        DEVICE=ens33:0
        ONBOOT=yes
        IPADDR=192.168.42.200
        PREFIX=24

3.1.3 安装ipvsadm

yum  install -y ipvsadm

3.1.4 加载ip_vs模块

modprobe ip_vs
lsmod |grep ip_vs

3.1.5 启动ipvsadm服务

mkdir /etc/sysconfig/ipvsadm

systemctl start ipvsadm

3.1.6 配置负载分配策略

ipvsadm -A -t 192.168.42.200:80 -s rr
ipvsadm -a -t 192.168.42.200:80 -r 192.168.42.4:80 -g
ipvsadm -a -t 192.168.42.200:80 -r 192.168.42.5:80 -g

3.1.7 保存策略

touch /etc/sysconfig/ipvsadm/ipvsadm

ipvsadm-save > /etc/sysconfig/ipvsadm/ipvsadm

3.2 web节点配置

3.2.1 调整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

3.2.2 配置虚拟IP地址

cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0

        DEVICE=lo:0
        IPADDR=192.168.42.200
        NETMASK=255.255.255.255
        ONBOOT=yes
        NAME=loopback:0

 

3.2.3 添加回环路由

route add -host 192.168.42.200/32 dev lo:0

3.2.4 安装httpd

 

 深度刷新

相关文章:

【LVS集群】

目录 一、集群概述 1.负载均衡技术类型 2.负载均衡实现方式 二、LVS结构 1.三层结构 2.架构对象 三、LVS工作模式 四、LVS负载均衡算法 1.静态负载均衡 2.动态负载均衡 五、ipvsadm命令详解 1. -A 2. -D 3. -L 4. -a 5. -d 6. -l 7. -t 8. -s 9. -r 10. -…...

软考高级系统架构设计师系列之:论文题目类型、论文考试大纲、历年考试论文真题汇总、论文写作原则、论文写作常见问题、论文评分标准

软考高级系统架构设计师系列之:论文题目类型、论文考试大纲、历年考试论文真题汇总、论文写作原则、论文写作常见问题、论文评分标准 一、论文写作概述二、论文题目类型三、论文考试大纲1.系统建模2.软件架构设计3.系统设计4.分布式系统设计5.系统的可靠性分析与设计6.系统的安…...

完整的application.xml

<!-- 资源文件配置 --><beans profile"dev"><bean class"com.ningpai.util.CustomPropertyPlaceholderConfigurer"><property name"locations"><list><value>classpath:/com/ningpai/web/config/dev/jdbc.p…...

C语言:运算符优先级

一、优先级&#xff08;常使用的运算符&#xff09; 见表格 二、注意 总体原则&#xff1a;算术运算符 > 关系运算符 > 逻辑运算符 > 赋值运算符 同一级别下的运算符的运算次序由表达式的结合方向决定 运算符注释级别( )圆括号1[ ]数组下标1后置后置2后置--后置--2前置…...

Android GreenDao数据库升级(附Demo)

前言 大家好久不见&#xff0c;一转眼马上八月份下旬了&#xff0c;最近由于工作比较忙&#xff0c;没时间给大家更新博文。百忙之中抽出时间&#xff0c;给大家来更新一篇关于GreenDao3数据库的升级。 关于GreenDao的详细介绍以及一些逻辑性的增、删、改、查等&#xff0c;可以…...

剑指 Offer 32 - III. 从上到下打印二叉树 III

目录 使用函数实现 使用双端队列实现 请实现一个函数按照之字形顺序打印二叉树&#xff0c;即第一行按照从左到右的顺序打印&#xff0c;第二层按照从右到左的顺序打印&#xff0c;第三行再按照从左到右的顺序打印&#xff0c;其他行以此类推。 例如: 给定二叉树: [3,9,20,nu…...

【QT5-自我学习-线程qThread移植与使用-通过代码完成自己需要功能-移植小记3】

【QT5-自我学习-线程qThread移植与使用-通过代码完成自己需要功能-移植小记3】 1、前言2、实验环境3、自我总结&#xff08;1&#xff09;文件的编写&#xff08;2&#xff09;信号与槽的新理解&#xff08;3&#xff09;线程数据的传递 4、移植步骤第一步&#xff1a;添加新文…...

后端开发12.商品模块

概述 简介 商品模块这个设计的非常复杂 效果图 数据库...

/usr/bin/containerd: Operation not permitted

问题 今天在重启docker程序的时候一直启动不起来&#xff0c;通过systemctl status docker和jourctl -xu docker也没有发现什么有用的报错信息&#xff0c;无奈只好查看/var/log/message&#xff0c;发现以下错误提示&#xff1a; Started containerd container runtime Start…...

分析商务报表使用什么工具?

传统的BI分析商务报表存在的问题 随着数字化转型的深入推进&#xff0c;企业面临着海量数据的挑战和机遇。数据是企业的重要资产&#xff0c;能够帮助企业洞察市场动态、优化业务流程、提升客户满意度、创造竞争优势。然而&#xff0c;传统的BI&#xff08;商业智能&#xff0…...

nginx文件配置

在部署前后端分离项目时&#xff0c;当前端和后端不在一个服务器上时&#xff0c;需要在前端服务器上下载nginx并配置 #hkdp-front-test 前端服务器 xxx.xxx.x.69 前端项目端口号9528&#xff0c;监听文件夹 /home/apps/vue/hkdp-manager 配置如下 server{ …...

视频云存储/安防监控EasyCVR视频汇聚平台如何通过角色权限自行分配功能模块?

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同&#xff0c;支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。音视频流媒体视频平台EasyCVR拓展性强&#xff0c;视频能力丰富&#xff0c;具体可实现视频监控直播、视频轮播、视频录像、…...

小程序定位到 胶囊的三个点大概中间

话不多说&#xff0c;先上效果图 这个功能实现思路: 首先先拿到这一张整图(快捷&#xff0c;精确)然后获取整个导航栏高度(自定义导航栏,非自定义导航栏忽略这一步)获取三个点的做偏移量&#xff0c;把高度和偏移量给到一个定位到盒子&#xff0c;这个盒子里就放这个图片&…...

Maven详解

文章目录 一、引言1.1 为什么需要 Maven&#xff1f;1.2 Maven 解决了哪些问题&#xff1f;1.2.1 添加第三方jar包1.2.2 jar包之间的依赖关系1.2.3 处理jar包之间的冲突1.2.4 获取第三方jar包1.2.5 将项目拆分成多个工程模块1.2.6 实现项目的分布式部署 二、介绍三、Maven 的特…...

音视频 ffplay命令-高级选项

选项说明-stats打印多个回放统计信息&#xff0c;包括显示流持续时间&#xff0c;编解码器参数&#xff0c;流中的当前位置&#xff0c;以及音频/视频同步差值。默认情况下处于启用状态&#xff0c;要显式禁用它则需要指定-nostats-fast非标准化规范的多媒体兼容优化-genpts生成…...

[管理与领导-44]:IT基层管理者 - 个人管理 - 从掌握管理知识开始入门:管理的常识和基础

目录 前言&#xff1a;管理框架 一、什么是管理 1.1 以终为始 1.2、资源的优化配置&#xff08;人财物、权力、时间等资源&#xff09; 1.2.1 资源的优化配置的步骤 1.2.2 管理者拥有的资源 1.2.3 管理者的权力资源 1.3 分而治之 1.3.1 分目标&#xff1a;细化和分解目…...

c#两个数进行交换

1.使用中间变量的形式 private static void Main(string[] args){int a110;int a220;ChangeNumber(ref a1,ref a2)onsole.WriteLine($"a1的值{a1},a2的值{a2}");Console.ReadLine();}public static void ChangeNumber(ref int a1, ref int a2){int temp a1;//temp10…...

JVM——类加载与字节码技术—字节码指令

2.字节码指令 2.1 入门 jvm的解释器可以识别平台无关的字节码指令&#xff0c;解释为机器码执行。 2a b7 00 01 b1 this . init&#xff08;&#xff09; return 准备了System.out对象&#xff0c;准备了参数“hello world”,准备了对象的方法println(String)V&#xff…...

同步与互斥——相互合作,相互制约

选择题&#xff1a;互斥机制&#xff0c;信号量解决互斥同步 大题&#xff1a;PV操作处理进程的同步与互斥 目的&#xff1a;解决临界区资源使用问题 一、临界资源 一次仅允许一个进程使用的资源 二、同步与互斥 同步&#xff1a;AB相互合作&#xff0c;A放B取&#xff0c;…...

7个改变玩法规则的ChatGPT应用场景

ChatGPT因各种原因受到了广泛关注&#xff1a;ChatGPT可以充当各种改善生活改进工作的小助手&#xff0c;如内容写手、客户支持、语言翻译、编码专家等等。只需在你的聊天内容中添加适当的提示&#xff0c;人工智能将为你提供各项支持。[1] 1.ChatGPT作为内容写手 通过AI的帮助…...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中&#xff0c;结构体可以嵌套使用&#xff0c;形成更复杂的数据结构。例如&#xff0c;可以通过嵌套结构体描述多层级数据关系&#xff1a; struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽&#xff0c;大家好&#xff0c;我是左手python&#xff01; Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库&#xff0c;用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业&#xff0c;其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进&#xff0c;需提前预防假检、错检、漏检&#xff0c;推动智慧生产运维系统数据的流动和现场赋能应用。同时&#xff0c;…...

LeetCode - 394. 字符串解码

题目 394. 字符串解码 - 力扣&#xff08;LeetCode&#xff09; 思路 使用两个栈&#xff1a;一个存储重复次数&#xff0c;一个存储字符串 遍历输入字符串&#xff1a; 数字处理&#xff1a;遇到数字时&#xff0c;累积计算重复次数左括号处理&#xff1a;保存当前状态&a…...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求&#xff0c;由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面&#xff1a; &#x1f3db;️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限&#xff0c;形成层级清晰的管理网络&#xf…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

华为OD机试-食堂供餐-二分法

import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索&#xff08;基于物理空间 广播范围&#xff09;2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码&#xff1a;‘allure’ &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;ڲ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ⲿ&#xfffd;&#xfffd;&#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;ǿ&#xfffd;&am…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中&#xff0c;新增了一个本地验证码接口 /code&#xff0c;使用函数式路由&#xff08;RouterFunction&#xff09;和 Hutool 的 Circle…...