lvs的相关应用2

news2024/9/20 8:12:43

lvs

安装lvs

配置规则,查看所有的规则,如果已经配置好规则,重启之后就没了

[root@ds01 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn

配置vip网卡

1.在编辑虚拟网络中创建桥接模式的网卡,并且桥接到有网的适配器上

2.在vmware的虚拟主机资源管理器找到虚拟主机,右键菜单,设置

3.添加新的网卡,自定义为刚才创建的桥接模式网卡

4.此时在虚拟主机中使用ifconfig无法找到新的网卡

5.ip 啊能够查看到新的ens36网卡,没有路由

6.编辑网卡配置

7.重启network服务

配置ipvs规则

[root@ds01 ~]# ipvsadm -A -t 192.168.2.173:80 -s rr
[root@ds01 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.2.173:80 rr
添加rs web01 web02 添加规则

[root@ds01 ~]# ipvsadm -a -t 192.168.2.173:80 -r 192.168.2.32:80 -m
[root@ds01 ~]# ipvsadm -a -t 192.168.2.173:80 -r 192.168.2.33:80 -m
[root@ds01 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.2.173:80 rr
  -> 192.168.2.32:80              Masq    1      0          0         
  -> 192.168.2.33:80              Masq    1      0          0         
[root@ds01 ~]# vim /etc/sysctl.conf

[root@ds01 ~]# sysctl -p
net.ipv4.ip_forward = 1        说明已经支持ip转发了

在web01主机和web02主机上临时修改网关,网关必须只想dip(调度服务器的对内的ip)

[root@web01 ~]# route del default
[root@web01 ~]# route add default gw 192.168.2.126        这个ip是ds01上ens160上的ip

这也要求了rs ip 和dip在同一个网段上面,因为dip是要作为网关存在的

lvs-nat模式的优点是配置简单,缺点是请求和响应都必须经过ds,容易称为瓶颈期

请求的时候使用input链进行负载均衡,响应的时候就不要警告ds,直接由rs响应给客户端

在nat模式的时候,请求vip,接受vip的响应

构想 请求vip,接收rip的响应,这是不允许的

ds脚本

DR模式(不支持端口映射)

1.性能更优,回路不在经过ds

2.ds和rs为了保证用户响应,都要求配置统一的vip

3.由于rs是直接响应client,网关一定不能设置为ds的dip

4.对rs的vip进行抑制,让ds的vip接收请求,让rs的vip不接收请求

1.ds上ens160网卡上挂一个虚拟的vip 192.168.2.35

[root@dr ~]# ifconfig ens160:0 192.168.2.36 broadcast 192.168.2.36 netmask 255.255.255.0 up

[root@ds01 ~]# route add -host 192.168.2.36 dev ens160:0        也能够在这里接收数据包

192.168.2.137 dip

192.168.2.35 vip        在rs上的vip和这个vip相同

2.设置规范ipvsadm

[root@ds01 ~]# yum -y insatll ipvsadm

设置规则

ipvs -A -t 192.168.2.137:80 -s rr

ipvsadm -a -t 192.168.2.137:80 -r 192.168.2.32 -g

ipvsadm -a -t 192.168.2.137:80 -r 192.168.2.33 -g

rs不需要指定端口,dr不支持端口映射,vip是80端口,

设置rs主机

在lo接口上挂载一个vip

1.在lo接口上绑定vip

[root@web01 ~]# ifconfig lo:0 10.1.1.102 broadcast 10.1.1.102 netmask 255.255.255.255 up

2.设置主机路由

3.抑制rs接收请求

4.生成脚本,对web02使用

# 安装ipvsadm yum -y install ipvsadm

$ 设置规则

ipvsadm -A -t 10.1.1.102:80 -s rr

ipvsadm -a -t 10.1.1.102:80 -r 10.1.1.200 -g

ipvsadm -a -t 10.1.1.102:80 -r 10.1.1.201 -g

# rs不在需要指定端口,dr不支持端口映射,vip上是80端口,最终就是80端 口

# -m nat -g gateway

[root@web01 ~]# ifconfig lo:0 10.1.1.102 broadcast 10.1.1.102 netmask 255.255.255.255 up [root@web01 ~]# route add -host 10.1.1.102 dev lo:0

echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore

echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

5.测试使用,查看状态

[root@dr03 ~]# ipvsadm -Ln --stats

ds脚本

#!/bin/bash

#在ens33上挂载一个ip地址

read -p "vip:" vip

read -p "mac:" mac

read -p "num" num

ifconfig $mac:$num $vip broadcast $vip netmask 255.255.255.255

# 主机路由

route add -host $vip dev $mac:$num rs

#安装ipvsadm

yum list installed|grep ipvsadm if [ $? -ne 0 ] ; then

yum -y install ipvsadm fi

#配置规则(不需要设置ip_forword)

ipvsadm -C read -p "rule:" rule

read -p "port:" port ipvsadm -A -t $vip:$port -s $rule

read -p "rip1:" rip1 ipvsadm -a -t $vip:$port -r $rip1 -g

read -p "rip2:" rip2 ipvsadm -a -t $vip:$port -r $rip2 -g

rs脚本

#!/bin/bash

#在ens33上挂载一个ip地址

read -p "vip:" vip read -p "mac:" mac

read -p "num" num

ifconfig $mac:$num $vip broadcast $vip netmask 255.255.255.255

# 主机路由

route add -host $vip dev $mac:$num

echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore

echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

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

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

相关文章

react的setState中为什么不能用++?

背景: 在使用react的过程中产生了一些困惑,handleClick函数的功能是记录点击次数,handleClick函数被绑定到按钮中,每点击一次将通过this.state.counter将累计的点击次数显示在页面上 困惑: 为什么不能直接写prevStat…

为什么要学习AI大模型?

AI大模型正在以惊人的速度改变着各行各业。正如移动互联网时代造就了无数成功的开发者,今天的大模型技术也为我们带来了前所未有的机遇。学习和掌握这项技术,不仅能让你站在行业前沿,还能为你的职业生涯带来巨大的回报。 01 企业为什么需要…

Linux shell编程学习笔记70: curl 命令行网络数据传输工具 选项数量雷人(下)

0 前言 curl是一款综合性网络传输工具&#xff0c;既可以上传也可以下载&#xff0c;支持HTTP、HTTPS、FTP等30余种常见协‍议。 Linux和Windows都提供了curl命令。 D:\>curl --help Usage: curl [options...] <url>-d, --data <data> HTTP POST da…

sql实战

这里写自定义目录标题 sql实战cmseasy daiqile全局污染 RCE限制16字符传入参数限制传入字符7个限制35字符&#xff0c;并过滤所有英文数字 sql实战 cmseasy 1、/lib/admin/admin.php和/lib/admin/tool/front_class.php源代码中发现&#xff0c;可以伪造IP并且传入ishtml1&…

Leetcode JAVA刷刷站(26)删除有序数组中的重复项

一、题目概述 二、思路方向 为了原地删除重复出现的元素&#xff0c;并保持元素的相对顺序一致&#xff0c;我们可以使用双指针的方法来解决这个问题。这种方法通常被称为“快慢指针”法。在这个问题中&#xff0c;快指针&#xff08;fast&#xff09;用于遍历数组&#xff0…

计算机的错误计算(六十一)

摘要 解释计算机的错误计算&#xff08;六十&#xff09;中的错误计算原因。 计算机的错误计算&#xff08;六十&#xff09;中的计算可以归纳为 因此&#xff0c;我们只需要分析该算式。 例1. 已知 分析如何计算 首先&#xff0c;一个数乘以一个2&#xff0c;一般不会…

[Megagon Labs] Annotating Columns with Pre-trained Language Models

Annotating Columns with Pre-trained Language Models 任务定义 输入&#xff1a;一张数据表&#xff0c;但没有表头&#xff0c;只有表中的数据。 输出&#xff1a;每一列数据的数据类型&#xff0c;以及两列数据之间的关系。 数据类型和数据关系都是由训练数据决定的固定…

docker部署Prometheus、Grafana

docker部署Prometheus 1、 拉取prometheus镜像 docler pull prom/prometheus 遇到问题&#xff1a;注意下科学上网。 2、将prometheus配置文件放在外面管理 prometheus.yml global:scrape_interval: 15sevaluation_interval: 15salerting:alertmanagers:- static_configs:-…

聚合平台项目之数据抓取

首先先记录一下我自己对这个数据抓取的一些心得&#xff1a; 数据抓取也就是常说的爬虫。 在我没真正去做的时候&#xff0c;我还想爬虫好高大上。 现在学完之后也就怯魅了 其实本质就是在自己的代码中模拟浏览器给后端发请求&#xff0c;后端收到响应之后&#xff0c;返回…

Redis知识进阶-私人定制组

Redis 目录 RedisRedis 简介关键特征Redis不同操作系统安装在Linux上的安装&#xff1a;在macOS上的安装&#xff1a;在Windows上的安装&#xff1a; Redis 数据结构及特点常用5种及示例&#xff1a;其他结构 主要功能总结 Redis 简介 Redis是一个开源的高性能键值对数据库&am…

酶促4+2和2+2环加成反应(有机合成与生物合成)-文献精读38

酶促42和22环加成反应&#xff1a;区域与立体选择性的理解与应用 01 有机合成 类似有机化学&#xff1a;狄尔斯–阿尔德反应 狄尔斯–阿尔德反应是[42]环加成反应中最具代表的&#xff0c;由共轭双烯与亲双烯体构建环己烯骨架的经典反应。反应有良好的立体、位置选择性。 该…

3.类和对象(中)

1. 类的默认成员函数 默认成员函数就是用户没有显式实现&#xff0c;编译器会自动生成的成员函数称为默认成员函数&#xff08;就是我们不写&#xff0c;编译器会默认生成一份&#xff09;。一个类&#xff0c;我们不写的情况下编译器会默认生成以下6个默认成员函数&#xff0…

江协科技STM32学习笔记(第09章 I2C通信)

第09章 I2C通信 9.1 I2C通信协议 9.1.1 I2C通信 串口通信没有时钟线的异步全双工的协议。 案例&#xff1a;通信协议设计&#xff1a; 某个公司开发了一款芯片&#xff0c;可以干很多事情,比如AD转换、温湿度测量、姿态测量等等。这个芯片里的众多外设也是通过读写寄存器来…

InCDE论文翻译

InCDE论文翻译 Towards Continual Knowledge Graph Embedding via Incremental Distillation 通过增量蒸馏实现持续知识图嵌入 Abstract 传统的知识图嵌入(KGE)方法通常需要在新知识出现时保留整个知识图(KG)&#xff0c;这会带来巨大的训练成本。为了解决这个问题&#xf…

掌握网络数据的钥匙:Python Requests-HTML库深度解析

文章目录 掌握网络数据的钥匙&#xff1a;Python Requests-HTML库深度解析背景&#xff1a;为何选择Requests-HTML&#xff1f;什么是Requests-HTML&#xff1f;如何安装Requests-HTML&#xff1f;5个简单库函数的使用方法3个场景下库的使用示例常见Bug及解决方案总结 掌握网络…

[C++][opencv]基于opencv实现photoshop算法可选颜色调整

【测试环境】 vs2019 opencv4.8.0 【效果演示】 【核心实现代码】 SelectiveColor.hpp #ifndef OPENCV2_PS_SELECTIVECOLOR_HPP_ #define OPENCV2_PS_SELECTIVECOLOR_HPP_#include "opencv2/core.hpp" #include "opencv2/imgproc.hpp" #include "…

笔记:在WPF中OverridesDefaultStyle属性如何使用

一、目的&#xff1a;介绍下在WPF中OverridesDefaultStyle属性如何使用 OverridesDefaultStyle 属性在 WPF 中用于控制控件是否使用默认的主题样式。将其设置为 True 时&#xff0c;控件将不会应用默认的主题样式&#xff0c;而是完全依赖于你在 Style 中定义的样式。以下是如何…

代码随想录算法训练营day39||动态规划07:多重背包+打家劫舍

多重背包理论 描述&#xff1a; 有N种物品和一个容量为V 的背包。 第i种物品最多有Mi件可用&#xff0c;每件耗费的空间是Ci &#xff0c;价值是Wi 。 求解将哪些物品装入背包可使这些物品的耗费的空间 总和不超过背包容量&#xff0c;且价值总和最大。 本质&#xff1a; …

图论------迪杰斯特拉(Dijkstra)算法求单源最短路径。

编程要求 在图的应用中&#xff0c;有一个很重要的需求&#xff1a;我们需要知道从某一个点开始&#xff0c;到其他所有点的最短路径。这其中&#xff0c;Dijkstra 算法是典型的最短路径算法。 本关的编程任务是补全右侧代码片段中 Begin 至 End 中间的代码&#xff0c;实现 …

543 二叉树的直径

解题思路&#xff1a; \qquad 如果某一个点&#xff08;非叶子节点&#xff09;在最长路径上&#xff0c;那么应该有两种情况&#xff1a; \qquad 情况一&#xff1a;该节点为非转折点&#xff0c;最长路径经过其一个子节点 父节点&#xff1b; \qquad 情况二&#xff1a;该…