目录
- 前言
- [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