1  概述 


ipvsadm是LVS在应用层的管理命令,我们可以通过这个命令去管理LVS的配置,编辑和定制lvs的功能,也有其他工具,这个不是唯一的。ipvsadm在base源里,要自行安装,yuminstall ipvsadm

通过命令grep -i -C 10"ipvs" /boot/config-VERSION-RELEASE.x86_64,查看内核中和ipvs相关的,如查看支持的协议以及支持的算法,ipvs支持七种协议:TCP,UDP,AH,ESP,AH_ESP, SCTP


2  工具介绍

ipvsadm包构成

.程序包:ipvsadm

.Unit File: ipvsadm.service

.主程序:/usr/sbin/ipvsadm

.规则保存工具:/usr/sbin/ipvsadm-save

.规则重载工具:/usr/sbin/ipvsadm-restore

.配置文件:/etc/sysconfig/ipvsadm-config

.ipvsadm命令核心功能:

集群服务管理:增、删、改

集群服务的RS管理:增、删、改

2.1  管理集群服务:增、改、删

增加或者更改,语法如下

ipvsadm   -A|E  -t|u|f  service-address  [-s scheduler] [-p [timeout]]

-A|E 管理的是集群

-A:增加集群

-E:更改集群

删除语法如下

ipvsadm  -D  -t|u|f   service-address

-D: 删除VIP

-t|u|f

定义的服务的类型,主要是指定协议

-t: TCP协议的端口,VIP:TCP_PORT 172.18.50.75:80

-u: UDP协议的端口,VIP:UDP_PORT

-ffirewallMARK,标记,一个数字,可以给不同的协议打一个标签,代表不同协议是同一集群

[-s  scheduler]:指定集群的调度算法,默认为wlc

2.2  管理集群上的RS:增、改、删

增加或者更改,语法如下

ipvsadm  -a|e  -t|u|f  service-address  -r server-address [-g|i|m] [-w weight]

-a|e  管理RIP

如果有多个rip,以上的命令要多次执行。执行的时候要注意模式

-a:增加rip

-e: 更改rip

删除语法如下

ipvsadm  -d  -t|u|f  service-address  -r  server-address

-d:  删除rip

.server-address

rip[:port],如果省略port,不作端口映射

lvs类型选项:[-g|i|m]

-g: gateway, dr类型,默认

-i: ipip, tun类型

-m: masquerade, nat类型

-w weight:权重,指定权重

2.3  清空

.清空定义的所有内容:ipvsadm  C

.清空计数器:ipvsadm  -Z  [-t|u|f  service-address],这个主要是清空用于计算后台服务器的负载情况的计数器

2.4  查看

ipvsadm  -L|l   [options]

其中,options有以下的几类

--numeric, -n:以数字形式输出地址和端口号,不做dns解析

--exact:扩展信息,精确值

--connection-c:当前IPVS连接输出

--stats:统计信息

--rate :输出速率信息

.ipvs规则:/proc/net/ip_vs

.ipvs连接:/proc/net/ip_vs_conn,查看现在正在连接

2.5  保存及重载规则

.保存

建议保存至/etc/sysconfig/ipvsadm

ipvsadm-save > /PATH/TO/IPVSADM_FILE

ipvsadm-S > /PATH/TO/IPVSADM_FILE

centos7

systemctl  stop ipvsadm.service

centos6

service  ipvsadm stop

.重载:

ipvsadm-restore </PATH/FROM/IPVSADM_FILE

ipvsadm  -R < /PATH/FROM/IPVSADM_FILE

centos7

systemctl  restart ipvsadm.service

 centos6

service  ipvsadm restart