LVS负载均衡(DR)

news2024/11/24 9:48:28

文章目录

  • LVS-DR模式配置
    • 原理
    • DR配置
      • 添加VIP
      • 下载ipvsadm
      • 在DR上管理LVS Real-Server
    • RS配置
      • 绑定VIP到环回网卡
      • 添加访问VIP的路由
      • 配置ARP抑制
      • 测试:

LVS-DR模式配置

原理

image-20230806224847020

当客户端发起请求后由DR处理,通过算法将流量转发至Real-Server中的某一个处理。然后由该服务器直接返回给客户端流量将不再经过DR中转。

本实验中采用的web服务器为Apache,在实验开始前请关闭所有主机的防火墙或记得放行。

DR配置

添加VIP

#网卡名按照自己机器上的来
ifconfig eno16777736:eth1 192.168.110.190 netmask 255.255.255.0 up 

下载ipvsadm

yum install ipvsadm

在DR上管理LVS Real-Server

ipvsadm --set 30 5 60
# --set 设置参数 30 连接超时时间 5 tcp连接保持时间 60 最大连接数量
ipvsadm -A -t 192.168.110.190:80 -s rr
# -A 添加一个虚拟服务器即DR -t 指定ip与端口 -s 指定调度算法 rr 轮询算法 -p 每20秒算法进行新的分配
ipvsadm -a -t 192.168.110.190:80 -r 192.168.110.134:80 -g
# -a 添加一个实际服务器即RS -t 指定DR的ip与端口 -r 指定RS的ip与端口 -g 开启网关模式即将DR的eth1网卡作为RS的网关
ipvsadm -a -t 192.168.110.190:80 -r 192.168.110.145:80 -g

#将上述配置保存到ipvs.txt
ipvsadm -S > ipvs.txt
cat ipvs.txt 
-A -t 192.168.110.190:http -s rr
-a -t 192.168.110.190:http -r 192.168.110.145:http -g -w 1
-a -t 192.168.110.190:http -r 192.168.110.134:http -g -w 1

RS配置

绑定VIP到环回网卡

#两台RS都需要设置
ifconfig lo:eth1 192.168.110.190 netmask 255.255.255.255 up

添加访问VIP的路由

#两台都需要
route add -host 192.168.110.190 dev lo

配置ARP抑制

#RS都需配置
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
#0 -(默认值):回应任何网络接口上对任何本地IP地址的arp查询请求。
#1 – 只回答目标IP地址是来访网络接口本地地址的ARP查询请求。
#2 – 只回答目标IP地址是来访网络接口本地地址的ARP查询请求,且来访IP必须在该网络接口的子网段内。
#3 – 不回应该网络界面的arp请求,而只对设置的唯一和连接地址做出回应。
#4-7 –保留未使用。
#8 – 不回应所有(本地地址)的arp查询。

测试:

C:\Users\SuperMe>curl 192.168.110.190
Web Test Of 192.168.110.134

C:\Users\SuperMe>curl 192.168.110.190
Web Test Of 192.168.110.145

C:\Users\SuperMe>curl 192.168.110.190
Web Test Of 192.168.110.134

C:\Users\SuperMe>curl 192.168.110.190
Web Test Of 192.168.110.145

C:\Users\SuperMe>curl 192.168.110.190
Web Test Of 192.168.110.134

C:\Users\SuperMe>curl 192.168.110.190
Web Test Of 192.168.110.145

C:\Users\SuperMe>curl 192.168.110.190
Web Test Of 192.168.110.134

总结:

  1. 在DR上配置VIP
  2. 利用ipvsadm管理LVS服务
  3. 在RS的环回网卡上绑定VIP并添加到VIP的路由
  4. 在RS上抑制ARP响应

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

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

相关文章

8.16CAS

