全网最详细的LVS实战详解

news2024/9/23 19:17:53

一、Lvs-nat实战部署

1、准备

设置好网卡信息

 

2、基础环境搭建详情

①调度器LVS:网卡ens160(NAT模式)、网卡ens224(仅主机模式),使其可处于不同的VLAN段


为网卡ens160设置IP

vmset.sh ens160 172.25.254.100 lvs.zf.org

为网卡ens224设置IP

 vmset.sh ens224 192.168.0.100 lvs.zf.org

 修改网卡ens224的配置文件

[root@lvs boot]# vim /etc/NetworkManager/system-connections/ens224.nmconnection 

 重新加载网络配置

nmcli connection reload
nmcli connection up ens224

打开内核路由功能 

 vim /etc/sysctl.conf

sysctl -p # 使修改内容生效

 

 ②webserver1(仅主机)

为网卡ens160设置IP

vmset.sh ens160 192.168.0.10 webserver1.zf.org

修改ens160的网关

③webserver2(仅主机)

为网卡ens160设置IP

 vmset.sh ens160 192.168.0.20 webserver2.zf.org

 修改ens160的网关

 保证畅通的环境

分别为webserver1和webserver2安装apache

dnf install httpd -y

将“webserver1 -192.168.0.10”这个内容输出并重定向到“/var/www/html/index.html”

将“webserver2 -192.168.0.20”这个内容输出并重定向到“/var/www/html/index.html”

 最终在LVS上检测

 3、LVS-NAT部署详情

dnf install ipvsadm -y

 做策略

ipvsadm -A -t 172.25.254.100:80 -s rr
# 添加一个 TCP 类型的虚拟服务,IP为172.25.254.100,端口为 80,使用轮询(Round Robin)调度算法
ipvsadm -Ln
查看规则-n 选项表示以数字形式显示 IP 地址和端口,而不是进行域名解析

    轮询调度的基本原理是按照固定的顺序依次为每个任务分配资源或处理时间片。

    例如,假设有任务 A、B、C,调度器会先为 A 分配一个时间片进行处理,然后轮到 B,接着是 C,之后再回到 A,如此循环。

    轮询调度的优点在于其实现简单,公平性较好,每个任务都有机会获得资源。它适用于多个任务的处理需求相对平均,且对响应时间要求不是特别严格的场景。 比如说,在一个计算机系统中,多个进程需要使用 CPU 资源,如果采用轮询调度,每个进程都能在一定的时间间隔内得到 CPU 的处理时间,避免某些进程长时间得不到资源而导致饥饿。

ipvsadm  -a -t 172.25.254.100:80 -r  192.168.0.10:80 -m 
ipvsadm  -a -t 172.25.254.100:80 -r  192.168.0.20:80 -m
#添加真实服务器(Real Server)
其中 -m 表示 NAT 模式,-g 表示 DR 模式,-i 表示 TUN 模式

 循环10次看效果

最后,保存策略记录: ipvsadm-save  > /etc/sysconfig/ipvsadm

二、ipvsadm命令的使用

1、添加一个新的虚拟服务:ipvsadm -A -t <VIP>:<Port> -s <调度算法>

ipvsadm -A -t 192.168.1.100:80 -s rr
#表示添加一个虚拟服务,IP 为 192.168.1.100,端口为 80,使用轮询(Round Robin)调度算法。 

2、 添加真实服务器:ipvsadm -a -t <VIP>:<Port> -r <RIP>:<Port> -m

ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.1:80 -m 
#表示为上述虚拟服务添加一个真实服务器,IP 为 192.168.1.1,端口为 80,使用 NAT 模式。

3、查看规则: ipvsadm -L -n 以数字形式显示当前的 IPVS 规则

4、删除虚拟服务: ipvsadm -D -t <VIP>:<Port>

5、删除真实服务器: ipvsadm -d -t <VIP>:<Port> -r <RIP>:<Port>

6、修改调度算法:ipvsadm -E -t <VIP>:<Port> -s <新的调度算法>

三、Lvs-dr实战部署

本项目基于以下配置要求进行:

1、基础环境搭建详情

①调度器LVS

在上个实验的基础上,删除网卡信息,重新添加IP信息

仅保留网卡ens224,为其添加IP信息

 修改网卡ens224的网关,并重新激活网卡

 再次确认网关信息

② router

设置双网卡模式

设置双网卡的ip地址,并编辑ens224的文件,删除网关

 打开内核路由功能

③client

 为ens160设置ip

修改ens160的网关信息

 2、LVS-DR部署详情

 在RS1和RS2中关闭VIP的响应

设定VIP的lo地址的IP

