目录
上篇: 负载均衡集群(一)-CSDN博客
[1. 添加虚拟服务器](#1. 添加虚拟服务器)
[2. 添加真实服务器](#2. 添加真实服务器)
[3. 删除虚拟服务器](#3. 删除虚拟服务器)
[4. 删除真实服务器](#4. 删除真实服务器)
[5. 列出当前配置](#5. 列出当前配置)
[6. 修改服务器权重](#6. 修改服务器权重)
[8. 清除所有配置](#8. 清除所有配置)
ipvsadm
是 Linux 系统中用于配置和管理 IP Virtual Server(IPVS)的命令行工具。IPVS 是 Linux 内核中的一个模块,用于实现网络负载均衡,它可以在四层(传输层)进行负载均衡,支持 TCP、UDP 等协议。以下是 ipvsadm
常用的命令选项和功能总结:
LVS-server安装lvs管理软件
bash
yum -y install ipvsadm
程序包:ipvsadm(LVS管理工具)
主程序:/usr/sbin/ipvsadm
规则保存工具:/usr/sbin/ipvsadm-save > /path/to/file
配置文件:/etc/sysconfig/ipvsadm-config
命令参数概述
-
基本命令
-A
,--add-service
: 添加一个新的虚拟服务器或者一个新的服务组。-D
,--delete-service
: 删除一个虚拟服务器或者服务组。-E
,--edit-service
: 编辑一个现有的虚拟服务器或者服务组。-L
,--list
: 列出所有的虚拟服务器和服务组。-C
,--clear
: 清除所有 IPVS 配置。-R
,--replace-service
: 替换现有的虚拟服务器或者服务组。
-
虚拟服务器相关
-t
,--virtual-server
: 指定虚拟服务器的 IP 地址和端口。-s
,--scheduler
: 指定调度算法(Scheduler),如rr
(Round Robin)、wrr
(Weighted Round Robin)、lc
(Least Connection)等。-p
,--protocol
: 指定虚拟服务器使用的协议,如 TCP 或 UDP。
-
后端服务器相关
-r
,--real-server
: 指定后端服务器的 IP 地址和端口。-m
,--method
: 指定后端服务器的调度算法,通常与-a
或-A
一起使用。-w
,--weight
: 设置后端服务器的权重,通常与-a
或-A
一起使用。
-
其他参数
-Z
,--zero
: 将统计信息归零(清空连接计数器)。-G
,--get
: 获取指定服务的详细信息。-U
,--update
: 更新指定服务的详细信息。
调度算法
ipvsadm
支持多种调度算法,以下是一些主要算法:
- rr (轮询调度) :
-s rr
- wrr (加权轮询调度) :
-s wrr
- lc (最小连接调度) :
-s lc
- wlc (加权最小连接调度) :
-s wlc
- sh (源地址散列调度) :
-s sh
- dh (目的地址散列调度) :
-s dh
基本命令
1. 添加虚拟服务器
添加一个新的虚拟服务器:
ipvsadm -A -t [虚拟IP]:[端口] -s [调度算法]
例:
ipvsadm -A -t 192.168.226.10:80 -s wrr
2. 添加真实服务器
向虚拟服务器添加一个真实服务器:
ipvsadm -a -t [虚拟IP]:[端口] -r [真实IP]:[端口] -m
例:
ipvsadm -a -t 192.168.226.10:80 -r 192.168.226.2:80 -m
3. 删除虚拟服务器
删除一个虚拟服务器:
ipvsadm -D -t [虚拟IP]:[端口]
例:
ipvsadm -D -t 192.168.226.10:80
4. 删除真实服务器
从虚拟服务器删除一个真实服务器:
ipvsadm -d -t [虚拟IP]:[端口] -r [真实IP]:[端口]
例:
ipvsadm -d -t 192.168.226.10:80 -r 192.168.226.2:80
5. 列出当前配置
显示当前 IPVS 配置:
ipvsadm -L -n
输出示例:
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.226.10:80 wrr
-> 192.168.226.2:80 Masq 1 0 0
-> 192.168.226.3:80 Masq 1 0 0
6. 修改服务器权重
修改虚拟服务器算法:
bash
ipvsadm -E -t 192.168.226.10:80 -s lc
修改真实服务器的权重:
ipvsadm -e -t [虚拟IP]:[端口] -r [真实IP]:[端口] -w [权重]
例:
bash
ipvsadm -e -t 192.168.226.10:80 -r 192.168.226.2:80 -w 3
7.保存规则
bash
1.保存到文件
ipvsadm-save > /etc/sysconfig/ipvsadm
#当然该命令也可以自定义保存规则的位置
2.有指定的配置文件后再保存可以直接用即可
ipvsadm -S
8. 清除所有配置
清除当前所有的 IPVS 配置:
ipvsadm -C
进行增加虚拟和真实服务器操作示例
添加并配置一个虚拟服务器与真实服务器练习:
是通过在ipvsadm中添加一个虚拟服务器IP,然后再这个虚拟服务器IP名下 管理多个真实的后端服务器。
1.添加虚拟服务器(使用加权轮询调度算法):
bash
ipvsadm -A -t 10.36.178.100:80 -s wrr
2.添加两个真实服务器到虚拟服务器:
bash
ipvsadm -a -t 10.36.178.100:80 -r 192.168.226.2:80 -m
ipvsadm -a -t 10.36.178.100:80 -r 192.168.226.3:80 -m
3.查看配置:
ipvsadm -L -n
4.修改真实服务器的权重:
bash
ipvsadm -e -t 10.36.178.100:80 -r 192.168.226.2:80 -w 3
5.删除一个真实服务器:
bash
ipvsadm -d -t 10.36.178.100:80 -r 192.168.226.3:80
6.删除虚拟服务器:
bash
ipvsadm -D -t 10.36.178.100:80
7.清除所有配置:
ipvsadm -C