LVS集群-NAT模式
集群的概念:
集群:nginx四层和七层+动静分离
集群标准意义上的概念:为解决特定问题将多个计算机组合起来形成一个单系统
集群的目的就是为了解决系统的性能瓶颈。
垂直扩展:向上扩展,增加单个机器的性能,升级硬件,硬件升级是有瓶颈的
水平扩展:向外扩展,增加设备,并行的运行多个服务,通过网络和算法来调度服务分配的问题
集群的类型:
- 负载均衡集群:LB load blance 多个主机组成,每个主机只承担一部分的访问请求,靠负载均衡算来来实现
- 高可用集群: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)
停机时间:
计划内停机:指的是预定时间内的维护和检修时间
计划外停机:运维人员主要关注的就是计划外
发版期:
设计集群时需要考虑的一些原则:
- 可扩展性:集群要有随时可以添加或者删除设备的能力。 动态的扩缩容
- 可靠性:集群当中如果有节点发生故障,可以快速检测并且自动切换
- 负载均衡:合理分配每台服务器的负载,避免单个节点过载,影响整体性能
- 可维护性:要能够方便的进行配置部署,维护,监控,降低成本。
- 安全性:防止恶意攻击,以及数据泄露,数据丢失
- 易用性:相关的工作人员可以放便的进入集群,能够快速的开发,部署,测试等等
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访问的大致流程:

- 客户端访问都是访问vip
- DS接受到请求,根据调度算法选择好后端服务器(RS)
请发送给rs
- RS处理请求并将响应发送到DS
- DS把RS的响应包装成自己响应,发送到客户端
客户端既不知道请求的真实服务器,也不知道响应的服务器是谁
Lvs的负载均衡方式:
NAT DR TUN
其中NAT和DR是最常用的两中方式
NAT模式:
NAT模式是最常用的负载方式之一
NAT的作用就是地址转换

Nat模式工作的核心原理:
- 在调度器上配置网卡,一个指内,一个指外
- 配置一个可以和公网进行通信的vip
- 配置转发策略,如果访问vip,就会把请求的数据包转发到后台的RS
请求的格式:报文。调度器会修改请求的目标IP地址和端口
- 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服务机的网卡


重新添加节点服务器

