LVS集群-NAT模式

集群的概念:

集群:nginx四层和七层+动静分离

集群标准意义上的概念:为解决特定问题将多个计算机组合起来形成一个单系统

集群的目的就是为了解决系统的性能瓶颈。

垂直扩展:向上扩展,增加单个机器的性能,升级硬件,硬件升级是有瓶颈的

水平扩展:向外扩展,增加设备,并行的运行多个服务,通过网络和算法来调度服务分配的问题

集群的类型:

  1. 负载均衡集群:LB load blance 多个主机组成,每个主机只承担一部分的访问请求,靠负载均衡算来来实现
  2. 高可用集群:HA high availiablity 避免SPOF(single point failure)单点故障,系统中只有一部分组件出现故障,可以保障整个系统继续运行

主从---同步(某些特定的服务需要)---负载均衡

HPC:high-performance computing快速转发,快速响应。

集群的可靠性指标:

MTBF:mean time between failure 系统在正常运行期间无故障的平均时间,一般用小时或者天数来表示,MTBF值越高,系统的可靠性越高,出现的概率就越小

MTTR:系统从发生故障到恢复正常运行的平均时间,一般用于小时和天数,MTTR值越小,说明系统恢复故障的能力越强

A:系统可靠性指标A值越高越好

A=MTBF/(MTBF+MTTR)

停机时间:

计划内停机:指的是预定时间内的维护和检修时间

计划外停机:运维人员主要关注的就是计划外

发版期:

设计集群时需要考虑的一些原则:

  1. 可扩展性:集群要有随时可以添加或者删除设备的能力。 动态的扩缩容
  2. 可靠性:集群当中如果有节点发生故障,可以快速检测并且自动切换
  3. 负载均衡:合理分配每台服务器的负载,避免单个节点过载,影响整体性能
  4. 可维护性:要能够方便的进行配置部署,维护,监控,降低成本。
  5. 安全性:防止恶意攻击,以及数据泄露,数据丢失
  6. 易用性:相关的工作人员可以放便的进入集群,能够快速的开发,部署,测试等等

Lvs: Linux virtual server 是一个部署在Linux系统通过内核层面实现负载均衡的软件

开发者:章文嵩

主要作用:多个后端服务器形成一个高可用,高性能负载均衡的高性集群,通过负载均衡的算法将客户端的请求发送到后端服务器

阿里的SLB server load balance基于lvs+keepalived实现

Lvs集群当中的术语:

Vs(virtual server)lvs服务的逻辑名字,外部访问lvs集群提供的一个虚拟IP地址和端口

DS:Director server : lvs集群当中的主服务器,也是调度器是整个lvs集群的核心,接受客户端的请求转发到后端RS

RS:real server lvs的后端是服务器的IP,接受到DS的请求之后,返回响应结果

CIP:client ip 客户端ip负载  

VIP : virtual ip 对外提供访问的统一的虚拟IP地址

DIP:DIrector ip 调度器在lvs内部使用的IP地址,用于真实服务器进行通信

RIP:后端真实服务器的IP地址

Lvs访问的大致流程:

  1. 客户端访问都是访问vip
  2. DS接受到请求,根据调度算法选择好后端服务器(RS)

请发送给rs

  1. RS处理请求并将响应发送到DS
  2. DS把RS的响应包装成自己响应,发送到客户端

客户端既不知道请求的真实服务器,也不知道响应的服务器是谁

Lvs的负载均衡方式:

NAT  DR  TUN

其中NAT和DR是最常用的两中方式

NAT模式:

NAT模式是最常用的负载方式之一

NAT的作用就是地址转换

Nat模式工作的核心原理:

  1. 在调度器上配置网卡,一个指内,一个指外
  2. 配置一个可以和公网进行通信的vip
  3. 配置转发策略,如果访问vip,就会把请求的数据包转发到后台的RS

请求的格式:报文。调度器会修改请求的目标IP地址和端口

  1. RS处理完请求之后响应客户端,先到调度器,调度器进行转换,把内网地址转换成外网地址,响应给客户

192.168.233.30:80------调度器-----nat转换-------12.0.0.1:80-----客户端

数据请求进入调度器的请求报文IP地址的修改

数据响应进入调度器,根据nat配置进行地址转换

调度器的内网IP地址和真实服务器的IP要在同一网段

NAT模式:

Nat:对于客户端来说请求地址始终不变,客户端不需要修改任何配置,转发由调度器通过算法来完成,后端服务器只管接受响应,也不需要修改任何配置

特点:性能损失和单点故障

DR模式:

DR:直接路由模式,请求由调度器完成,但是响应客户端由真实服务器直接响应,不需要通过调度器

好处是:性能高,而且可以配置vip地址的高可用,不存在单点故障

