LVS 实现四层负载均衡项目实战--DR模式

news2024/11/16 0:04:31

一、环境准备

主机名IP地址
router

eth0:172.25.254.100

eth1:192.168.0.100

clienteth0:172.25.254.200
lvseth1:192.168.0.50
web1
web2

1、client配置


[root@client ~]# cat /etc/NetworkManager/system-connections/eth0.nmconnection 
[connection]
id=eth0
type=ethernet
interface-name=eth0

[ipv4]
address1=172.25.254.200/24,172.25.254.100
method=manual

[root@client ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.25.254.100  0.0.0.0         UG    100    0        0 eth0
172.25.254.0    0.0.0.0         255.255.255.0   U     100    0        0 eth0



 2、router配置

打开路由转发
[root@router ~]# vim /etc/sysctl.conf 
[root@router ~]# 
[root@router ~]# sysctl -p
net.ipv4.ip_forward = 1

网卡配置
[root@router ~]# cat /etc/NetworkManager/system-connections/eth1.nmconnection 
[connection]
id=eth1
type=ethernet
interface-name=eth1

[ipv4]
address1=192.168.0.100/24
method=manual
[root@router ~]# cat /etc/NetworkManager/system-connections/eth0.nmconnection 
[connection]
id=eth0
type=ethernet
interface-name=eth0

[ipv4]
address1=172.25.254.100/24,172.25.254.2
method=manual
dns=114.114.114.114;

3、lvs服务器配置

lvs服务器网卡及网关配置
[root@lvs ~]# cat /etc/NetworkManager/system-connections/eth1.nmconnection 
[connection]
id=eth1
type=ethernet
interface-name=eth1

[ipv4]
address1=192.168.0.50/24,192.168.0.100
method=manual


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

4、web1配置

[root@web1 ~]# cat /etc/NetworkManager/system-connections/eth0.nmconnection 
[connection]
id=eth0
type=ethernet
interface-name=eth0

[ipv4]
address1=192.168.0.10/24,192.168.0.100
method=manual
dns=114.114.114.114;
[root@web1 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.100   0.0.0.0         UG    100    0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 eth0

rs主机中使vip不对外响应
[root@web1 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore 
[root@web1 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce 
[root@web1 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce 
[root@web1 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore 

[root@web1 ~]# ip a a 192.168.0.200/32 dev lo

5、web2配置

[root@web2 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@web2 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
[root@web2 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@web2 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore



[root@web2 ~]# ip a a 192.168.0.200/32 dev lo

二、在lvs服务器中配置策略

[root@lvs ~]# ipvsadm -A -t 192.168.0.200:80 -s wrr
[root@lvs ~]# ipvsadm -a -t 192.168.0.200:80 -r 192.168.0.10 -g -w 1
[root@lvs ~]# ipvsadm -a -t 192.168.0.200:80 -r 192.168.0.20 -g -w 2
[root@lvs ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  172.25.0.254:80 rr
TCP  172.25.254.100:80 rr
  -> 192.168.0.10:80              Masq    1      0          0         
  -> 192.168.0.20:80              Masq    1      0          0         
TCP  192.168.0.200:80 wrr
  -> 192.168.0.10:80              Route   1      0          0         
  -> 192.168.0.20:80              Route   2      0          0 

三、检测

1.clien

[root@client ~]# ping 192.168.0.200
PING 192.168.0.200 (192.168.0.200) 56(84) 比特的数据。
64 比特,来自 192.168.0.200: icmp_seq=1 ttl=63 时间=0.847 毫秒
64 比特,来自 192.168.0.200: icmp_seq=2 ttl=63 时间=0.802 毫秒
^C
--- 192.168.0.200 ping 统计 ---
已发送 2 个包, 已接收 2 个包, 0% packet loss, time 1050ms
rtt min/avg/max/mdev = 0.802/0.824/0.847/0.022 ms
[root@client ~]# ping 192.168.0.100
PING 192.168.0.100 (192.168.0.100) 56(84) 比特的数据。
64 比特,来自 192.168.0.100: icmp_seq=1 ttl=64 时间=0.279 毫秒
64 比特,来自 192.168.0.100: icmp_seq=2 ttl=64 时间=0.204 毫秒
64 比特,来自 192.168.0.100: icmp_seq=3 ttl=64 时间=0.260 毫秒
^C
--- 192.168.0.100 ping 统计 ---
已发送 3 个包, 已接收 3 个包, 0% packet loss, time 2055ms
rtt min/avg/max/mdev = 0.204/0.247/0.279/0.031 ms


[root@client ~]# for i in {1..10}
> do 
> curl 192.168.0.200
> done
web2 - 192.168.0.20
web1 - 192.168.0.10
web2 - 192.168.0.20
web2 - 192.168.0.20
web1 - 192.168.0.10
web2 - 192.168.0.20
web2 - 192.168.0.20
web1 - 192.168.0.10
web2 - 192.168.0.20
web2 - 192.168.0.20
成功!!!

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

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

相关文章

ArrayList 动态扩容

目录 一、 构造函数1、有参构造函数2、无参构造函数 二、数组扩容三、总结 一、 构造函数 1、有参构造函数 1.1如果指定了容量大小,创建该大小的数组 1.2如果没有指定大小,默认创建空数组 1.3如果是指定小于0的大小,抛出异常 2、无参构造…

前端工程化15-邂逅ES6的语法规范

4、ES6邂逅 3.1、什么是ECMA ECMA(European Computer Manufacturers Association)中文名为欧洲计算机制造商协会,这个组织的目标是评估、开发和认可电信和计算机标准。1 994年后该组织改名为Ecma国际。 3.2、什么是ECMAScript ECMAScript…

怎样找回U盘里误删的文件?试试这些方法!

在日常工作和生活中,我们经常会使用U盘来存储和传输重要的文件。然而,由于操作失误或其他原因,我们有时会误删U盘中的文件。当遇到这种情况时,很多人可能会感到焦虑和无助。不过,幸运的是,有几种方法可以帮…

三十六、【人工智能】【机器学习】【监督学习】- Bagging算法模型

系列文章目录 第一章 【机器学习】初识机器学习 第二章 【机器学习】【监督学习】- 逻辑回归算法 (Logistic Regression) 第三章 【机器学习】【监督学习】- 支持向量机 (SVM) 第四章【机器学习】【监督学习】- K-近邻算法 (K-NN) 第五章【机器学习】【监督学习】- 决策树…

【清空大脑】

清空大脑,就是把大脑里的想法,都写下来,放到一个地方。这样,可以降低大脑的压力。 我记得我第一次清空大脑的时候,使用的事微软OutLook的便签功能,一共记录了200多项。 看着这200多项,我感觉自…

ubuntu设置开机自动执行脚本、ubuntu设置开机自动启动java服务

使用 crontab 编辑器添加一个任务,该任务将在系统启动时执行你的脚本。在终端中运行以下命令: crontab -e添加开机自启任务: 在打开的编辑器中,添加以下行: reboot /home/demo.jar &这行代码告诉 cron 在每次系统…

微调神器LLaMA-Factory官方保姆级教程来了,从环境搭建到模型训练评估全覆盖

1. 项目背景 开源大模型如LLaMA,Qwen,Baichuan等主要都是使用通用数据进行训练而来,其对于不同下游的使用场景和垂直领域的效果有待进一步提升,衍生出了微调训练相关的需求,包含预训练(pt)&…

探索AI角色扮演的新前端工具:SillyTavern

在人工智能(AI)领域,角色扮演(Roleplay)无疑是一个富有趣味且充满潜力的应用场景。无论你是AI爱好者还是开发者,找到一个合适的前端工具来访问并与语言模型进行互动是至关重要的。今天,我们将介…

[2024_08_12日志]ONNX Runtime的使用

问题:Segmentation 错误。在 C API 上使用自定义 onnx 模型运行。模型在 Python 上按预期工作,但在 C API 上运行相同的模型时,会收到一个分段错误 python的模型代码如下: class Facenet(nn.Module):def __init__(self, backbone…

lvs详解及实例配置

目录 1.什么是负载均衡 1.1为什么用负载均衡 1.2.负载均衡类型 1.2.1.四层负载均衡 1.2.2.七层负载均衡 1.3 四层和七层的区别 2.LVS介绍 2.1LVS 的优势与不足 2.2LVS 核心组件和专业术语 3.ipvsadm命令 4.LVS集群中的增删改 4.1.管理集群服务中的增删改 4.2.管理集…

C:每日一题:单身狗

​​​​ 一、题目: 在一个整型数组中,只有一个数字出现一次,其他数组都是成对出现的,请找出那个只出现一次的数字。 整型数组 int arr[ ] {1,1,2,2,3,4,4} 二、思路分析: 1.,明确目标,选择…

【linux】nvidia AGX orin 多方法开机自启 .sh 文件

背景: 安装搜狗输入法时候,发现etc/xdg/autostart路径下写desktop文件的方式,于是把所有方案整理一下 为了让 .sh 文件在用户登录时自动执行,可以采用如下多种方法。 1. 使用 .desktop 文件 创建一个 .desktop 文件,将…

链表的奇偶节点重新排列及空指针问题分析【链表、空指针】

在处理链表问题时,重组链表节点是一种常见需求。本文将详细探讨如何在链表中将奇数索引节点放在偶数索引节点之前,并深入分析实现过程中的空指针问题及其解决方案。 1. 问题描述 给定一个单链表,要求将链表中的节点按照奇数索引节点在前、偶…

掌握 PyTorch 张量乘法:八个关键函数与应用场景对比解析

PyTorch提供了几种张量乘法的方法,每种方法都是不同的,并且有不同的应用。我们来详细介绍每个方法,并且详细解释这些函数有什么区别: 1、torch.matmul torch.matmul 是 PyTorch 中用于矩阵乘法的函数。它能够处理各种不同维度的张…

HTML零基础自学笔记(下)篇一 -8.8

HTML零基础自学笔记(下)---之表格标签详解 参考:pink老师篇一、表格标签是什么?基础内容(主要作用、基本语法、标签释义、属性)主要作用基本语法标签释义表格结构标签属性 合并单元格代码练习代码运行效果&…

IDEA 报错,无效的源发行版 无效的目标发行版:22

报错内容: 在编译项目的时候出现报错: 解决办法: 无效的源发行版 原因:编译的JDK版本与发布版本不一致 File -> Project Structure ->Project Settings 让其中的三处版本保持一致,具体操作如下: …

Vue3+Element-plus+setup使用vuemap/vue-amap实现高德地图API相关操作

首先要下载依赖并且引入 npm安装 // 安装核心库 npm install vuemap/vue-amap --save// 安装loca库 npm install vuemap/vue-amap-loca --save// 安装扩展库 npm install vuemap/vue-amap-extra --save cdn <script src"https://cdn.jsdelivr.net/npm/vuemap/vue-a…

linux反向代理原理:帮助用户更好地优化网络架构

Linux反向代理原理详解 反向代理是一种在网络架构中常用的技术&#xff0c;尤其在Linux环境下被广泛应用。它可以帮助实现负载均衡、安全防护和请求缓存等功能。本文将深入探讨Linux反向代理的原理、工作机制以及其应用场景。 1. 什么是反向代理 反向代理是指代理服务器接收客…

HarmonyOS Developer之图片帧动画播放器

创建image-animator组件 在pages/index目录下的hml文件中创建一个image-animator组件&#xff0c;css文件中编写组件样式&#xff0c;js文件中引用图片。 设置image-animator组件属性 添加iteration&#xff08;播放次数&#xff09;、reverse&#xff08;播放顺序&#xf…

SSM宠物商城-计算机毕业设计源码23666

摘 要 近年来&#xff0c;社会的发展和进步以及人们生活水平的提高&#xff0c;人们饲养宠物的习惯也越来越重视。很多家庭都把宠物视为家庭的重要成员。宠物不仅能给自己作伴&#xff0c;而且在生活中能充当自己精神的支柱&#xff0c;缓解压力、放松心态的伙伴。宠物不同于一…