LVS集群及其它的NAT模式

1.lvs集群作用:是linux的内核层面实现负载均衡的软件;将多个后端服务器组成一个高可用、高性能的服务器的集群,通过负载均衡的算法将客户端的请求分发到后端的服务器上,通过这种方式实现高可用和负载均衡。

2.集群和分布式:主要应对系统的扩展方式

垂直扩展:以前计算机是向上扩张,起到增强计算机的性能,但是由于计算机本身设备的限制,使硬件本身的性能出现瓶颈。

水平扩展:现在计算机是向外扩张,增加设备,并行的运行多个服务,依靠网络解决内部通信的问题,形成cluster集群。

集群:为了解决某个特定的问题将多台计算机组合起来的单个系统。

3.集群的三种类型:

LB:负载均衡集群,多个主机组成,每个主机只承担一部分的访问请求。

HA:高可用,在设计系统时,采取一定的措施确保系统当中某一组件或者部分出现故障,整个系统依然可以正常的运行,为了维护整个系统的可用性,可靠性,容错性。

HPC:高性能集群,对响应的时间、处理能力要求更高。

4.系统可靠性指标:(都是以小时为单位)

MTBF(mean  time  between  failure):平均无故障时间

MTTR(Mean  Time  Resotration repair):平均故障恢复时间

A=MTBF/(MTBF+MTTR):A指的是系统可用性的度量,A指标一般在0-1之间,越接近0表示系统越不可用,越接近1系统越可用,所以工作中A指标要无限接近1,一般接近98%-99%为合格。

计划内的时间可以忽略不记,如停机时间,但是现在也统计在内

计划外的故障时间,从故障发生到故障解决的总时间,尤其是运维,计划外时间是我们必须关注的一个指标。-----------当天事必须当天解决,没有解决之前,人是不可以离开的,解决完之后必须生成报告备案。

5.lvs适用场景:

小集群不需要使用lvs,大集群使用lvs。

6.lvs集群中的术语:

VS:lvs服务的逻辑名称,也就是我们外部访问lvs时使用的IP地址和端口。

DS:lvs的主服务器,也就是调度器,相当于nginx的代理服务器,是lvs集群的核心,调度器就是用来接受客户端的请求转发到后端的服务器。

RS:lvs集群中的真实服务器,后端服务器,用来接受DS调度器转发来的请求,并且响应结果。

CIP:客户端的IP地址,也是发起请求的客户端地址。

VIP:lvs集群使用的ip地址,对外提供集群访问的虚拟ip地址。

DIP:调度器在集群当中的地址,用来和RS进行通信用的。

RIP:后端服务器在集群中的IP地址。

7.lvs的工作方式:(常用的模式是NAT及DR模式)

NAT模式:由DS调度器响应客户端,适用小集群

DR模式(直接路由模式):真实服务器直接响应客户端,适用大集群

TUN:隧道模式

NAT模式的特点:地址转换,在nat模式下,lvs会将来自客户端的请求报文中的目标IP地址和端口修改为lvs内部的IP地址和端口,然后把请求转发到后端服务器,响应之后的结果返回客户端的过程中,响应报文也要经过lvs处理,把目标ip和端口修改成客户端的IP地址和端口。优点:对于客户端来说,请求的目标地址始终不变,客户端的配置不需要做特殊修改,只是调度器在对ip和端口进行转换,后端的服务器也不需要更改任何配置;缺点:性能损失,请求和响应都需要做地址转换,影响性能,nat模式只有一个调度器,调度器故障整个集群就不能正常工作。

内网(RS1和RS2)--------外网     转换的源ip

外网(客户机)--------内网     转换的是目的ip

 8.lvs的工具:用来配置和管理lvs集群的工具

-A:添加虚拟服务器vip

-D:删除虚拟机服务器地址

-s:指定负载的调度算法  (rr默认轮巡,wrr加权轮巡,最小连接lc,加权最小连接wlc)

-a:添加真实服务器

-d:删除真实服务器

-t:指定vip的地址和端口

-r:指定rip的地址和端口

-m:使用NAT模式

-g:使用DR模式

-i:使用隧道模式

-w:设置权重

-p:设置连接保持时间

-l:列表查看

