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服务机的网卡

重新添加节点服务器

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

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

相关文章

KV STUDIO的安装与实践(一)

目录 什么是KV STUDIO? 如何安装KV STUDIO? 如何学习与使用KV STUDIO(在现实中的应用)? 应用一(在现实生活中机器内部plc的读取与替换) 读取 KV STUDIO实现显示器的检测!&#…

Keepalived

一、Keepalived概述 1.1 Keepalived定义 Keepalived为LVS应运而生的高可用服务。由于LVS的调度器无法做高可用,于是引入keepalived软件。实现的是调度器的高可用。 但是keepalived不是专门为lvs集群服务的,也可以做其他代理服务器的高可用。 1.2 LVS…

kubeadm安装k8s集群

目录 一、环境部署 1、关闭防火墙规则、关闭selinux、关闭swap交换分区 2、修改主机名、DNS解析 3、调整内核参数 二、所有节点安装Docker 三、安装k8s集群 1、所有节点配置K8S源 2、所有节点安装kubeadm、kubelet和kubectl 3、部署K8S集群 3.1 初始化操作&#xff08…

车载音频ADI-ADSP21569音频DSP开发

车载音频ADI-ADSP21489音频DSP开发 是否需要申请加入数字音频系统研究开发交流答疑群(课题组)?可加我微信hezkz17, 本群提供音频技术答疑服务,+群赠送蓝牙音频,车载DSP音频项目核心开发资料, 1 芯片手册 2 电路原理图

网工内推 | 急招网工,思科、华为认证优先,法定节假日三薪

01 江苏臻云技术 招聘岗位:网络工程师 职责描述: 1、负责落实数据中心机房日常网络监测及巡检任务; 2、负责数据中心网络设备日常监控、变更、维护、巡检; 3、负责日常巡检报告、故障维护报告、变更申请的文档的编制;…

竞赛 深度学习人体跌倒检测 -yolo 机器视觉 opencv python

0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习的人体跌倒检测算法研究与实现 ** 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满…

番外8.2 --- 后续

### 01:dd命令:在新挂载点创建swap文件大小10MB;(dd if/dev/zero of/swap bs1024 count10240) 02:给swap建立文件系统,将其分属到swap文件(mkswap /swap; swapon /swap &…

21.2 Python 使用Scapy实现端口探测

Scapy 是一款使用纯Python编写的跨平台网络数据包操控工具,它能够处理和嗅探各种网络数据包。能够很容易的创建,发送,捕获,分析和操作网络数据包,包括TCP,UDP,ICMP等协议,此外它还提…

ExcelPatternTool 开箱即用的Excel工具包现已发布!

文章目录 ExcelPatternTool功能特点:快速开始使用说明常规类型高级类型Importable注解Exportable注解IImportOption导入选项IExportOption导出选项单元格样式StyleMapping样式映射使用数据库作为数据源 示例Sample1:不同类型字段导出Sample2:…

Macos视频增强修复工具:Topaz Video AI for mac

Topaz Video AI是一款使用人工智能技术对视频进行增强和修复的软件。它可以自动降噪、去除锐化、减少压缩失真、提高清晰度等等。Topaz Video AI可以处理各种类型的视频,包括低分辨率视频、老旧影片、手机录制的视频等等。 使用Topaz Video AI非常简单,…

【Linux】部署单机OA项目及搭建spa前后端分离项目

目录 部署OA项目 ​编辑 搭建spa前后端分离项目 后端 前端 配置坏境变量 部署OA项目 在虚拟机中,将项目打包成war文件放置到tomcat根目录下的webapps文件目录下 再在主机数据库中连接数据库,并定义数据库名导入相关的表 继续进入tomcat目录下双击点…

【REDIS】redis-命令大全

【REDIS】redis-命令大全 redis-命令的官方文档 键命令 序号命令及描述1DEL key 该命令用于在 key 存在时删除 key。2DUMP key 序列化给定 key ,并返回被序列化的值。3EXISTS key 检查给定 key 是否存在。4EXPIRE key seconds 为给定 key 设置过期时间&#xf…

升级 Xcode 15模拟器 iOS 17.0 Simulator(21A328) 下载失败

升级 IDE Xcode 15 后本地模拟器 Simulator 全被清空,反复重新尝试 Get 下载频频因网络异常断开而导致失败 ... 注:通过 Get 方式下载一定要保证当前网络环境足够平稳,网络环境不好的情况下该方法几乎成不了 解决办法 Get 方式行不通可以尝试通过 官网 途径先下载 模拟器安装包…

p5.js 到底怎么设置背景图?

本文简介 点赞 关注 收藏 学会了 在 《p5.js 光速入门》 里我们学过加载图片元素,学过过背景色的用法,但当时没提到背景图要怎么使用。 本文就把背景图这部分内容补充完整,并且会提到在 p5.js 里使用背景图的一些注意点。 背景图的用法…

JDK JVM JRE和Java API的关系

Java SE 英文全称是Java Standared Edition,它是Java的标准版。 Java SE由四部分组成:JDK JVM JRE和Java语言。 1.JDK Java Development Kit Java开发工具包。包含了所有编译,运行Java程序所需要的工具,还包含了Java运行环境&a…

npm改变npm缓存路径和改变环境变量

在安装nodejs时,系统会自动安装在系统盘C, 时间久了经常会遇到C盘爆满,有时候出现红色,此时才发现很多时候是因为npm 缓存保存在C盘导致的,下面就介绍下如何改变npm缓存路径。 1、首先找到安装nodejs的路径&#xff0c…

Linux MMC子系统 - 2.eMMC 5.1总线协议浅析

By: Ailson Jack Date: 2023.10.27 个人博客:http://www.only2fire.com/ 本文在我博客的地址是:http://www.only2fire.com/archives/161.html,排版更好,便于学习,也可以去我博客逛逛,兴许有你想要的内容呢。…

C++项目——云备份-⑥-服务端热点管理模块的设计与实现

文章目录 专栏导读1.热点管理类设计2.热点管理类的实现与整理 专栏导读 🌸作者简介:花想云 ,在读本科生一枚,C/C领域新星创作者,新星计划导师,阿里云专家博主,CSDN内容合伙人…致力于 C/C、Linu…

如何系列 如何玩转远程调用之OpenFegin+SpringBoot(非Cloud)

文章目录 简介原生Fegin示例基础契约日志重试编码器/解码器自定义解码器 请求拦截器响应拦截器表单文件上传支持错误解码器断路器指标metrics客户端 配合SpringBoot(阶段一)配合SpringBoot(阶段二)1.EnableLakerFeignClients2.Lak…

vscode不显示横滚动条处理

最近发现vscode打开本地文件不显示水平的滚动条,但是打开一个临时文件是有水平滚动条的。 解决方案 可以一个个试 vscode配置 左下角设置–设置–搜索Scrollbar: Horizontal auto 自动visible 一直展示hidden 一直隐藏 拖动底部状态栏 发现是有的,但是…