[root@lvs ~]# ip a a 192.168.0.200/32 dev lo
[root@webserver1 ~]# ip a a 192.168.0.200/32 dev lo
[root@webserver2 ~]# ip a a 192.168.0.200/32 dev lo

 

 

 在客户端测试VIP网络是否可达

 做策略

客户端访问测试

四、LVS火墙标记 

修改策略为轮询调度

[root@lvs ~]# ipvsadm -E -t 192.168.0.200:80 -s rr

 

在2个RS中安装mod_ssl模块,让RS支持https

[root@webserver1 ~]# yum install mod_ssl -y
[root@webserver1 ~]# systemctl restart httpd

[root@webserver2 ~]# yum install mod_ssl -y
[root@webserver2 ~]# systemctl restart httpd

 在网络状态相关的输出中搜索与 “httpd” 相关的信息

 忽略证书访问

 增加一套策略,模拟轮询调度冲突

 用防火墙标记解决该问题

在 mangle 表的 PREROUTING 链中添加一条规则,目标地址为 192.168.0.200 ,协议为 TCP ,多端口为 80 和 443 ,执行动作是 MASK 并设置标记为 66 。

 清除策略

 设定调度规则

 客户端访问测试

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在MAC安装Lazarus 起点 - 我们的第一个Lazarus程序!

安装Lazarus 首先到Lazarus官网&#xff0c;找到合适的版本下载页面&#xff0c;比如Mac的版本&#xff1a; https://sourceforge.net/projects/lazarus/files/Lazarus%20macOS%20x86-64/Lazarus%203.4/ 将三个文件都下载到本地&#xff0c;需要安装这三个文件&#xff1a; …

Python学习(1):使用Python的Dask库实现并行计算

目录 一、Dask介绍 二、使用说明 安装 三、测试 1、单个文件中实现功能 2、运行多个可执行文件 最近在写并行计算相关部分&#xff0c;用到了python的Dask库。 Dask官网&#xff1a;Dask | Scale the Python tools you love 一、Dask介绍 Dask是一个灵活的并行和分布式…

C语言 ——— 学习并使用字符分类函数

目录 学习isupper函数 学习isdigit函数 学习tolower函数 将输入的字符串中把大写字母转换为小写字母并输出 学习isupper函数 参数部分&#xff1a; 形参需要传递的是一个字母&#xff0c;字符在ASCII码表上是以整型存储的&#xff0c;所以实参部分用(int c)没有问题 返回…

HarmonyOS笔记3:从网络数据接口API获取数据

面向HarmonyOS的移动应用一般采用MVVM模式&#xff08;见参考文献【1】&#xff09;&#xff0c;其中&#xff1a; M&#xff08;Model层)&#xff1a;模型层&#xff0c;存储数据和相关逻辑的模型。它表示组件或其他相关业务逻辑之间传输的数据。Model是对原始数据的进一步处理…

享界S9别乱选,定价有大玄机!

文 | AUTO芯球 作者 | 雷慢 享界S9刚上市&#xff0c; 就有人傻钱多、工作忙的老大哥来问我&#xff0c; 两个版本怎么选&#xff1f; 这不巧了吗&#xff0c;论华为车系&#xff0c;我是资深用户&#xff0c; 常开问界M9&#xff0c;试过智界S7&#xff0c;问界M7&#x…

PUA自己到无法自拔,或许是你过度信奉【优绩主义】

本文算是人文社科心理篇的第二期&#xff0c;不时发一些【理性】的【鸡汤】&#xff0c;或许对你认识社会本质有所帮助~ 一.定义 顾名思义&#xff0c;从理科生的角度来说&#xff0c;【优绩主义】以优秀的成绩作为评判人生是否成功的极大型指标&#xff0c;在东亚的【休息羞…

性能优化之自定义指令实现图片懒加载

1&#xff09;图片懒加载 是常见的用于在页面滚动时动态加载图片&#xff0c;而不是在页面加载时一次性加载所有图片。性能优化必备提高页面加载速度的手段&#xff0c;特别是在包含大量图片的网站上。 图片懒加载的原理&#xff0c;其实就是&#xff0c;当图片出现在视口内时…

数据分析:宏基因组的荟萃分析之MMUPHin

禁止商业或二改转载&#xff0c;仅供自学使用&#xff0c;侵权必究&#xff0c;如需截取部分内容请后台联系作者! 介绍 批次效应是实验中由于样本处理和测序技术变异引起的非生物学差异&#xff0c;可能干扰研究结果。这种效应难以完全消除&#xff0c;但可通过方法如PCA、PC…

【Vue3】Pinia getters