-n:数字化展示

二、NAT模式的部署方法:

192.168.127.10:设置为调度器

RS1:192.168.127.20

RS2:192.168.127.30

192.168.127.40:客户端

1.关闭所有的防火墙及安全机制: systemctl  stop  firewalld

                                                      setenforce    0

2.给调度器增加一个网卡:

3.给调度器安装ipvsadm的管理工具:yum -y install  ipvsadm* -y

4.配置调度器的网关

首先把ens33内容复制到ens36

然后修改网关vim  ifcfg-ens33   及  vim  ifcfg-ens36:用调度器本机的IP地址做网关

 VIP:lvs集群使用的ip地址,对外提供集群访问的虚拟ip地址。

 5.设置RS1及RS2的网关

RS1

设置完之后记得刷新

 再index.html内修改RS1和RS2访问时的提示页面:

 6.回到调度器做地址转换

 7.配置调度器的ipvsadm

-A:添加虚拟服务器vip        -s:指定负载的调度算法

 

 8.开启调度器路由转发的功能

9.配置客户端192.168.127.40

10.附加: 如果设置完策略重启后出现VIP虚拟IP和配置的不一致,只能删除全部策略重新编辑。

 

 

11. 附加:ipvsadm加权轮巡的算法    当客户端访问调度器curl  12.0.0.1时RS1会明显增多

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/43030.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用户增长 - 私域 - 社群运营自检清单SOP(社群运营30问)

Check List: 1.你的目标用户是谁? 2.你的目标用户有哪些需要立马解决的需求?有哪些长期需求?这些需求的优先级是什么? 3.做社群的目的是什么? 4.你的用户和业务是否适合做社群? 5.你做哪类社群才能更好的帮…

确定适合您需求的负载组

大多数关键任务行业都使用 UPS 和发电机等备用电源在停电期间为其设施提供持续电力。负载组允许您在需要时测试电源,以确保在您最需要的时候提供可靠的电力。 选择正确的负载组对于准确的电源测试至关重要。为了帮助您找到最适合您设施需求的负载组,EAK…

Hudi 索引总结 - Parquet布隆过滤器写入过程

前言 上篇文章 提到 :索引的逻辑主要是根据 parquet 文件中保存的索引信息,判断记录是否存在,如果不存在,代表是新增数据,如果记录存在则代表是更新数据,需要找到并设置 currentLocation。对于布隆索引来说,这里的索引信息其实是布隆过滤器,本篇文章主要是先总结布隆过…

【机器学习】主成分分析(PCA):数据降维的艺术

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 主成分分析(PCA):数据降维的艺术引言PCA的基…

技术成神之路:设计模式(四)工厂方法模式

1.定义 工厂方法模式(Factory Method Pattern)是一种创建型设计模式,它提供了一种创建对象的接口,而不是通过具体类来实例化对象。工厂方法模式的主要作用是让子类决定实例化哪一个类,从而实现对象创建的延迟到具体子类…

2024年6月国产数据库大事记-墨天轮

本文为墨天轮社区整理的2024年6月国产数据库大事件和重要产品发布消息。 目录 2024年6月国产数据库大事记 TOP102024年6月国产数据库大事记(时间线)产品/版本发布兼容认证代表厂商大事记厂商活动相关资料 2024年6月国产数据库大事记 TOP10 2024年6月国…

最优雅的PHP框架 Laravel

Laravel 之所以被称为最优雅的 PHP 框架,是因为它在设计和功能上做了很多独特的创新,极大地提高了开发效率和代码的可维护性。以下是 Laravel 受欢迎的主要原因: 良好的文档和社区支持 Laravel 有详尽的官方文档,涵盖了框架的所有功能和用法。此外,Laravel 社区非常活跃…

【Python】已解决:SyntaxError invalid syntax

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决:SyntaxError invalid syntax 一、分析问题背景 在Python编程中,SyntaxError: invalid syntax是一个常见的错误,它通常表示代码中存在语法…

.net开发:NPOI生成excel文件到磁盘

源码实测可用 使用.net工具包NPOI,生成excel文件到本地磁盘。 实际项目中可以指定路径到服务器,把生成的文件存放到服务器指定目录。 controller层 [HttpPost("ExportExcel")]public void ExportExcel(){_TestService.ExportToExcel();} serv…