TUN模式:

Tun:隧道协议把请求转发后端服务器,需要在后端服务器配置隧道协议

核心:请求VPN地址

如何设置lvs:

Ipvsadm工具:管理内核模块的命令行工具,可用于配置和管理lvs集群

-A:添加虚拟服务器

-D:删除整个虚拟服务器

-s:制定负载调度的算法:

静态调度:

rr:轮循

wrr:加权轮询

dh:目的地址hash

根据IP地址查找静态hash表,获取需要真实的RS的地址

Sh源地址hash

动态调度:

lc:最小连接数调度

wlc:加权最小连接数调度

权重高的,转发的就多,为了额避免性能瓶颈,再跟上最小连接数分配,可以把请求往连接数较小的服务器继续转发

Iblc:基于地址的最小连接数调度

将来自同一个目的地地址的请求分配给RS,如果这台服务器尚未满负荷,就会把请求分配给连接数最小的RS,而且在下一次转发时会优先考虑这台RS

-a:添加真实的服务器

-d:删除真实的服务器

-t:指定vip地址的段口号

-r:指定RIP的端口号

-m:表示使用的nat模式

-g:表示使用的DR模式

-i:表示使用的TUN模式

-w:设置真实的服务器的权重

-p 60:设置连接保持的时间60秒(默认不带)

-ln:以数字和列表的形状查看lvs的配置信息

Nat模式的部署方式:

四台服务器:

负载调度器:配置双网卡:20.0.0.51(内网)12.0.0.1(ens36)

二台后端web真实服务器:20.0.0.52 20.0.0.53

一台NFS共享服务器:20.0.0.54

客户端54

架构图:

先来配置共享服务54

配置web服务器52,53 两台真实服务器也安装一下NFS共享

52服务器:

53服务器:

配置调度器

添加一个网卡设备

复制网卡

改ifcfg-36的网卡信息

配置交地址转换策略

安装ipvsadm*

重新添加节点服务器

修该web服务机的网卡

重新添加节点服务器

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JVM 类的加载子系统

文章目录 类的加载过程加载阶段链接阶段初始化 类的加载器测试代码中获取对应的加载器获取加载器加载的路径不同类对应的加载器自定义加载器自定义加载器的方式 获取类的加载器的方式双亲委派机制双亲委派机制的好处 Java 的 SPI 机制1. 接口定义2. 具体实现3. 配置 META-INF/s…

StreamSaver.js入门教程:优雅解决前端下载文件的难题

本文简介 点赞 关注 收藏 学会了 本文介绍一个能让前端优雅下载大文件的工具:StreamSaver.js ⚡️ StreamSaver.js GitHub地址⚡️ 官方案例 StreamSaver.js 可用于实现在Web浏览器中直接将大文件流式传输到用户设备的功能。 传统的下载方式可能导致大文件的加…

centos ubantu IP一直变化,远程连接不上问题

文章目录 一、为什么IP地址会变1.主机DHCP导致 二、解决IP地址变化1.centos2.ubantu 总结 虚拟机能连接为互联网,但下一次启动IP地址再发生变化,无法使用ssh远程连接 一、为什么IP地址会变 1.主机DHCP导致 虚拟机系统(ubantu,centos…)启动后会向本地申请IP地址租约,租聘的I…

Java采集传感器数据,亲测有效!

背景 先说背景, 最近公司项目需要用到传感器,采集设备温湿度,倾斜角,电流…,公司采购采购了一个温湿度传感器给我们开发测试使用,如下图: 看着还挺精致有没有。 进入正题 有了这个温湿度传感器…

基于ChatGPT实现AI软件研发 | 神经网络 | 数据

计算机技术的发展和互联网的普及,使信息处理和传输变得更加高效,极大地改变了金融、商业、教育、娱乐等领域的运作方式。数据分析、人工智能和云计算等新兴技术,也在不断地影响和改变着各个行业。 如今,我们正在见证人工智能技术…

Redis(04)| 数据结构-压缩列表

压缩列表的最大特点,就是它被设计成一种内存紧凑型的数据结构,占用一块连续的内存空间,不仅可以利用 CPU 缓存,而且会针对不同长度的数据,进行相应编码,这种方法可以有效地节省内存开销。 但是,…

RK3568-pcie接口

pcie接口与sata接口 pcie总线pcie总线pcie控制器sata控制器nvme设备sata设备nvme协议ahci协议m-key接口b-key接口RC模式和EP模式 RC和EP分别对应主模式和从模式,普通的PCI RC主模式可以用于连接PCI-E以太网芯片或PCI-E的硬盘等外设。 RC模式使用外设一般都有LINUX驱动程序,安…