【Vue3】Pinia getters 背景简介开发环境开发步骤及源码 背景 随着年龄的增长&#xff0c;很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来&#xff0c;技术出身的人总是很难放下一些执念&#xff0c;遂将这些知识整理成文&#xff0c;以纪念曾经努力学习奋斗的日子。本…

求职leetcode题目(6)

1.简化路径 解题思路: 根据题意&#xff0c;使用栈进行模拟即可。 具体的&#xff0c;从前往后处理 path&#xff0c;每次以 item 为单位进行处理&#xff08;有效的文件名&#xff09;&#xff0c;根据 item 为何值进行分情况讨论&#xff1a; item 为有效值 &#xff1a;存…

AQS框架

文章目录 概要AQS概述公平锁与非公平锁原理可重入 概要 假设现在需要写一个SDK层面的锁&#xff0c;应该如何实现呢&#xff1f; 初步的思路如下&#xff1a; 搞一个状态标记&#xff0c;用来表示持有或未持有锁&#xff0c;但得是 volatile 类型的保证线程可见性。编写一个 …

揭秘公司高效查快递的秘密武器

在快节奏的现代商务环境中&#xff0c;物流管理的效率直接关系到企业的运营成本和客户满意度。对于拥有大量快递业务往来的公司而言&#xff0c;如何快速、准确地追踪每一个包裹的物流信息&#xff0c;成为了一项至关重要的任务。今天&#xff0c;我们将揭秘一款公司高效查快递…

智慧农场数字港系统设计与实现

1 项目介绍 1.1 摘要 农业是一个国家的根本之一&#xff0c;也是国家经济、社会发展的重中之重&#xff0c;从“粮食第一”方针到农业生产市场化&#xff0c;再到乡村振兴、加强扶持农业技术创新和基础建设&#xff0c;我国的农业发展以及走过了几个阶段&#xff0c;并一直在…

Nature教你怎么用GPT做学术

ChatGPT如何助力学术写作&#xff1a;三个关键方式 生成性人工智能&#xff08;AI&#xff09;在近年来逐渐成为学术界的热门话题。Dritjon Gruda在2024年4月发表于《Nature》的一篇文章中&#xff0c;详细探讨了ChatGPT如何在学术写作、编辑和同行评审中提供帮助。这篇文章将…

第R2周:Pytorch实现:LSTM-火灾温度预测

nn.LSTM() 函数详解 nn.LSTM 是 PyTorch 中用于创建长短期记忆&#xff08;Long Short-Term Memory&#xff0c;LSTM&#xff09;模型的类。LSTM 是一种循环神经网络&#xff08;Recurrent Neural Network&#xff0c;RNN&#xff09;的变体&#xff0c;用于处理序列数据&#…

常见的框架漏洞

框架 Web框架(Web framework)或者叫做Web应⽤框架(Web application framework)&#xff0c;是⽤于 进⾏Web开发的⼀套软件架构。⼤多数的Web框架提供了⼀套开发和部署⽹站的⽅式。为Web的 ⾏为提供了⼀套⽀持⽀持的⽅法。使⽤Web框架&#xff0c;很多的业务逻辑外的功能不需要⾃…

微步社区帖子中使用编码数据调戏吃瓜群众初探

什么&#xff0c;居然有人在微步社区公然使用编码后的字符串调戏吃瓜群众。 在演练活动的的某一天&#xff0c;微步威胁情报社区突然流行多重编码后内容的帖子。作者本着为人民群众利益着想的目的&#xff0c;结合毕生所学&#xff0c;决定要将这些奇技淫巧和小把戏公之于众。…

R 语言学习教程,从入门到精通,R 判断语句(7)

1、R 判断语句 判断结构要求程序员指定一个或多个要评估或测试的条件&#xff0c;以及条件为真时要执行的语句&#xff08;必需的&#xff09;和条件为假时要执行的语句&#xff08;可选的&#xff09;。 下面是大多数编程语言中典型的判断结构的一般形式&#xff1a; R 语言…

嵌入式linux系统中USART应用实现

各位开发者大家好,今天主要给大家分享一下,如何在linux系统中使用UART串口的功能。 第一:串口的作用 UART:通用异步收发器简称串口。常用的调试:移植u-boot、内核时,主要使用串口查看打印信息。也可以外接各种模块。 第二:linux系统中的串口 接下来,我们来看一下,linu…

达梦数据库的系统视图v$mem_heap

达梦数据库的系统视图v$mem_heap 达梦数据库的V$MEM_HEAP视图提供了关于内存堆的信息&#xff0c;仅当系统启动时 MEMORY_LEAK_CHECK 为 1 时有效。这个视图通常包含内存堆的使用情况&#xff0c;包括堆的大小、已使用空间、空闲空间等。通过查询V$MEM_HEAP视图&#xff0c;用…