一.概念:
LVS
1.lvs的核心思想是 将客户端请求分发到多台后端真实服务器,从而实现:
-
负载均衡:避免单台服务器过载。
-
高可用性:某台服务器故障时,自动切换到其他服务器。
-
可扩展性:可动态增加服务器以应对高流量。
名词:
VS:Virtual Server
RS:Real Server
CIP:Client IP
VIP: Virtual serve IP VS外网的IP
DIP: Director IP VS内网的IP
RIP: Real server IP
- LVS有四种工作模式
(1) NAT 模式
- 原理:
客户端请求先到达LVS 负载均衡器。
LVS 修改目标IP并转发给后端服务器。
后端服务器返回数据时LVS 再修改源IP返回给客户端。
- 特点:
所有流量都经过 LVS,可能成为性能瓶颈。
适用于 **小型集群**,Real Server 可以位于私有网络。
- 架构示例:
客户端 → LVS → Real Server → LVS → 客户端

(2) DR 模式
- 原理:
LVS 只修改请求的MAC 地址,直接转发给Real Server。
Real Server直接返回数据给客户端(不经过 LVS)。
- 特点:
高性能,LVS 仅处理入站请求,返回流量不经过它。
Real Server 必须配置VIP并隐藏 ARP 响应。
适用于高并发场景。
- 架构示例:
客户端 → LVS → Real Server

(3) TUN 模式
- 原理:
LVS 将请求封装在IP 隧道 中发送给 Real Server。
Real Server 解封装后直接返回数据给客户端。
- 特点:
Real Server 可以位于不同物理网络。
性能略低于 DR 模式,但比 NAT 模式好。
适用于分布式集群。
- 架构示例:
客户端 → LVS → Real Server

(4)FULLNAT模式
- 原理:
双向地址转换:
入站请求:LVS 同时修改源IP和目标IP。
出站响应:Real Server 返回数据时,LVS 反向修改源I和目标IP。 - 特点: 可在任意网段,无需任何特殊配置。 支持跨网络,机房集群。 - 架构示例:
Client
| (CIP → VIP)
LVS Director\] ← 双向NAT(CIP↔LVS_IP, VIP↔RIP) \| (LVS_IP → RIP) \[Real Servers

集群与分布式
集群
定义:
将多台同构服务器通过高速网络连接,对外表现为单一系统,共同提供服务。
核心特点:
-
统一管理:所有节点运行相同服务,共享存储或配置。
-
高可用性:故障时自动切换(如 LVS + Keepalived)。
-
负载均衡:流量均匀分发(如 Nginx、LVS)。
-
典型架构:
客户端 → [负载均衡器] → [Server1][Server2][Server3](相同服务)
应用场景:
-
Web服务器集群
-
数据库主从集群
-
高性能计算
优势:
-
提升系统可靠性和扩展性。
-
运维简单。

分布式
定义:
将系统拆分为多个独立服务,部署在不同节点上,通过网络协作完成任务。
核心特点:
-
异构性:不同节点可能运行不同服务。
-
松耦合:服务通过API/RPC通信。
-
分区容忍性:允许部分节点故障。
-
典型架构:
客户端\] → \[服务A\] → \[服务B\] → \[数据库分片
(节点1) (节点2) (节点3)
应用场景:
-
微服务架构
-
大数据处理
-
区块链网络
优势:
-
更强的横向扩展能力。
-
灵活的技术栈选择。
系统性能扩展方式
Scale UP:向上扩展,增强 Scale Out:向外扩展,增加设备,调度分配问题,Cluster
二:lvs部署命令介绍
1.lvs相关软件信息
程序包:ipvsadm
Unit File: ipvsadm.service
主程序:/usr/sbin/ipvsadm
规则保存工具:/usr/sbin/ipvsadm-save
规则重载工具:/usr/sbin/ipvsadm-restore
配置文件:/etc/sysconfig/ipvsadm-config
ipvs调度规则文件:/etc/sysconfig/ipvsadm
2.ipvsadm命令
核心功能:
集群服务管理:增、删、改
集群服务的RS管理:增、删、改
查看
管理集群服务
ipvsadm -A|E -t(tcp)|u(udp)|f(防护墙标签) \
service-address(集群地址) \
[-s scheduler(调度算法)] \
[-p [timeout]] \
[-M netmask] \
[--pepersistence_engine] \
[-b sched-flags]
ipvsadm -D -t|u|f service-address 删除
ipvsadm --C 清空
ipvsadm --R 重载
ipvsadm -S [-n] 保存
管理集群中的real server
ipvsadm -a|e -t|u|f service-address -r server-address [-g | -i| -m](工作模式) [-w
weight](权重)
ipvsadm -d -t|u|f service-address -r server-address 删除RS
ipvsadm -L|l [options] 查看rs
ipvsadm -Z [-t|u|f service-address] 清楚计数器
3.lvs集群中的增删改
1.管理集群服务中的增删改
ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p [timeout]]
-A #添加
-E #修改
-t #tcp服务
-u #udp服务
-s #指定调度算法,默认为WLC
-p #设置持久连接超时,持久连接可以理解为在同一个时间段同一个来源的请求调度到同一Realserver
-f #firewall mask 火墙标记,是一个数字
2.管理集群中RealServer的曾增删改
ipvsadm -a|e -t|u|f service-address -r realserver-address [-g|i|m] [-w weight]
-a -e -t -u -f -r -g -i -m -w -Z -C -L -n
-a #添加realserver
-e #更改realserver
-t #tcp协议
-u #udp协议
-f #火墙 标签
-r #realserver地址
-g #直连路由模式
-i #ipip隧道模式
-m #nat模式
-w #设定权重
-Z #清空计数器
-C #清空lvs策略
-L #查看lvs策略
-n #不做解析
--rate :输出速率信息
pvs规则:/proc/net/ip_vs
ipvs连接:/proc/net/ip_vs_conn
部署nat模式集群
实验环境

首先安装ipvsadm:

部署策略及查看策略

保存规则 ipvsadm -Sn
删除规则 ipvsadm -C

重新加载规则 ipvsadm -R < /etc/sysconfig/ipvsadm-config
在rs1和rs2中进行配置并刷新


部署DR模式集群
实验环境

在客户端主机中为nat模式网卡


在在路由主机中设定双网卡,eth0为nat网卡,eth1为仅主机网卡

对于eth0

对于eth1

调度器设定网卡仅主机


RS1设定网卡为仅主机

RS2同理
确保每台主机可以ping通
DR模型中各主机上均需要配置VIP,解决地址冲突的方式有三种:
(1)在前端网关做静态绑定
(2)在各RS使用arptables
(3)在各RS修改内核参数,来限制arp响应和通告的级别
配置详情
1.要点
1.Director服务器采用双IP桥接网络,一个是VPP,一个DIP
2.Web服务器采用和DIP相同的网段和Director连接
3.每个Web服务器配置VIP
4.每个web服务器可以出外网
2.内容:
在lvs,rs1和rs2中设定vip:

rs1和rs2解决响应问题

在lvs中配置策略