1.CAS 2. 原子类的原理 3.原子类的使用 import java.util.concurrent.atomic.AtomicInteger;public class Test {public static AtomicInteger atomicInteger new AtomicInteger();public static void main(String[] args) throws InterruptedException {System.out.println(…

Python读取及生成pb文件,pb与jsonStr互转,pb与dictJson互转,打包.exe/.sh并转换,很完美跨平台

Python读取及生成pb文件,pb与jsonStr互转,pb与dictJson互转,打包.exe/.sh并转换,很完美跨平台 1. 效果图2. 命令行:proto文件转.class(绝对路径或相对路径)3. 序列化、反序列化api4. pb转json&a…

搭建MyBatis开发环境

hi,大家好,今天来学习一下MyBatis的相关知识 文章目录 🧊1.MyBatis定义🧊2.为什么要学习MyBatis🧊3.搭建MyBatis开发环境🍐3.1前置工作--创建数据库和表🍐3.2在新项目中添加MyBatis的框架🍐3.3设置MyBatis…

Leetcode31 下一个排列

解题思路: 算法过程的第二步,可以变为将[j,end]排序,然后从[j,end)和i进行比较,在区间j,end区间第一个大于nums[i]后,交换即可 public void nextPermutation(int[] nums) {int len nums.length - 1;for(int i len;i…

小程序的 weiui的使用以及引入

https://wechat-miniprogram.github.io/weui/docs/quickstart.html 网址 1.点进去,在app.json里面配置 在你需要的 页面的 json里面配置,按需引入 然后看文档,再在你的 wxml里面使用就好了

使用DMA传输实现单片机高效串口转发——以STM32系列为例

使用DMA传输实现单片机高效串口转发——以STM32系列为例 DateAuthorVersionNote2023.08.06Dog TaoV1.01. 完成了文档的撰写。 文章目录 使用DMA传输实现单片机高效串口转发——以STM32系列为例应用场景实现流程源码示例串口与中断配置DMA外设配置DMA发送数据函数串口中断服务函…

Java中String方法魔性学习

这里写目录标题 先进行专栏介绍String详解常用构造方法代码演示常用成员方法代码示例总结 先进行专栏介绍 本专栏是自己学Java的旅途,纯手敲的代码,自己跟着黑马课程学习的,并加入一些自己的理解,对代码和笔记 进行适当修改。希望…

【redis】SpringBoot集成redis

目录 1.添加redis依赖2.配置redis3.操作redis3.1 操作string 3.1 操作其它数据类型 4. Spring-Session基于Redis解决共享Session问题4.1 问题提出 4.1 添加依赖 4.2 修改配置4.3 存储和读取 1.添加redis依赖 方法①&#xff1a; <dependency><groupId>org.springf…

ChatGPT已闯入学术界,Elsevier推出AI工具

2022年11月&#xff0c;OpenAI公司发布了ChatGPT&#xff0c;这是迄今为止人工智能在现实世界中最重要的应用之一。 当前&#xff0c;互联网搜索引擎中出现了越来越多的人工智能&#xff08;AI&#xff09;聊天机器人&#xff0c;例如谷歌的Bard和微软的Bing&#xff0c;看起来…

微信小游戏流量主结算财务信息填写指引

微信小游戏个人开发者: 流量主结算财务信息填写指南 一,登录公众平台二,补充财务信息三,补充信息指引四,提交审核五,绑定通知对于微信小游戏个人开发者来说,流量主结算财务信息的填写是非常重要的一步。正确填写可以保证收入的及时结算,而填写不当则可能会导致收入无法到…

wxRibbonBar 常用三种控件Button,DropdownButton,HybridButton

这三种控件的效果如下所示&#xff1a; 点击下拉的效果&#xff1a; 这一部分可以设置wxITEM_CHECK&#xff0c;wxITEM_RADIO等效果 但我们可能更关注实现实例&#xff1a; &#xff08;1&#xff09;MyFrame.h #pragma once #include <wx/wx.h> #include "wx/wx…

vue2-diff算法

1、diff算法是什么&#xff1f; diff算法是一种通过同层的树节点进行比较的高效算法。 其有两个特点&#xff1a; 比较只会在同层级进行&#xff0c;不会跨层级进行。 在diff比较的过程中&#xff0c;循环从两边向中间比较。 diff算法在很多场景中都有应用&#xff0c;在vue中&…

(学习笔记-进程管理)进程

进程 我们编写的代码只是一个存储在硬盘的静态文件&#xff0c;通过编译后会生成二进制可执行文件&#xff0c;当我们运行这个可执行文件后&#xff0c;它会被装载到内存中&#xff0c;接着CPU会执行程序中的每一条指令&#xff0c;那么这个运行中的程序就被称为进程。 现在我…

怎么加密文件夹才更安全?安全文件夹加密软件推荐

文件夹加密可以让其中数据更加安全&#xff0c;但并非所有加密方式都能够提高极高的安全强度。那么&#xff0c;怎么加密文件夹才更安全呢&#xff1f;下面我们就来了解一下那些安全的文件夹加密软件。 文件夹加密超级大师 如果要评选最安全的文件夹加密软件&#xff0c;那么文…

python GUI nicegui初识一(登录界面创建)

最近尝试了python的nicegui库&#xff0c;虽然可能也有一些不足&#xff0c;但个人感觉对于想要开发不过对ui设计感到很麻烦的人来说是很友好的了&#xff0c;毕竟nicegui可以利用TailwindCSS和Quasar进行ui开发&#xff0c;并且也支持定制自己的css样式。 这里记录一下自己利…

spring security + oauth2 使用RedisTokenStore 以json格式存储

1.项目架构 2.自己对 TokenStore 的 redis实现 package com.enterprise.auth.config;import org.springframework.data.redis.connection.RedisConnection; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis…

leetcode刷题:1657. 确定两个字符串是否接近、1004. 最大连续1的个数 III

leetcode刷题:1657. 确定两个字符串是否接近、1004. 最大连续1的个数 III 1. 前言2. 1657. 确定两个字符串是否接近3. 1004. 最大连续1的个数 III4. 总结 1. 前言 上述两个题目位于leetcode75中&#xff0c;难度为中等&#xff0c;虽然对于大佬而言&#xff0c;可能很简单&…

2023年C++面试宝典

目录 第一章&#xff1a;C基础知识1.1 C语言起源与发展1.2 C的重要特点和优点1.3 C的数据类型和变量1.4 函数和命名空间1.5 运算符和表达式 第二章&#xff1a;面向对象编程2.1 类与对象的概念2.2 封装、继承和多态2.3 构造函数和析构函数2.4 静态成员和常量成员2.5 虚函数和纯…

maven install命令:将包安装在本地仓库,供本地的其它工程或者模块依赖

说明 有时候&#xff0c;自己本地的maven工程依赖于本地的其它工程&#xff0c;或者manven工程中的一个模块依赖于另外的模块&#xff0c;可以执行maven的install命令&#xff0c;将被依赖的包安装在maven本地仓库。 示例 一个工程包含几个模块&#xff0c;模块之间存在依赖…

【笔记】第94期-冯永吉-《湖仓集一体关键技术解读》-大数据百家讲坛-厦大数据库实验室主办20221022

https://www.bilibili.com/video/BV1714y1j7AU/?spm_id_from333.337.search-card.all.click&vd_sourcefa36a95b3c3fa4f32dd400f8cabddeaf