20260423 一、 负载均衡-LVS 全解析

一、 负载均衡-LVS 全解析

主机名 IP地址 网关 DNS 服务器角色
client2.jiang.cloud 10.1.1.21(vmnet1) 10.1.1.10 223.5.5.5 客户端
client1.jiang.cloud 10.1.8.21(vmnet8) 10.1.8.10 223.5.5.5 客户端
lvs.jiang.cloud 10.1.1.10(vmnet1) 10.1.8.10(vmnet8) 无网关 10.1.8.2 无DNS 223.5.5.5 LVS 服务器
web1.jiang.cloud 10.1.8.11(vmnet8) 10.1.8.10 223.5.5.5 Web 服务器
web2.jiang.cloud 10.1.8.12(vmnet8) 10.1.8.10 223.5.5.5 Web 服务器
web3.jiang.cloud 10.1.8.13(vmnet8) 10.1.8.10 223.5.5.5 Web 服务器

网络说明:

  1. 所有主机:第一块网卡名为 ens33,第二块网卡名为xx
  2. 默认第一块网卡模式为nat,第二块网卡模式为hostonly
  3. 网关设置:10.1.1.0/24 网段网关为10.1.1.10,10.1.8.0/24 网段网关为10.1.8.10

**注意:**本次实验的网关指向 LVS 服务器。

1.1 配置路由

注意:所有web都要执行以下命令。

bash 复制代码
[root@web1-3 ~ 10:58:03]# yum install -y nginx

# 部署 web
[root@web1 ~ 11:19:11]# echo Welcome to $(hostname) > /usr/share/nginx/html/index.html
[root@web1 ~ 11:19:55]# systemctl enable nginx.service --now
# 访问后端 nginx
[root@client1 ~ 10:58:03]# curl 10.1.8.11
Welcome to web1.jiang.cloud
[root@client1 ~ 11:21:13]# curl 10.1.8.12
Welcome to web2.jiang.cloud
[root@client1 ~ 11:21:16]# curl 10.1.8.13
Welcome to web3.jiang.cloud

1.2 配置 LVS

bash 复制代码
# 安装 ipvsadm
[root@lvs ~ 10:58:03]# yum install -y ipvsadm

# ipvsadm 服务启动的时候,从该文件中读取ipvs规则
[root@lvs ~ 11:21:44]# systemctl enable ipvsadm.service --now

# 创建轮询负载
## 增加一个tcp模式虚拟IP,调度模式:轮询
[root@lvs ~ 11:32:57]# ipvsadm -E -t 10.1.1.10:80 -s rr

# 未虚拟IP增加后端真实主机,模式masquerade(NAT)
ipvsadm -a -t 10.1.1.10:80 -r 10.1.8.11 -m
ipvsadm -a -t 10.1.1.10:80 -r 10.1.8.12 -m
ipvsadm -a -t 10.1.1.10:80 -r 10.1.8.13 -m

# 保存转发规则到文件中
ipvsadm-save -n > /etc/sysconfig/ipvsadm

# 核实配置是否生效
[root@lvs ~ 11:34:49]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.1.1.10:80 wrr
  -> 10.1.8.11:80                 Masq    1      0          90        
  -> 10.1.8.12:80                 Masq    2      0          90        
  -> 10.1.8.13:80                 Masq    3      0          90  
  
  # 多次访问验证 
  [root@client2 ~ 11:28:47]# for i in {1..90};do curl -s 10.1.1.10 ;done|sort|uniq -c
     30 Welcome to web1.jiang.cloud
     30 Welcome to web2.jiang.cloud
     30 Welcome to web3.jiang.cloud

负载均衡模式更改为加权轮询。

bash 复制代码
# 修改 调度模式为:带权重的轮询
[root@lvs ~ 11:32:57]# ipvsadm -E -t 10.1.1.10:80 -s wrr
# 设置权重为2
[root@lvs ~ 11:34:20]# ipvsadm -e -t 10.1.1.10:80 -r 10.1.8.12 -m -w 2
# 设置权重为3
[root@lvs ~ 11:34:38]# ipvsadm -e -t 10.1.1.10:80 -r 10.1.8.13 -m -w 3
[root@lvs ~ 11:34:49]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.1.1.10:80 wrr
  -> 10.1.8.11:80                 Masq    1      0          90        
  -> 10.1.8.12:80                 Masq    2      0          90        
  -> 10.1.8.13:80                 Masq    3      0          90       

访问验证

bash 复制代码
[root@client2 ~ 11:33:18]# for i in {1..90};do curl -s 10.1.1.10 ;done|sort|uniq -c
     15 Welcome to web1.jiang.cloud
     30 Welcome to web2.jiang.cloud
     45 Welcome to web3.jiang.cloud
相关推荐
jingleli2111 小时前
ssh配置内置sftp并使用密钥对登录
运维·ssh
盘古信息IMS11 小时前
盘古信息 MES:赋能电子制造精益生产,实现排程、物料、质量一体化精准管控
大数据·运维·制造
2501_9127840811 小时前
技术深度解析:Taocarts 跨境独立站系统 —— 反向海淘全链路架构设计与自动化实现
运维·自动化·独立站·taocarts
原来是猿12 小时前
Linux守护进程(Daemon)完全指南:从原理到实战
linux·运维·服务器·网络·php
阡陌..12 小时前
如何使用samba为Linux设置一个局域网共享盘
linux·运维·服务器
晴夏。12 小时前
UE5 motion warping 运动扭曲的用途
运维·ue5
霞姐聊IT13 小时前
三大并发技术—进程、线程和协程
linux·运维·网络·操作系统
ydyd2026042113 小时前
设备管理智能化:易点易动如何搭建运维数据可视化闭环体系
运维·信息可视化