常用操作说明
ipvsadm是一个用于配置和管理LVS的命令行工具。它允许管理员添加、编辑和删除集群服务和和集群中的RS(Real Server,真实服务器)。
ipvsadm对集群的操作
基本语法:
1 | ipvsadm -A|E|D -t|u|f director_addr:port [-s scheduler] [-p [timeout]] |
参数说明如表1。
参数 |
说明 |
---|---|
-A |
添加一个集群服务。 |
-E |
修改一个集群服务。 |
-D |
删除一个集群服务。例如: ipvsadm -D -t 10.1.0.5:80。 |
-t |
指定TCP协议服务。 |
-u |
指定UDP协议服务。 |
-f |
指定firewall mark模式,通常用于将两个或以上的服务绑定为一个服务进行处理,它是一个数字。 |
director_addr |
指定虚拟IP地址(即VIP)。 |
-s |
指定调度算法。 如果没有指定,默认为wlc。可用的调度算法包括:rr(轮询)、wrr(加权轮询)、sh(源哈希)、dh(目标哈希)、lc(最少连接)、wlc(加权最少连接)、sed(最短预期延迟)、nq(不排队)、lblc(本地最少连接)、lblcr(本地最少连接比率)。 |
-p |
启用LVS的持久连接功能。如果没有指定超时时间,默认为300秒。 |
service-address |
指定LVS服务器的IP地址和端口,格式为IP:port,端口类型由-t、-u或-f选项指定。 |
ipvsadm对集群的操作示例:在LVS集群中添加一个使用firewall mark模式的集群服务,并指定调度算法为wrr。
1 | ipvsadm -A -f 11 -s wrr |

上述命令中的11为通过iptables xxxx -j MARK --set-mark 11得到。类似地,可以将端口80和443的流量归为一类,通过ipvsadm进行统一的负载均衡调度
其他命令规则
规则 |
命令 |
说明 |
---|---|---|
显示规则 |
-L或l |
显示当前的LVS规则。 |
-n或--numeric |
不反解析IP地址和端口,以数值格式显示主机地址和端口号。 |
|
--exact |
显示精确值。 |
|
--stats |
显示统计数据。 |
|
--rate |
显示速率。 |
|
--timeout |
显示TCP、TCPFIN和UDP的会话超时时长。 |
|
--sort |
显示当前的IPVS的连接状况,按连接数排序。 |
|
-c或--connection |
查看连接数。 |
|
清空规则 |
ipvsadm -C |
清空所有LVS规则。 |
保存规则 |
ipvsadm -S |
默认标准输出,可重定向至指定文件。 |
ipvsadm-save |
默认标准输出,可重定向到指定文件。 |
|
systemctl stop ipvsadm.service |
停止ipvsadm服务时会自动保存规则,默认保存路径为“/etc/sysconfig/ipvsadm”。 |
|
导入规则 |
ipvsadm -R < /saved_file |
从指定文件中恢复LVS规则。 |
ipvsadm-restore < /saved_file |
从指定文件中恢复LVS规则。 |