相关文章:
LVS集群-NAT模式
集群的概念: 集群:nginx四层和七层动静分离 集群标准意义上的概念:为解决特定问题将多个计算机组合起来形成一个单系统 集群的目的就是为了解决系统的性能瓶颈。 垂直扩展:向上扩展,增加单个机器的性能,…...
微服务技术导学
文章目录 微服务结构认识微服务技术栈 微服务结构 技术: 解决异常定位: 持续集成,解决自动化的部署: 总结如下: 认识微服务 微服务演变: 技术栈 SpringCloud与SpringBoot版本对应关系...
p5.js 开发点彩画派的绘画工具
本文简介 点赞 关注 收藏 学会了 这几天在整理书柜时看到这套书,看到梵高,想起他的点彩画。 想到点彩画派,不得不提的一个画家叫乔治皮埃尔秀拉。据说梵高也模仿过他的画作。 我引用一下维基百科对点彩画派的解析: 点彩画派&…...
Java工具库——Commons IO的50个常用方法
工具库介绍 Commons IO(Apache Commons IO)是一个广泛用于 Java 开发的开源工具库,由Apache软件基金会维护和支持。这个库旨在简化文件和流操作,提供了各种实用工具类和方法,以便更轻松地进行输入输出操作。以下是 Com…...
Git: 仓库clone和用户配置
git clone 两种方式clone远程仓库到本地。 通过ssh 命令格式: git clone gitxxxxxx.git使用这种方法需要提前创建ssh秘钥。 首先打开一个git控制台,输入命令 ssh-keygen -t ed25519 -C “xxxxxxxxxx.com”输入命令后需要点击四次回车,其…...
构建外卖小程序:技术要点和实际代码
1. 前端开发 前端开发涉及用户界面设计和用户交互。HTML、CSS 和 JavaScript 是构建外卖小程序界面的主要技术。 <!-- HTML 结构示例 --> <header><h1>外卖小程序</h1><!-- 其他导航元素 --> </header> <main><!-- 菜单显示 -…...
ubuntu安装配置svn
目录 简介安装SVN 启动模式方式1:单库svnserve方式方式2:多库svnserve方式 SVN 创建版本库1.svn 服务配置文件 svnserve.conf2.用户名口令文件 passwd3.权限配置文件4.多库方式运行 SVN 检出操作SVN 解决冲突SVN 提交操作SVN 版本回退SVN 查看历史信息1.svn log2.svn diff3.svn…...
『Jmeter入门万字长文』 | 从环境搭建、脚本设计、执行步骤到生成监控报告完整过程
『Jmeter入门万字长文』 | 从环境搭建、脚本设计、执行步骤到生成监控报告完整过程 1 Jmeter安装1.1 下载安装1.2 Jmeter汉化1.2.1 临时修改1.2.2 永久修改 1.3 验证环境 2 测试对象2.1 测试对象说明2.2 测试对象安装2.2.1 下载安装2.2.2 启动测试对象服务2.2.3 访问测试对象2.…...
Unity C#中LuaTable、LuaArrayTable、LuaDictTable中数据的增删改查
LuaTable、LuaArrayTable、LuaDictTable中数据的增删改查 介绍Lua表lua表初始化lua移除引用lua中向表中添加数据lua中表中移除数据lua表中连接数据lua表中数据排序获取lua表长度获取表中最大值 UnityC#中LuaTableUnityC#中LuaArrayTable、LuaDictTable、LuaDictTable<K,V>…...
Spring常见面试题
https://blog.csdn.net/a745233700/article/details/80959716?ops_request_misc%257B%2522request%255Fid%2522%253A%2522169847982516800213061720%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id169847982516800213061720&biz_id0&…...
通过Vue自带服务器实现Ajax请求跨域(vue-cli)
通过Vue自带服务器实现Ajax请求跨域(vue-cli) 跨域 原理:从A页面访问到B页面,并且要获取到B页面上的数据,而两个页面所在的端口、协议和域名中哪怕有一个不对等,那么这种行为就叫跨域。注意:类…...
Vue2-计算属性的用法
题记 vue2计算属性的用法 反转字符串 <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>实例</title> <script src"https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script> </hea…...
SM3加密udf
SM3加密udf maven xml <dependencies> <!-- 配置日志 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.5</version> </dep…...
ce从初阶到大牛(两台主机免密登录)
一、配置ssh远程连接 实现两台linux主机之间通过公钥验证能够互相实现免密登陆 1.确认服务程序是否安装 rpm -qa | grep ssh 2.是否启动 ps -aux | grep ssh 3.生成非对称公钥 ssh-keygen -t rsa 4.公钥发送到客户端 cd /root/.ssh/ ssh-copy-id root192.168.170.134 因为…...
CS224W2.3——传统基于特征的方法(图层级特征)
前两篇中我们讨论了节点层级的特征表示、边层级的特征表示: CS224W2.1——传统基于特征的方法(节点层级特征)CS224W2.2——传统基于特征的方法(边层级特征) 在这篇中,我们将重点从整个图中提取特征。换句话说,我们想要描述整个图结构的特征…...
【CSS】包含块
CSS规范中的包含块 包含块的内容: 元素的尺寸和位置,会受它的包含块所影响。 对于一些属性,例如 width, height, padding, margin,绝对定位元素的偏移值(比如 position 被设置为 absolute 或 fixed)&…...
[SpringCloud] Nacos 简介
目录 一、Nacos,启动! 1、安装 Nacos 2、运行 Nacos 3、Nacos 服务注册 二、Nacos 服务多级存储模型 1、服务跨集群分配 2、NacosRule 负载均衡(优先本地) 3、服务实例的权重设置 4、环境隔离 三、Nacos 注册中心细节分…...
TypeScript - 字符串的字面类型
啥是字面量类型 字面量类型,是限制了一个字符串变量的取值范围只能某几个固定字符串中的一个。 我感觉 与枚举类型有异曲同工之妙。 字符串字面量类型有啥用 没啥用。 就是来限制字符串变量不能随便赋值的。 定义一个我看看 让你读书,但是只有四本书可以…...
CRM客户管理系统源码 带移动端APP+H5+小程序
CRM客户管理系统源码 带移动端APPH5小程序 开发环境: thinkphp mysql 功能介绍: 1、 办公管理:审批管理、工作报告、日程管理、办公审批、公告管理 2、 客户管理:我的客户、客户列表、成交客户、行业类别、预查、地区列表、客户状态、客…...
Mac版好用的Git客户端 Fork 免激活
Fork是一款强大的Git客户端软件,在Mac和Windows操作系统上都可以使用。汇集了众多先进的功能和工具,可以帮助用户更方便地管理和控制Git仓库。 Fork的界面简洁直观,易于使用。它提供了许多高级的Git功能,如分支管理、合并、提交、…...
美国RTP全系列抗静电塑料产品服务介绍
宏裕塑胶代理美国RTP全系列材料,专注于为制造业企业提供高性价比、稳定可控的工程塑料原料供应及全流程技术支持,凭借源头直采优势与专业服务能力,成为塑胶制品厂、汽车零部件厂及精密电子企业的可靠合作伙伴。宏裕塑胶代理美国RTP全系列材料…...
思源宋体TTF:解决中文Web排版痛点的专业方案
思源宋体TTF:解决中文Web排版痛点的专业方案 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 当我们构建现代中文网站时,字体选择往往成为最棘手的挑战之一。商业…...
DeepSeek总结的clickhousectl v0.2.0: Postgres, ClickPipes 等更多功能
来源:https://clickhouse.com/blog/clickhousectl-v0-2-0-postgres-clickpipes-more clickhousectl v0.2.0: Postgres, ClickPipes 等更多功能 作者: Al Brown 日期: 2026年5月20日 阅读时间: 7分钟 我们发布了 clickhousectl v0.2.0。此版本增加了对 Postgres&…...
今天不用就过期:Gemini深度研究模式2024Q3权限变更预警——3类高价值功能即将对免费用户关闭
更多请点击: https://intelliparadigm.com 第一章:Gemini深度研究模式的核心价值与权限变更全景 Gemini深度研究模式(Deep Research Mode)是Google面向专业研究者与开发者推出的增强型推理能力范式,其核心价值在于将多…...
3步构建物联网数字孪生:Eclipse Ditto实战指南
3步构建物联网数字孪生:Eclipse Ditto实战指南 【免费下载链接】ditto Eclipse Ditto™: Digital Twin framework of Eclipse IoT - main repository 项目地址: https://gitcode.com/gh_mirrors/ditto6/ditto 在物联网(IoT)时代,如何高效管理成千…...
林志玲退文策院聘书,台湾大骂“中国玲”
林志玲到底咋了?这几天林志玲拒绝文策院董事的消息,在网上炸开了锅。可谁能想到,这个“拒绝”本身,反倒把她架在火上烤了一遍。先看岛内那边。一听说这事,一些极端网友直接炸毛,翻出她以前为祖国做的事儿&a…...
飞算JavaAI:Java专属AI助手,是“工程提效”还是“新坑”?
先说结论 飞算JavaAI最大的价值是“完整工程生成”,而不是片段补全,适合从零搭建CRUD项目 自定义开发规范功能很实用,但需要投入前期规则编写成本 SQL Chat等附加功能对日常运维有帮助,但智能引导对复杂业务场景可能不够灵活 作…...
ODM终极指南:5步快速上手免费开源无人机影像处理,生成专业三维模型与正射影像
ODM终极指南:5步快速上手免费开源无人机影像处理,生成专业三维模型与正射影像 【免费下载链接】ODM A command line toolkit to generate maps, point clouds, 3D models and DEMs from drone, balloon or kite images. 📷 项目地址: https…...
AutoCut终极教程:如何用文本编辑器3分钟剪出专业视频
AutoCut终极教程:如何用文本编辑器3分钟剪出专业视频 【免费下载链接】autocut 用文本编辑器剪视频 项目地址: https://gitcode.com/GitHub_Trending/au/autocut 还在为视频剪辑软件复杂的界面而头疼吗?AutoCut让你告别繁琐的视频编辑,…...
管理企业多项目API Key与访问权限的最佳实践
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 管理企业多项目API Key与访问权限的最佳实践 在企业或团队中引入大模型能力时,一个常见的挑战是如何安全、高效地管理多…...
