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

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会明显增多

相关文章:

LVS集群及其它的NAT模式

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

【RNN练习】天气预测

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 一、环境及数据准备 1. 我的环境 语言环境:Python3.11.9编译器:Jupyter notebook深度学习框架:TensorFlow 2.15.0 2. 导…...

prompt第四讲-fewshot

文章目录 前提回顾FewShotPromptTemplateforamt格式化 前提回顾 前面已经实现了一个翻译助手了[prompt第三讲-PromptTemplate],prompt模板设计中,有说明、案例、和实际的问题 # -*- coding: utf-8 -*- """ Time : 2024/7/8 …...

StarRocks分布式元数据源码解析

1. 支持元数据表 https://github.com/StarRocks/starrocks/pull/44276/files 核心类:LogicalIcebergMetadataTable,Iceberg元数据表,将元数据的各个字段做成表的列,后期可以通过sql操作从元数据获取字段,这个表的组成…...

阅读笔记——《Fuzz4All: Universal Fuzzing with Large Language Models》

【参考文献】Xia C S, Paltenghi M, Le Tian J, et al. Fuzz4all: Universal fuzzing with large language models[C]//Proceedings of the IEEE/ACM 46th International Conference on Software Engineering. 2024: 1-13.【注】本文仅为作者个人学习笔记,如有冒犯&…...

【C++】使用gtest做单元测试框架写单元测试

本文主要介绍在将gtest框架引入到项目里过程中遇到的问题。 我的需求如下: 用CMake构建项目。我要写一些测试程序验证某些功能,但是不想每一个测试都新建一个main函数。 因为新建一个main函数就要在CMakeList.txt里增加一个project,非常不方便。 于是我搜了下,C++里有没…...

Java类与对象

