LVS 负载均衡群集

一、群集基础

1. 群集定义

多台服务器整合为一个整体,对外提供同一 IP访问入口,实现高性能、高可用、负载均衡。

2. 群集三大类型

  • 负载均衡群集(LB):提升并发处理能力,分流请求,如 LVS、Nginx 反向代理。

  • 高可用群集(HA):减少服务中断,故障自动切换,如 Keepalived。

  • 高性能运算群集(HPC):分布式并行计算,如云计算、网格计算。

3. 负载均衡三层结构

  1. 负载调度器(Director):唯一入口,使用 VIP,主备热备份。

  2. 服务器池(Server Pool):提供真实服务,使用 RIP,由调度器分发请求。

  3. 共享存储 :保证节点数据一致,Linux 下常用NFS。

4. LVS 三种工作模式

模式 全称 特点 适用场景
NAT 地址转换 调度器是网关,进出流量都经过它,仅需 1 个公网 IP,安全易配置 中小型网站
TUN IP 隧道 节点直接回客戶,跨公网部署 跨地域节点
DR 直接路由 节点与调度器同网段,性能最强 高并发内网场景

二、LVS 核心知识

1. LVS 简介

  • Linux Virtual Server,Linux 内核级负载均衡,由章文嵩博士开发。

  • 内核模块:ip_vs ,管理工具:ipvsadm。

2. 四种常用调度算法

  1. rr(轮询):轮流分配,不看负载。

  2. wrr(加权轮询):按权重分配,性能高的节点权重更大。

  3. lc(最少连接):优先分给连接数最少的节点。

  4. wlc(加权最少连接):结合权重与连接数,企业最常用。

3. ipvsadm 常用命令

复制代码
# 加载内核模块
modprobe ip_vs
​
# 清除原有策略
ipvsadm -C
​
# 创建虚拟服务器(VIP:192.168.74.129:80,算法rr)
ipvsadm -A -t 192.168.74.129:80 -s rr
​
# 添加真实服务器(-m NAT模式,-w 权重)
ipvsadm -a -t 192.168.74.129:80 -r 192.168.10.102:80 -m -w 1
ipvsadm -a -t 192.168.74.129:80 -r 192.168.10.103:80 -m -w 1
​
# 查看规则
ipvsadm -ln
​
# 查看连接状态
ipvsadm -lnc
​
# 保存策略
ipvsadm-save > /etc/sysconfig/ipvsadm
systemctl enable ipvsadm

三、NFS 共享存储(群集统一数据)

1. NFS 服务端配置

复制代码
# 安装依赖
yum install -y nfs-utils rpcbind
systemctl enable --now rpcbind nfs-server
​
# 创建共享目录
mkdir -p /opt/wwwroot
​
# 配置共享(允许192.168.10.0/24读写)
echo "/opt/wwwroot 192.168.10.0/24(rw,sync,no_root_squash)" >> /etc/exports
​
# 生效配置
exportfs -rv
showmount -e  # 查看共享

2. NFS 客户端挂载

复制代码
yum install -y nfs-utils rpcbind
systemctl enable --now rpcbind
​
# 临时挂载
mount 192.168.10.104:/opt/wwwroot /var/www/html
​
# 开机自动挂载
echo "192.168.10.104:/opt/wwwroot /var/www/html nfs defaults,_netdev 0 0" >> /etc/fstab
mount -a

四、LVS-NAT 模式实验(完整步骤)

1. 实验环境

角色 系统 IP 地址 作用
LVS 调度器 openEuler 内网:192.168.10.101外网 VIP:192.168.74.129 负载分发
Web 节点 1 openEuler 192.168.10.102 提供 HTTP 服务
Web 节点 2 openEuler 192.168.10.103 提供 HTTP 服务
NFS 存储 openEuler 192.168.10.104 共享网页数据

2. LVS 调度器配置

1)开启路由转发

复制代码
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p

2)配置双网卡(外网 VIP:192.168.74.129)

复制代码
ifconfig ens37 192.168.74.129 netmask 255.255.255.0 up

3)配置 LVS 规则

bash 复制代码
yum install -y ipvsadm
ipvsadm -C
ipvsadm -A -t 192.168.74.129:80 -s rr
ipvsadm -a -t 192.168.74.129:80 -r 192.168.10.102:80 -m -w 1
ipvsadm -a -t 192.168.74.129:80 -r 192.168.10.103:80 -m -w 1
ipvsadm-save > /etc/sysconfig/ipvsadm
systemctl enable --now ipvsadm

3. Web 节点服务器配置(两台相同操作)

1)修改网关指向 LVS 内网 IP

bash 复制代码
route del default gw 原网关
route add default gw 192.168.10.101

2)安装 HTTP 服务并挂载 NFS

bash 复制代码
yum install -y httpd
systemctl enable --now httpd
​
# 挂载NFS共享目录
mount 192.168.10.104:/opt/wwwroot /var/www/html
​
# 测试页面
echo "<h1>LVS-NAT 测试 Web1</h1>" > /var/www/html/index.html

4. 测试验证

1)浏览器访问 VIP:http://192.168.74.129

2)多次刷新,页面在 Web1、Web2 之间切换,说明负载均衡生效。

3)调度器查看状态

复制代码
ipvsadm -ln
ipvsadm -lnc

五、实验关键要点

  1. NAT 模式下,Web 节点网关必须指向 LVS 调度器。

  2. LVS 调度器必须开启内核路由转发。

  3. NFS 用于统一网页,保证所有节点内容一致。

  4. ipvsadm 规则需保存,否则重启失效。

相关推荐
KIDULT°6 小时前
MySQL系列 (1):数据库原理
运维·数据库·mysql·云计算
wewowilling9 小时前
认识微服务
java·运维·微服务·springcloud
玖石书9 小时前
Ubuntu 24.04 UFW 全命令攻略:从入门到端口开放实战
linux·运维·ubuntu
weifont11 小时前
自动化抓取和上架商品:能不动手,就少动手
运维·前端·自动化
拂拉氏11 小时前
【知识讲解】 Linux之动静态库的了解
linux·运维·服务器·动静态库
Mikko712 小时前
Linux 重启后日志没了?进程被 OOM 杀了去哪看?logrotate 之后日志还往旧文件写?三台真机实测日志与性能排查
linux·运维·centos
光依旧12 小时前
发版就掉请求?Spring Boot优雅停机的四步
运维·spring boot·nginx·高可用·优雅停机·mcp server
yichengerp14 小时前
电子行业常用erp系统有哪些?推荐适合中小电子厂的易呈erp软件,操作简单,易落地
大数据·运维·人工智能·云计算·制造
天国梦14 小时前
国密门禁品牌怎么选?2026年最新3个避坑要点
运维·服务器·数据库·python
信可维15 小时前
自动化操作多平台账号:登录态、双会话与 User Data 的 3 个坑
运维·自动化