当前位置: 首页 > news >正文

LVS(Linux Virtual Server) 集群

一.概念:

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 serveripvsadm -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 删除RSipvsadm -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中配置策略

http://www.xdnf.cn/news/1153729.html

相关文章:

  • 【AI】文生图文生视频
  • 基于单片机的危险气体远程检测报警系统设计
  • 周末总结(2024/07/19)
  • 前端面试专栏-工程化:28.团队协作与版本控制(Git)
  • Jmeter系列(7)-线程组
  • python基础笔记
  • 西门子 S7-1500 PLC 电源选型指南:系统电源与负载电源的核心区别
  • LLM大模型微调技术与最佳实践
  • freertos任务调度关键函数理解
  • 动态规划——状压DP经典题目
  • 【Keil5-map文件】
  • FMEA-CP-PFD三位一体数字化闭环:汽车部件质量管控的速效引擎
  • simulink系列之模型接口表生成及自动连线脚本
  • Nestjs框架: 理解 RxJS响应式编程的核心概念与实践
  • 商业秘密视域下计算机软件的多重保护困境
  • 支付宝支付
  • day11 ADC
  • 论文略读: RASA: RANK-SHARING LOW-RANK ADAPTATION
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘sqlalchemy’问题
  • Linux内核设计与实现 - 第6章 内核数据结构
  • NX二次开发常用函数坐标转化UF_MTX4_csys_to_csys和UF_MTX4_vec3_multipl
  • 轻松学习C++:基本语法解析
  • 多线程 示例
  • leetcode_121 买卖股票的最佳时期
  • AWS Partner: Accreditation (Technical)
  • 轻松上手:从零开始启动第一个 Solana 测试节点
  • 综合实验--eNSP实验
  • TypeScript 泛型详解:从基础到实战应用
  • Linux中添加重定向(Redirection)功能到minishell
  • python网络爬虫之selenium库(二)