计算机操作系统重点概念整理-第四章 内存管理【期末复习|考研复习】

第四章 内存管理 【期末复习|考研复习】 计算机操作系统系列文章传送门: 第一章 计算机系统概述 第二章 进程管理 第三章 进程同步 第四章 内存管理 第五章 文件管理 第六章 输出输出I/O管理 文章目录 第四章 内存管理 【期末复习|考研复习】前言四、内存管理4.1 内…

企业安全—DevSecOps概述详情

0x00 前言 SDL存在的问题在于体量过于庞大,不利于快速进行适配和进行,所以就有了DevSecOps,实际上是因为敏捷开发也就是DevOps的推进,并且坐上了云服务模式的火车,所以这一系列的东西都开始普及。DevSecOps作为DevOps…

PTE-写作 学习(一)

目录 PTE写作 写作技能 词汇积累 熟悉机经 pte写作考的就是态度 写作技能 看一段写一句 蓝色框里的单词是不可以使用的 ,他们是副词,要添加新的句子 PTE写作 写作技能 词汇积累 熟悉机经 题库太窄 pte写作考的就是态度 写作技能 极有模板可…

【数据结构】选择排序

⭐ 作者:小胡_不糊涂 🌱 作者主页:小胡_不糊涂的个人主页 📀 收录专栏:浅谈数据结构 💖 持续更文,关注博主少走弯路,谢谢大家支持 💖 直接选择、堆排序 1. 直接选择排序2…

泛微OA之获取每月固定日期

文章目录 1.需求及效果1.1需求1.2效果 2. 思路3. 实现 1.需求及效果 1.1需求 需要获取每个月的7号作为需发布日期,需要自动填充1.2效果 自动获取每个月的七号2. 思路 1.功能并不复杂,可以用泛微前端自带的插入代码块的功能来实现。 2.将这需要赋值的…

Redis -- 基础知识2

1.Redis客户端介绍 1.基础介绍 Redis是一种客户端-服务器结构的程序,通过网络进行互动 客户端的多种形态 1.自带了命令行客户端:redis-cil 2.图形化界面的客户端:依赖windows系统,连接服务器有诸多限制,不建议使用 3.基…

模拟算法及其优化

第一题 替换所有问号 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 class Solution { public:string modifyString(string s) {string ret;for(int i0;i<s.size();i){if(i0){if(s[i]?&&i1<s.size()){for(char aa;a<z;a){if(a!s…

J2EE项目部署与发布(Windows版本)

&#x1f3ac; 艳艳耶✌️&#xff1a;个人主页 &#x1f525; 个人专栏 &#xff1a;《Spring与Mybatis集成整合》《Vue.js使用》 ⛺️ 越努力 &#xff0c;越幸运。 1.单机项目的部署 1.1们需要将要进行部署的项目共享到虚拟机中 在部署项目之前&#xff0c;我们先要检查一下…

基于情感词典的情感分析方法

计算用户情绪强弱性&#xff0c;对于每一个文本都可以得到一个情感分值&#xff0c;以情感分值的正负性表示情感极性&#xff0c;大于0为积极情绪&#xff0c;小于0反之&#xff0c;绝对值越大情绪越强烈。 基于情感词典的情感分析方法主要思路&#xff1a; 1、对文本进行分词…

数据结构与算法基础(青岛大学-王卓)(9)

终于迎来了最后一部分(排序)了&#xff0c;整个王卓老师的数据结构就算是一刷完成了&#xff0c;但是也才是数据结构的开始而已&#xff0c;以后继续与诸位共勉 &#x1f603; (PS.记得继续守护家人们的健康当然还有你自己的)。用三根美味的烤香肠开始吧。。。 文章目录 排序基…

CSS 基础知识-02

CSS 基础知识-01 1. flex布局2.定位3.CSS精灵4.CSS修饰属性 1. flex布局 2.定位 3.CSS精灵 4.CSS修饰属性

NEWCC:新时代的区块链生态新币私募造势平台

在当今区块链领域&#xff0c;这项技术已经为金融资产注入了全新的生机&#xff0c;同时也为初创企业提供了新的商业模式和融资机会。通过代币的金融属性&#xff0c;企业和项目方得以实现资本的初期积累&#xff0c;同时在区块链空间以更低成本和更高效率进行交易和服务创新。…

【Oracle】[INS-30131]执行安装程序验证所需的初始设置失败。

这里写目录标题 一、问题描述1 报错内容1.1 无法从节点“kotin”检索 exectask 的版本1.2 工作目录"xxx"无法在节点"kotin"上使用 2 相关环境2.1 安装软件2.2 安装系统 3 解决思路分析 二、解决方案1 方案一、 满足验证条件 - 不换系统1.1 第一步、检查文件…