详细分析ipvsadm负载均衡的命令

目录

  • 前言
  • [1. 基本知识](#1. 基本知识)
  • [2. 命令参数](#2. 命令参数)
  • [3. 拓展](#3. 拓展)

前言

LVS四层负载均衡架构详解Lvs推荐阅读:添加链接描述

1. 基本知识

ipvsadm 是用于管理和配置 Linux 服务器上 IP Virtual Server (IPVS) 的工具,是 Linux 提供的一个负载均衡模块,支持多种负载均衡算法,通过 ipvsadm 命令可以管理虚拟服务器的设置和状态

允许用户添加、删除、显示虚拟服务器及其后端服务器(real server)的信息

常见的 ipvsadm 命令操作包括:

  • 查看虚拟服务器和后端服务器的状态
  • 配置虚拟服务器的负载均衡策略
  • 添加或删除后端服务器
  • 配置负载均衡算法

2. 命令参数

一、 查看当前的虚拟服务器配置 :ipvsadm -L

输出基本的示例如下:

java 复制代码
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port  Forward Weight ActiveConn InActConn
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.0.100:80  rr    1      5          0       
  -> 192.168.0.101:80           Route   1      5          0
  -> 192.168.0.102:80           Route   1      0          0

特意在新的服务器上操作:

基本的参数如下:

  • Prot:协议类型(TCP/UDP)
  • LocalAddress:Port:虚拟服务器的IP和端口
  • Forward: 转发方式(如 rr,表示轮询,wlc,表示加权轮询)
  • Weight:负载权重
  • ActiveConn:活跃连接数
  • InActConn:非活跃连接数
  • RemoteAddress:Port:后端服务器地址和端口

二、添加虚拟服务器,使用 -A 选项添加一个虚拟服务器

bash 复制代码
ipvsadm -A -t 192.168.0.100:80 -s rr
  • -A:添加虚拟服务器
  • -t:表示虚拟服务器的地址和端口(这里是 192.168.0.100:80)
  • -s rr:负载均衡算法,这里使用的是 "round robin"(轮询)算法

三、添加后端服务器(Real Server),使用 -a 选项为虚拟服务器添加一个后端服务器

java 复制代码
ipvsadm -A -t 192.168.0.100:80 -s rr
ipvsadm -a -t 192.168.0.100:80 -r 192.168.0.101:80 -m
ipvsadm -a -t 192.168.0.100:80 -r 192.168.0.102:80 -m
  • -a: 添加后端服务器
  • -r: 后端服务器的IP和端口
  • -m:转发模式,通常为 masq(IP 地址伪装)或 nat(网络地址转换)

四、删除虚拟服务器或后端服务器

删除虚拟服务器:ipvsadm -D -t 192.168.0.100:80

删除后端服务器:ipvsadm -d -t 192.168.0.100:80 -r 192.168.0.101:80

3. 拓展

补充下负载均衡的算法:

  • rr (Round Robin): 轮询算法,按顺序分配请求
  • wrr (Weighted Round Robin):加权轮询,根据权重分配请求
  • lc (Least Connections):最少连接算法,将请求分配给连接数最少的后端服务器
  • wlc (Weighted Least Connections):加权最少连接算法,基于权重和连接数分配请求
  • sh (Source Hashing):源地址哈希算法,基于客户端的 IP 地址计算哈希值并分配请求

高权重负载均衡:

java 复制代码
ipvsadm -A -t 192.168.0.100:80 -s wrr
ipvsadm -a -t 192.168.0.100:80 -r 192.168.0.101:80 -w 3
ipvsadm -a -t 192.168.0.100:80 -r 192.168.0.102:80 -w 1

最少连接:

java 复制代码
ipvsadm -A -t 192.168.0.100:80 -s lc
ipvsadm -a -t 192.168.0.100:80 -r 192.168.0.101:80 -m
ipvsadm -a -t 192.168.0.100:80 -r 192.168.0.102:80 -m
相关推荐
分布式存储与RustFS4 分钟前
图床搬到自己的对象存储:PicGo 加 S3 插件的完整配置
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
月落汀兰23 分钟前
建池后类型不可修改!深度拆解 Ceph PG 放置组,副本 / 纠删码池选型,快照与命名空间避坑
运维·ceph
技术人生0011 小时前
VMware Workstation 安装 Ubuntu 24.04 LTS 完整教程
运维·服务器·ubuntu
智能运维指南2 小时前
从分散运维到统一运维:2026 统一运维管理体系建设路径与选型要点
运维·一体化运维·智能运维·嘉为蓝鲸
ITyunwei09872 小时前
ITIL 5 落地前,先补齐工单数据底座的 4 步
运维·企业微信
实点科技2 小时前
远程IO模块的柜外安装:装在什么位置、防尘罩怎么选配
运维·服务器·网络
云计算-Security2 小时前
AI 赋能运维:UniRack 主机纳管平台的架构与实践
运维·人工智能·架构
青梅味猪大肠3 小时前
【操作系统-26】进程互斥软件实现-Peterson算法
linux·运维·服务器
分布式存储与RustFS3 小时前
在 Kubernetes 里跑对象存储的三个方案:Helm、Operator、以及什么时候别用 K8s
运维·云原生·开源·对象存储·分布式存储·s3·性能基准