当前位置: 首页 > web >正文

LVS负载均衡-DR模式配置

目录

概念

配置

1、负载调度器配置

2、web节点配置


概念

通过LVS DR模式,Web节点之间的通信是通过负载均衡器进行转发与地址重写实现的,从而实现了负载均衡和高可用性。

1.通过负载均衡器配置:将负载均衡器的IP地址设置为Web节点的虚拟IP(VIP)地址。这样,客户端的请求将发送到负载均衡器的VIP地址。

2.客户端请求到达负载均衡器:当客户端发送请求到负载均衡器的VIP地址时,负载均衡器会接收到请求。

3.负载均衡器将请求转发到后端Web节点:负载均衡器将请求转发到其中一个后端Web节点。它通过修改目标IP地址为相应的Web节点的IP地址,并修改源IP地址为负载均衡器自身的IP地址,然后将请求发送到相应的Web节点。

4.Web节点响应请求:Web节点接收到来自负载均衡器的请求后,根据请求进行处理,并生成响应。

5.Web节点将响应地址重写:在发送响应之前,Web节点将响应的源IP地址设置为负载均衡器的VIP地址,这样响应将会返回到负载均衡器。

6.负载均衡器将响应发送回客户端:负载均衡器收到来自Web节点的响应后,将响应发回给客户端。客户端认为响应来自负载均衡器的VIP地址。

配置

1、负载调度器配置

  • 调整ARP参数

vim /etc/sysctl.conf
net.ipv4.conf.all.send_redirects = 0 
net.ipv4.conf.default.send_redirects= 0
net.ipv4.conf.ens33.send_redirects = 0

重载:sysctl -p
  • 配置虚拟IP地址也可以配置一个临时虚拟ip地址

cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens33:0

ifconfig ens192:0  192.168.100.101/24

  • 安装ipvsadm

yum  install -y ipvsadm

  • 加载ip_vs模块

加载:modprobe ip_vs

查看是否加载;lsmod |grep ip_vs

  • 启动ipvsadm服务

touch /etc/sysconfig/ipvsadm

开机自启:systemctl enable ipvsadm
  • 配置负载分配策略

ipvsadm -A -t 192.168.100.101:80 -s rr

ipvsadm -a -t 192.168.115.110:80 -r 192.168.115.112:80 -g

ipvsadm -a -t 192.168.100.101:80 -r 192.168.100.1:80 -g

  • 查看是否成功

ipvsadm -Ln

  • 保存策略

ipvsadm-save > /etc/sysconfig/ipvsadm

2、web节点配置

  • 调整ARP参数

vim /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore=1 
net.ipv4.conf.all.arp_announce=2 
net.ipv4.conf.default.arp_ignore=1 
net.ipv4.conf.default.arp_announce = 2 
net.ipv4.conf.lo.arp_ignore = 1 
net.ipv4.conf.lo.arp_announce=2

重载:sysctl -p
  • 配置配临时虚拟ip

ifconfig lo:0 192.168.100.101/32

  • 添加回环路由

route add -host 192.168.115.110/32 dev lo:0

验证

访问lvs的虚拟ip192.168.100.101

http://www.xdnf.cn/news/15257.html

相关文章:

  • 进制转换原理与实现详解
  • 【unity编辑器开发与拓展EditorGUILayoyt和GUILayoyt】
  • RISC-V:开源芯浪潮下的技术突围与职业新赛道 (三)RISC-V架构深度解剖(下)
  • 【八股消消乐】浅尝Kafka性能优化
  • 【面板数据】省级泰尔指数及城乡收入差距测算(1990-2024年)
  • Vue集成MarkDown
  • 开源界迎来重磅核弹!月之暗面开源了自家最新模型 K2
  • UC浏览器PC版自2016年后未再更新不支持vue3
  • Git Submodule 介绍和使用指南
  • 服务器机柜与网络机柜各自的优势
  • 2025最新版Docker讲解/面试/命令/容器化技术
  • Marin说PCB之Allegro高亮BOM器件技巧详解
  • 【Linux】C++项目分层架构:核心三层与关键辅助
  • 报错 | “pnpm : 无法将“pnpm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,
  • 基于ASP.NET MVC+SQLite开发的一套(Web)图书管理系统
  • SHA-256算法流程分析与演示——github工程完善
  • 基于k8s环境下pulsar高可用测试和扩缩容(上)
  • Flask 入门到实战(3):用 SQLAlchemy 优雅操作数据库
  • Linux 进程管理核心机制
  • 【mac】快捷键使用指南
  • 【AI大模型】RAG系统组件:向量数据库(ChromaDB)
  • 飞算 JavaAI 体验:重塑 Java 开发的智能新范式
  • LeetCode--43.字符串相乘
  • JVM故障处理与类加载全解析
  • ✨ FastMCP 实战进阶:构建可远程访问的 MCP 工具服务与客户端(Python 深度解析)
  • Elasticsearch混合搜索深度解析(上):问题发现与源码探索
  • 【flutter】flutter网易云信令 + im + 声网rtm从0实现通话视频文字聊天的踩坑
  • 影石(insta360)GO3拇指相机格式化后的恢复方法
  • OpenCV 与深度学习:从图像分类到目标检测技术
  • 如何安装和配置Autoptimize插件以提高WordPress网站访问速度