类是对现实世界中实体的抽象,是对一类事物的描述。 类的属性位置在类的内部、方法的外部。 类的属性描述一个类的一些可描述的特性,比如人的姓名、年龄、性别等。 [public] [abstract|final] class 类名 [extends父类] [implements接口列表] { 属性声…...

xlwings 链接到 指定sheet 从别的 excel 复制 sheet 到指定 sheet

重点 可以参考 宏录制 cell sheet.range(G4)cell.api.Hyperlinks.Add(Anchorcell.api, Address"", SubAddress"001-000-02301!A1")def deal_excel(self):with xw.App(visibleTrue) as app:wb app.books.open(self.summary_path, update_linksFalse)sheet…...

风光摄影:相机设置和镜头选择

写在前面 博文内容为《斯科特凯尔比的风光摄影手册》读书笔记整理涉及在风景拍摄中一些相机设置,镜头选择的建议对小白来讲很实用,避免拍摄一些过曝或者过暗的风景照片理解不足小伙伴帮忙指正 😃,生活加油 99%的焦虑都来自于虚度时间和没有好…...

python制作甘特图的基本知识(附Demo)

目录 前言1. matplotlib2. plotly 前言 甘特图是一种常见的项目管理工具,用于表示项目任务的时间进度 直观地看到项目的各个任务在时间上的分布和进度 常用的绘制甘特图的工具是 matplotlib 和 plotly 主要以Demo的形式展示 1. matplotlib 功能强大的绘图库&a…...

javascript设计模式总结

参考 通过设计模式可以增加代码的可重用性、可扩展性、可维护性 设计模式五大设计原则 单一职责:一个程序只需要做好一件事,如果结构过于复杂就拆分开,保证每个部分独立 开放封闭原则:对扩展开放,对修改封闭。增加需…...

gpt-4o看图说话-根据图片回答问题

问题:中国的人口老龄化究竟有多严重? 代码下实现如下:(直接调用openai的chat接口) import os import base64 import requests def encode_image(image_path): """ 对图片文件进行 Base64 编码 输入…...

【MySQL】7.MySQL 的内置函数

MySQL的内置函数 一.日期函数二.字符串函数三.数学函数四.其它函数 一.日期函数 函数名称说明current_date()当前日期current_time()当前时间current_timestamp当前时间戳(日期时间)date(datetime)截取 datetime 的日期部分date_add(date, interval d_value_type)给 date 添加…...

爬虫:Sentry-Span参数逆向

在抓某眼查数据太过频繁时会出现极验的验证码。极验的教程有很多,主要是发现在这里获取验证码的时候需要携带参数Sentry-Span。在这里记录一下逆向的主要过程,直接上补环境的代码。 window global; location {}; my_log console.log;(function () {l…...

音视频入门基础:H.264专题(12)——FFmpeg源码中通过SPS属性计算视频分辨率的实现

一、引言 在上一节《音视频入门基础:H.264专题(11)——计算视频分辨率的公式》中,讲述了通过SPS中的属性计算H.264编码的视频的分辨率的公式。本文讲解FFmpeg源码中计算视频分辨率的实现。 二、FFmpeg源码中计算视频分辨率的实现…...

基于颜色模型和边缘检测的火焰识别FPGA实现,包含testbench和matlab验证程序

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 将FPGA仿真结果导入到matlab显示结果: 测试样本1 测试样本2 测试样本3 2.算法运行软件版本 vivado2019.2 …...

golang json反序列化科学计数法的坑

问题背景 func CheckSign(c *gin.Context, signKey string, singExpire int) (string, error) {r : c.Requestvar formParams map[string]interface{}if c.Request.Body ! nil {bodyBytes, _ : io.ReadAll(c.Request.Body)defer c.Request.Body.Close()if len(bodyBytes) >…...

罗技K380无线键盘及鼠标:智慧互联,一触即通

目录 1. 背景2. K380无线键盘连接电脑2.1 键盘准备工作2.2 电脑配置键盘的连接 3. 无线鼠标的连接3.1 鼠标准备工作3.2 电脑配置鼠标的连接 1. 背景 有一阵子经常使用 ipad,但是对于我这个习惯于键盘打字的人来说,慢慢在 ipad 上打字,实在是…...

卸载wps office的几种方法收录

​ 第一种方法: 1.打开【任务管理器】,找到相关程序,点击【结束任务】。任务管理器可以通过左下角搜索找到。 2.点击【开始】-【设置】-【应用】-下拉找到WPS应用,右键卸载,不保留软件配置 …...

SpringCloud第一篇Docker基础

文章目录 一、常见命令二、数据卷三、数据挂载四、自定义镜像五、网络 一、常见命令 Docker最常见的命令就是操作镜像、容器的命令,详见官方文档: https://docs.docker.com/ 需求: 在DockerHub中搜索Nginx镜像,查看镜像的名称 …...

Ollama安装路径优化:从C盘迁移到D盘的完整指南

1. 为什么需要迁移Ollama到D盘? 很多AI开发者在Windows系统上初次安装Ollama时,都会遇到一个头疼的问题——默认安装路径在C盘。随着模型文件的不断下载和项目积累,C盘空间很快就会被占满。我自己就经历过C盘爆红的尴尬,系统卡顿不…...

Python网页自动化工具DrissionPage:高效融合浏览器操作与网络请求处理指南

Python网页自动化工具DrissionPage:高效融合浏览器操作与网络请求处理指南 【免费下载链接】DrissionPage Python based web automation tool. Powerful and elegant. 项目地址: https://gitcode.com/gh_mirrors/dr/DrissionPage 一、项目价值:解…...

解锁旧Mac新生命:技术伙伴如何突破苹果限制

解锁旧Mac新生命:技术伙伴如何突破苹果限制 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 你是否曾想过,那些被苹果官方"抛弃"的老旧Ma…...

10.JVM-垃圾回收器

Serial 与 Serial Old核心特征:单线程、Stop The World (STW)。工作机制:它们在进行垃圾回收时,必须暂停所有其他的工作线程,直到它收集结束。Serial:新生代,采用标记-复制算法。Serial Old:老年…...

建筑工地AI监控避坑指南:YOLOv11+PyQt5开发中的7个常见错误

建筑工地AI监控避坑指南:YOLOv11PyQt5开发中的7个常见错误 在建筑工地安全监控领域,AI技术的应用正从概念验证走向规模化落地。YOLOv11作为目标检测领域的新锐算法,配合PyQt5的灵活界面开发能力,确实能构建出高效的安全预警系统。…...

Audacity终极指南:5步掌握免费专业音频编辑全流程

Audacity终极指南:5步掌握免费专业音频编辑全流程 【免费下载链接】audacity Audio Editor 项目地址: https://gitcode.com/GitHub_Trending/au/audacity 还在为音频编辑软件的高昂费用而犹豫?想要一款功能全面、完全免费的专业级音频处理工具&a…...

掌握Calibre电子书管理:从格式转换到高级编辑的完整指南

掌握Calibre电子书管理:从格式转换到高级编辑的完整指南 【免费下载链接】calibre The official source code repository for the calibre ebook manager 项目地址: https://gitcode.com/GitHub_Trending/ca/calibre Calibre是一款功能强大的开源电子书管理器…...

RMBG-2.0模型量化压缩:减小体积提升速度

RMBG-2.0模型量化压缩:减小体积提升速度 1. 引言 抠图工具RMBG-2.0确实效果惊艳,但原版模型动不动就几个GB的大小,在普通电脑上跑起来慢吞吞的,更别说在手机或边缘设备上部署了。如果你也遇到过模型太大、推理太慢的问题&#x…...

基于深度学习的CT肺部分割技术:在医学影像分析中实现95% Dice系数的精准自动化方案

基于深度学习的CT肺部分割技术:在医学影像分析中实现95% Dice系数的精准自动化方案 【免费下载链接】lungmask Automated lung segmentation in CT 项目地址: https://gitcode.com/gh_mirrors/lu/lungmask 在医学影像分析领域,CT肺部分割一直是临…...

Android开发工具链:Git、RxJava、Dagger2的实战应用

Android开发工具链:Git、RxJava、Dagger2的实战应用 【免费下载链接】android-interview-questions-cn 项目地址: https://gitcode.com/gh_mirrors/an/android-interview-questions-cn Android开发工具链是提升开发效率和代码质量的关键。本文将详细介绍Git…...