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

Linux服务之lvs集群与dr模式部署

目录

一.lvs相关概述

1.lvs集群的工作模式

2.lvs调度算法

3.ipvsadm工具

二.DR模式部署


一.lvs相关概述

1.lvs集群的工作模式

  • lvs-nat:修改请求报文的目标IP,多目标IP的DNAT    
  • lvs-dr:操纵封装新的MAC地址(直接路由)
  • lvs-tun:隧道模式
  • lvs-fullnat:修改请求报文的源和目标IP

2.lvs调度算法

根据其调度时是否考虑各RS当前的负载状态分为两种:

静态方法: 不管后端真实服务器的 状态,根据自身  算法进行调度

动态方法: 会根据后端服务器的状态来进行调度

仅根据算法本身进行调度

静态:

1、RR:roundrobin,轮询,较常用 

2、WRR:Weighted RR,加权轮询,较常用 先算总权重再用自己的权重去除以总权重

3、SH:Source Hashing,实现session sticky,源IP地址hash;将来自于同一个IP地址的请求始终发往第一次挑中的RS,从而实现会话绑定

4、DH:Destination Hashing;目标地址哈希,第一次轮询调度至RS,后续将发往同一个目标地址的请求始终转发至第一次挑中的RS,典型使用场景是正向代理缓存场景中的负载均衡,如: Web缓存  

动态:Overhead    一个参考值来确定服务器是否忙这个值越小代表服务器越闲就会优先调度给闲的服务器

主要根据每RS当前的负载状态及调度算法进行调度Overhead=value 较小的RS将被调度 

1、LC:least connections 适用于长连接应用    最小连接数    不考虑权重
Overhead=activeconns*256+inactiveconns

active   活动连接
inactive 非活动连接
 

2、WLC:Weighted LC,默认调度方法,较常用 默认调度加权最小连接数第一轮不合理 
Overhead=(activeconns*256+inactiveconns)/weight
 

3、SED:Shortest Expection Delay,初始连接高权重优先,只检查活动连接,而不考虑非活动连接   权重小的空闲的
Overhead=(activeconns+1)*256/weight
 

4、NQ:Never Queue,第一轮均匀分配,后续SED       

5、LBLC:Locality-Based LC,动态的DH算法,使用场景:根据负载状态实现正向代理,实现Web Cache等    检查 后端服务器忙不忙

6、LBLCR:LBLC with Replication,带复制功能的LBLC,解决LBLC负载不均衡问题,从负载重的复制到负载轻的RS,,实现Web Cache等

3.ipvsadm工具

常用选项及说明:

-A: 添加虚拟服务器
-D: 删除整个虚拟服务器
-s: 指定负载调度算法(轮询: rr、加权轮询: wrr、最少连接: lc、加权最少连接: wlc  默认的 )
-a: 添加真实服务器(节点服务器)
-d: 删除某一个节点
-t: 指定VIP地址及TCP端口
-r: 指定RIP地址及TCP端口
-m: 表示使用NAT群集模式
-g: 表示使用DR模式
-i: 表示使用TUN模式
一w: 设置权重(权重为0时表示暂停节点)
-p 60: 表示保持长连接60秒
-l: 列表查看 LVS虚拟服务器(默认为查看所有)
-n: 以数字形式显示地址、端口等信息,常与"-l“选项组合使用。ipvsadm -ln

二.DR模式部署

调度器   - ubunutu  2204 
apt   update
apt   install     ipvsadm  -y

ifconfig  ens33:0 192.168.91.188/24     #添加虚拟ip

ipvsadm -A -t 192.168.91.188:80 -s rr
ipvsadm -a -t 192.168.91.188:80 -r 192.168.91.100:80 -g
ipvsadm -a -t 192.168.91.188:80 -r 192.168.91.101:80 -g


ipvsadm  -Ln

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


sysctl -p


真实服务器1:
yum install   epel-release   -y
yum  install   nginx  -y
systemctl  start  nginx 
echo  "7-1"   >  /usr/share/nginx/html/index.html
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


ifconfig  ens33:0 192.168.91.188/24     #添加虚拟ip

真实服务器2:
yum install   epel-release   -y
yum  install   nginx  -y
systemctl  start  nginx 
echo  "7-2"   >  /usr/share/nginx/html/index.html
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

ifconfig  ens33:0 192.168.91.188/24     #添加虚拟ip


不要再集群内测试 
新打开一台测试 
curl   192.168.91.188

相关文章:

  • Mathematics-2025《Semi-Supervised Clustering via Constraints Self-Learning》
  • 线程同步机制
  • FlashInfer - 测试的GPU H100 SXM、A100 PCIe、RTX 6000 Ada、RTX 4090
  • Docker 介绍与使用
  • Mysql 存储引擎
  • 系统漏洞扫描服务:维护网络安全的关键与服务原理?
  • 打卡DAY25
  • [Vue3]语法变动
  • 企业报表平台如何实现降本增效
  • 数字信号处理-大实验1.3
  • vue中,created和mounted两个钩子之间调用时差值受什么影响
  • 静电的起因与静电效应:技术分析与应用
  • SVG 知识详解:从入门到精通
  • 如何远程执行脚本不留痕迹
  • 3DMAX脚本病毒Spy CA查杀方法
  • TypeScript泛型:从入门到精通的全方位指南
  • 软考软件设计师中级——软件工程笔记
  • 通用软件项目技术报告 - 术语词典
  • YashanDB V23.4 LTS 正式发布|两地三中心、库级闪回重磅特性上线,生产级可用性再升级
  • 流速仪数据处理及流量断面线绘制
  • 机构发布“2025中国高职院校排名”
  • 长沙通报一出租房疑存非法代孕:查封涉事场所,相关人员被控制
  • 让胖东来“自闭”的玉石生意,究竟水有多深?
  • 特朗普将启的中东行会如何影响伊美核谈判?专家分析
  • 鄂州:锁死中小学教师编制总量,核减小学编制五百名增至初中
  • 远离军事前线的另一面暗斗:除了“断水”,印度还试图牵制对巴国际援助