LVS(Linux Virtual Server) 集群

发布于:2025-07-23 ⋅ 阅读:(16) ⋅ 点赞:(0)

一.概念:

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

2. 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中配置策略


网站公告

今日签到

点亮在社区的每一天
去签到