运维高级内容--lvs按权重值轮询调度

创建5台主机(一些配置是基于实验一的基础):

  • 客户端client 172.25.254.200
  • 路由器route 172.25.254.100 192.168.0.100 (需要eth0、eth1两个网关)
  • LVS 192.168.0.50
  • webserver1 192.168.0.10
  • webserver2 192.168.0.20
1.LVS主机:

vim /etc/NetworkManager/system-connection/eth1.nmconnection

md-end-block 复制代码
[connection]
id=eth1
type=ethernet
interface-name=eth1

[ipv4]
address1=192.168.0.50/24.192.168.0.100
method=manual

nmcli connection reload

nmcli connection up eth1

(如果主机有多余网卡记得清空,只留eth1)

ip a a 192.168.0.200/32 dev lo #在lvs中添加vip,为本地回环接口(lo)添加一个 IPv4 地址 192.168.0.200 ,子网掩码为 255.255.255.255

ipvsadm -Ln

ipvsadm -A -t 192.168.0.200:80 -s wrr #w :权重 ;权重值等于多少轮询调度的时候就调度几次才调度下一个

ipvsadm -a -t 192.168.0.200:80 -r 192.168.0.10:80 -g -w 1 #轮询调度一次就调度192.168.0.20

ipvsadm -a -t 192.168.0.200:80 -r 192.168.0.20:80 -g -w 2 #轮询调度两次才停止或调度下一个

2.路由器route :

vim /etc/NetworkManager/system-connections/eth0.nmconnection #NAT模式的eth0

md-end-block 复制代码
[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;

vim /etc/NetworkManager/system-connections/eth1.nmconnection #仅主机模式的eth1

md-end-block 复制代码
[connection]
id=eth1
type=ethernet
interface-name=eth1

[ipv4]
address1=192.168.0.100/24
method=manual

nmcli connection reload

nmcli connection up eth0

nmcli connection up eth1

sysctl -a | grep ip_forward #配置内核

vim /etc/sysctl.conf

net.ipv4.ip_forward=1 #添加这一行并将值改为1,保存退出

sysctl -p

3.RS--webserver1 :

实验一配好网关、IP等基础上:

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

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

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

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

#使vip不对外响应

ip a a 192.168.0.200/32 dev lo #添加vip

4.RS--webserver2 :

实验一配好网关、IP等基础上:

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

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

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

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

#使vip不对外响应

ip a a 192.168.0.200/32 dev lo #添加vip

5.客户端client :

vim /etc/NetworkManager/system-connections/eth0.nmconnection #NAT模式的eth0

md-end-block 复制代码
[connection]
id=eth0
type=ethernet
interface-name=eth0

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

nmcli connection reload

nmcli connection up eth0

结果测试:

for i in {1..10} #省略号只能有两点 ..

do

curl 192.168.0.200

done

测试结果:按权重值轮询10遍
相关推荐
测试员周周3 小时前
【Appium 系列】第16节-WebView-H5上下文切换 — 混合应用的自动化难点
运维·开发语言·人工智能·功能测试·appium·自动化·测试用例
辰海Coding6 小时前
MiniSpring框架学习笔记-解决循环依赖的简化IoC容器
笔记·学习
晓梦林6 小时前
cp520靶场学习笔记
android·笔记·学习
小鹏linux6 小时前
Ubuntu 22.04 部署开源免费具有精美现代web页面的Casdoor账号管理系统
linux·前端·ubuntu·开源·堡垒机
在角落发呆7 小时前
Linux转发配置:解锁网络互联的核心密码
linux·运维·网络
心中有国也有家7 小时前
cann-recipes-infer:昇腾 NPU 推理的“菜谱集合”
经验分享·笔记·学习·算法
玄米乌龙茶1237 小时前
LLM成长笔记(三):API 开发基础
笔记
Upsy-Daisy7 小时前
AI Agent 项目学习笔记(八):Tool Calling 工具调用机制总览
人工智能·笔记·学习
齐潇宇7 小时前
Zabbix 7 概述与配置
linux·zabbix·监控告警
LuminousCPP9 小时前
数据结构 - 线性表第四篇:C 语言通讯录优化升级全记录(踩坑 + 思考)
c语言·开发语言·数据结构·经验分享·笔记·学习