LVS负载均衡集群企业级应用实战-LVS/NAT模式(三)
目录
LVS/NAT模式
一. 环境准备
二. 对虚拟服务器操作
三. 对真实服务器操作
四. 打开网站验证
LVS/NAT模式

一. 环境准备
统一关闭防火墙和selinux,时间同步,配置好YUM源系统发行版选择会用就可以,这里也是两种一起使用学习。用的不同系统没影响,原理一样,都用centos7也可以。
| 主机名 | 主机IP | 模拟服务器 | 系统 | 用途 |
| localhost | VIP:10.36.178.156 DIP:192.168.226.137 | 虚拟服务器 | Rocky_linux | 负载均衡机分发IP |
| localhost | 192.168.226.99 | 真实服务器 | Centos7 | 后端服务 |
| localhost | 192.168.226.10 | 真实服务器 | Rocky_linux | 后端服务 |
| localhost | 10.36.178.56 | 客户端 | windows10 | 当成客户访问 |
二. 对虚拟服务器操作
注意:这里是对虚拟服务器,对应好别操作错主机
在设置中添加一块网卡,一个使用桥接模式,一个使用NAT模式,然后打开虚拟机。

查看ip,有两个不同网段IP就成功了。
[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 00:0c:29:d9:a7:1d brd ff:ff:ff:ff:ff:ffaltname enp2s1inet 10.36.178.156/24 brd 10.36.178.255 scope global dynamic noprefixroute ens33valid_lft 347sec preferred_lft 347secinet6 fe80::27d2:b5dd:fed:2361/64 scope link noprefixroute valid_lft forever preferred_lft forever
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 00:0c:29:d9:a7:27 brd ff:ff:ff:ff:ff:ffaltname enp2s5inet 192.168.226.137/24 brd 192.168.226.255 scope global dynamic noprefixroute ens37valid_lft 929sec preferred_lft 929secinet6 fe80::553c:db7a:2d1b:33c/64 scope link noprefixroute valid_lft forever preferred_lft forever
下载ipvsadm
yum install -y ipvsadm
添加虚拟服务器和真实服务器,并设置一台权重为3,一台为1,权重设置无分别,然后保存规则
ipvsadm -A -t 10.36.178.156:80 -s wrr
ipvsadm -a -t 10.36.178.156:80 -r 192.168.226.10:80 -m -w 3
ipvsadm -a -t 10.36.178.156:80 -r 192.168.226.99:80 -m -w 1
ipvsadm-save > /etc/sysconfig/ipvsadm
启动服务并设置开机自启
systemctl enable --now ipvsadm
三. 对真实服务器操作
对192.168.226.10和192.168.226.99都操作
下载nginx
yum install -y nginx
修改内容和配置
vim /etc/nginx/nginxconf +27#这个参数设置为keepalive_timeout 0; 把参数改成0即可
修改默认打开的网站用来识别来自哪个服务器对192.168.226.10执行
echo "web-server111111" > /usr/share/nginx/html/index.html对192.168.226.99执行
echo "web-server222222" > /usr/share/nginx/html/index.html
开启服务并设置开机自启
systemctl start nginx
systemctl enable nginx
配置默认路由,这个IP就是虚拟主机中另一个nat模式的IP,这个IP要和真实服务器在同一个网段,这样才可以通信。
ip route add default via 192.168.226.137
开启路由转发
vim /etc/sysctl.conf#加入如下内容
net.ipv4.ip_forward = 1
确保打开路由转发,加载sysctl.conf配置
sysctl -p
查看路由表,发现下面有刚添加的信息就表示成功了。
[root@localhost ~]# ip r
default via 192.168.226.137 dev ens33
default via 192.168.226.2 dev ens33 proto static metric 100
192.168.226.0/24 dev ens33 proto kernel scope link src 192.168.226.10 metric 100
使用ip r命令查看到如上有一192.168.226.137的信息。
四. 打开网站验证
打开IP应该用虚拟服务器IP ,用10.36.178.156 多次刷新网页访问。使用命令查看信息
#在10.36.178.156的虚拟服务器上执行查看
ipvsadm -L -n --stats
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Conns InPkts OutPkts InBytes OutBytes-> RemoteAddress:Port
TCP 10.36.178.156:80 4 77 49 18529 7538-> 192.168.226.10:80 3 59 37 14582 5367-> 192.168.226.99:80 1 18 12 3947 2171
因为前面我们添加虚拟服务器是,给虚拟服务器IP执行的是wrr加权轮询,然后给192.168.226.10设置的权重为3,192.168.226.99设置的权重为1,然后都配置了nginx连接的超时时间,因此当多次访问,对这两台真实服务器的流量权重分配会大约在3:1的比例。推荐使用浏览器的无痕模式打开。



相关文章:
LVS负载均衡集群企业级应用实战-LVS/NAT模式(三)
目录 LVS/NAT模式 一. 环境准备 二. 对虚拟服务器操作 三. 对真实服务器操作 四. 打开网站验证 LVS/NAT模式 一. 环境准备 统一关闭防火墙和selinux,时间同步,配置好YUM源系统发行版选择会用就可以,这里也是两种一起使用学习。用的不同系…...
在Spring中如何手动开启事务(使用编程式事务)
这里写自定义目录标题 一、使用 transactionManager1、向容器中注入事务管理器2、使用 transactionManager 提交事务3、测试 二、使用TransactionTemplate1、向容器中注入 TransactionTemplate2、开启事务 一、使用 transactionManager 1、向容器中注入事务管理器 Configurat…...
cv的优势
计算机视觉(CV)技术是一种通过计算机对图像、视频等视觉数据进行分析和理解的技术。它在多个领域有着广泛的应用,包括图像识别、目标检测、人脸识别、无人驾驶等。下面是一些计算机视觉技术的优势和挑战的例子: 优势:…...
基于某评论的TF-IDF下的LDA主题模型分析
完整代码: import numpy as np import re import pandas as pd import jieba from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.decomposition import LatentDirichletAllocationdf1 pd.read_csv(小红书评论.csv) # 读取同目录下csv文件…...
四、Nginx配置文件-负载均衡
目录 一、负载均衡的作用 二、负载均衡状态 三、负载均衡的指令 1、upstream 指令 2、server指令 四、负载均衡几种方式 1、轮询(Round Robin 常用) 2、IP Hash (较少) 3、最少连接数(Least Connections 较少&…...
ofd文件预览
文件列表 <template><div><div classfile v-if$myUtils.coll.isNotEmpty(filesList)><div classfile-view><div classfile-view-item :style{justifyContent: align } v-for(item, index) in filesList :keyindex><img classfile-view-item-…...
浅浅了解下Spring中生命周期函数(Spring6全攻略)
你好,这里是codetrend专栏“Spring6全攻略”。 Spring框架设计生命周期回调函数的主要目的是为了提供一种机制,使开发人员能够在对象创建、初始化和销毁等生命周期阶段执行特定的操作。这种机制可以帮助开发人员编写更加灵活和可维护的代码。 举个例子…...
建议收藏!亚马逊卖家必须知道的37个常用术语解释
运营亚马逊,经常会看到很多个专业术语,想必大部分新手卖家都比较陌生,熟悉这些常用术语的含义有助于你更好地运营亚马逊。下面为各位整理了37个在亚马逊跨境电商中常见的术语及其解释,建议收藏! 1、SKU Stock Keeping…...
黑苹果睡眠总是自动唤醒(RTC)
黑苹果睡眠总是自动唤醒【RTC】 1. 问题2. 解决方案2.1. 查看重启日志2.2. 配置Disable RTC wake scheduling补丁 3. 后续4. 参考 1. 问题 黑苹果EFI 更换后,总是在手动 睡眠后,间歇性重启,然后再次睡眠,然后再重启。原因归结为&…...
【代码随想录训练营】【Day 49+】【动态规划-8】| Leetcode 121, 122, 123
【代码随想录训练营】【Day 49】【动态规划-8】| Leetcode 121, 122, 123 需强化知识点 买卖股票系列 题目 121. 买卖股票的最佳时机 动态规划贪心:记录左侧的最小值 class Solution:def maxProfit(self, prices: List[int]) -> int:# n len(prices)# # 0…...
k8s metrics-server服务监控pod 的 cpu、内存
项目场景: 需要开启指标服务,依据pod 的 cpu、内存使用率进行自动的扩容或缩容 pod 的数量 解决方案: 下载 metrics-server 组件配置文件: wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/…...
电脑自带录屏在哪?电脑录屏,4个详细方法
在现代社会中,越来越多的人需要在电脑上录制视频,比如录制游戏操作、制作教学视频、演示文稿等等。因此,电脑录屏成为了一项非常重要的功能。那么电脑自带录屏在哪?本文将带领大家看看可以使用哪些方法进行录屏。 录屏方法一&…...
[Cloud Networking] Layer3 (Continue)
文章目录 1. DHCP Protocol1.1 DHCP 三种分配方式1.2 DHCP Relay (中继) 2. 路由协议 (Routing Protocol)2.1 RIP (Routing Information Protocol)2.2 OSPF Protocol2.2.1 OSPF Area2.2.2 Route ID / DR / BDR2.2.3 LSA / OSPF 邻居表 / LSDB / OSPF路由表 2.3 BGP Protocol2.4…...
missing authentication credentials for REST request
1、报错截图 2、解决办法 将elasticsearch的elasticsearch.yml的 xpack.security.enabled: true 改为 xpack.security.enabled: false...
Unity 从0开始编写一个技能编辑器_02_Buff系统的生命周期
工作也有一年了,对技能编辑器也有了一些自己的看法,从刚接触时的惊讶,到大量工作时觉得有一些设计的冗余,在到特殊需求的修改,运行效率低时的优化,技能编辑器在我眼中已经不再是神圣不可攀的存在的…...
计算机网络简答题
第一章 计算机网络 1.因特网是一个世界范围的计算机网络,记一个互联了遍及全世界的计算机设备的网络。 2.计算机网络将众多分散的、自治的(一台坏了不影响其他)计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。 3.计算机网络的组…...
探索Java 8 Stream API:现代数据处理的新纪元
Stream流 Stream初探:何方神圣? Stream流是一种处理集合数据的高效工具,它可以让你以声明性的方式处理数据集合。Stream不是存储数据的数据结构,而是对数据源(如集合、数组)的运算操作概念,支…...
vim 删除光标到最后一行的所有内容
在 Vim 中删除从光标所在位置到文件末尾的所有内容 删除从光标所在位置到文件末尾的所有内容使用 dG 命令 参考 删除从光标所在位置到文件末尾的所有内容 使用 dG 命令 确保你在正常模式下(按 Esc 键)。移动光标到你想要开始删除的位置。输入以下命令&…...
k8s之kubelet证书时间过期升级
1.查看当前证书时间 # kubeadm alpha certs renew kubelet Kubeadm experimental sub-commands kubeadm是一个用于引导Kubernetes集群的工具,它提供了许多命令和子命令来管理集群的一生周期。过去,某些功能被标记为实验性的,并通过kubeadm a…...
5G消息 x 文旅 | 一站式智慧文旅解决方案
5G消息 x 文旅 | 一站式智慧文旅解决方案 文旅 x 5G 消息将进一步强化资源整合,满足游客服务需求、企业营销需求、政府管理需求,推进文化旅游项目的智慧化、数字化,增强传播力、竞争力和可持续性。5G 消息的“原生入口”、“超强呈现”、“智…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
如何将联系人从 iPhone 转移到 Android
从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...
安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...
LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...
NPOI Excel用OLE对象的形式插入文件附件以及插入图片
static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...