redis中的事务和mysql中的事务有什么区别?

Redis和MySQL的事务在概念和特性上存在一些显著的区别: 1. 原子性(Atomicity): - MySQL:事务具有原子性,即事务中的所有操作要么全部成功,要么全部失败,如果中途出现错误,整个事…

Linux内核 -- 虚拟化之virtqueue结构

Linux Kernel中的Virtqueue Virtqueue是Linux Kernel中用于实现Virtio设备的一个关键数据结构。Virtio是一种虚拟I/O设备标准,旨在简化虚拟化环境中虚拟设备与虚拟机之间的通信。Virtqueue则是实现这种通信的核心机制。以下是Virtqueue的一些关键点: V…

主流I/O模型总结(Linux Windows)

I/O复用模型(EPOLL) 模型思想:向内核注册需要监听的文件描述符,操作系统负责保存监视对象文件描述符,当有事件发生时,epoll_wait仅返回有事件发生的文件描述符数组 优点: 1.无需编写以监视状态为目的的针对所有文件描述符的循环语…

案例|水上水下一体化测量,为九寨沟精准把脉

​ 九寨沟,被誉为“人间仙境”,其湖群以独特的地理位置和优美的自然景观吸引着世界各地的游客,更是九寨沟生态系统中不可或缺的重要组成部分。因此,精准地掌握湖群的地形数据、水体分布及变化情况,能够揭示水下生态系…

【数据结构与算法基础】算法复杂度

欢迎光顾我的homepage 前言 算法就是定义良好的计算过程,它取一个活一组的值输入,并产生出一个或一组值作为输出。简单来说,算法就是一系列的计算步骤,用来将输入数据转化成输出结果。 一、算法效率 如何去衡量一个算法的好坏&am…

[C++]——同步异步日志系统(3)

同步异步日志系统 一、日志系统框架设计1.1模块划分1.1.1 日志等级模块1.1.2 日志消息模块1.1.3 日志消息格式化模块1.1.4 日志落地模块(日志落地的方向是工厂模式)1.1.5 日志器模块(日志器的生成是建造者模式)1.1.6 异步线程模块…

Android12上实现双以太网卡共存同时访问外网

具体实现如下: 修改main 表优先级到9999, 作用:eth0 eth1 访问 不去teardown 低分数网线 diff --git a/service/src/com/android/server/ConnectivityService.java b/service/src/com/android/server/ConnectivityService.java index 418e…

Ubuntu 22.04 设置swap交换空间

经常爆内存,导致很多应用没有办法一直正常运行,可以通过设置swap来缓解一下,虽然和内存的速度无法媲美,但是能一定程度缓解一下问题。 一、查看当前分区 查看当前系统的swap大小 free -m 二、关闭现有的swap分区 将/etc/fstab…

CUDA Kernel调试与优化--背景知识扫盲(LLM生成)

CUDA Kernel调试与优化–背景知识扫盲(LLM生成) 对于使用CUDA进行调试与性能优化,官方提供了丰富的参考资料和工具。以下是一些关键资源,可以帮助你更好地调试和优化CUDA代码: 官方文档和指南 CUDA Toolkit Documentation URL: CUDA Toolk…

强化学习总结(有具体代码实现)

文章目录 第一部分 强化学习基础第1章 强化学习概述1.1 强化学习概念1.2 强化学习的环境1.3 强化学习的目标1.4 强化学习的数据 第2章 多臂老虎机问题(MAB问题)2.1 问题描述2.1.1 问题定义2.1.2 形式化描述2.1.3 累积懊悔2.1.4 估计期望奖励 2.2 解决方法…

CSS 【详解】CSS 函数(含 calc,min,max,clamp,cubic-bezier,env,steps 等)

函数描述CSS 版本attr()返回选择元素的属性值。2calc()允许计算 CSS 的属性值,比如动态计算长度值。3cubic-bezier()定义了一个贝塞尔曲线(Cubic Bezier)。3hsl()使用色相、饱和度、亮度来定义颜色。3hsla()使用色相、饱和度、亮度、透明度来定义颜色。3linear-grad…