LVS系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.htmljavascript
ipvsadm是ipvs的命令行管理工具,能够定义、删除、查看virtual service和Real Server的属性。php
能够直接yum安装。如下是编译安装ipvsadm的过程,对于内核版本2.6.xx,须要安装的ipvsadm版本要大于1.24。css
# 下载ipvsadm
wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz -P /tmp
cd /tmp
# 安装依赖包
yum -y install libnl* popt*
# 安装ipvsadm,注意不须要./configure
tar xf ipvsadm-1.26.tar.gz
cd ipvsadm-1.26
make && make install
编译安装完以后,会在/etc/init.d/ (CentOS6)或/usr/lib/systemd/system/ (CentOS7)目录下自动生成ipvsadm服务管理脚本,这和通常的编译不同,比较人性化。html
安装ipvsadm后,生成如下文件。java
[root@xuexi ~]# rpm -ql ipvsadm
/etc/sysconfig/ipvsadm-config
/usr/lib/systemd/system/ipvsadm.service
/usr/sbin/ipvsadm # ipvs规则管理工具
/usr/sbin/ipvsadm-restore # ipvs规则恢复工具 /usr/sbin/ipvsadm-save # ipvs规则保存工具 /usr/share/doc/ipvsadm-1.27 /usr/share/doc/ipvsadm-1.27/README /usr/share/man/man8/ipvsadm-restore.8.gz /usr/share/man/man8/ipvsadm-save.8.gz /usr/share/man/man8/ipvsadm.8.gz
使用ipvsadm --help
能够查看使用方法。ipvs的更多功能以及ipvsadm的更详细用法,请man ipvsadm
linux
ipvsadm的选项中,大写选项管理虚拟服务virtual service,小写选项管理关联了虚拟服务的真实服务器RealServer,"-L"和"-l"除外,它们同义。
(1).管理virtual services:
添加:-A -t|u|f service-address [-s scheduler]
-t:tcp协议的集群
-u:udp协议的集群
service-address格式为IP:PORT
-f:firewall-mark防火墙标记
service-address:a num for mark
-s:调度算法
修改:-E -t|u|f service-address [-s scheduler] 和-A使用方法同样
删除:-D -t|u|f service-address
示例:
# ipvsadm -A -t 172.16.10.20:80 -s rr (对外的地址,也就是VIP)
(2).管理virtual service中的RealServer:
添加:-a -t|u|f service-address -r server-address [-g|i|m] [-w weight]
-t|u|f service-address:指定Real server所绑定的virtual service
-r server-address:某RS地址,在NAT模型中,可IP:PORT实现端口映射,即端口无需等于VIP对应的port
-g|i|m:指定lvs的类型,有三种:
-g:gataway即DR类型(默认的模型)
-i:--ipip,即TUN类型
-m:masquerade地址假装即NAT
-w:指定权重(须要调度算法支持权重)
修改:-e和-a用法同样
删除:-d -t|u|f service-address -r server-address表示从哪一个virtual service中删除哪一个realserver
示例:
# ipvsadm -a -t 172.16.10.20:80 -r 192.168.100.9 -m
# ipvsadm -a -t 172.16.10.20:80 -r 192.168.100.10 -m
(3).查看:
-L或者-l:列出状态信息,配合如下选项用于显示更精确数据
-n:只显示数字格式,不反解IP地址和端口
--stats:显示统计信息
--rate:显示速率信息(每秒的值)
--timeout:显示tcp/tcpfin/udp的会话超时时间长度
--daemon:显示进程状态和多播端口(不太用)
--sort:对-n列出来的进行排序(按协议、IP、端口号升序排序)
-c:显示当前ipvs的链接情况(不能和stats选项同用)
(4).其余项:
-Z:清空统计数据
-C:删除一个或全部virtual service,连同与之绑定的real server也删除
-S:保存规则 ipvsadm -S > /path/to/somefile 或者使用ipvsadm-save > /path/to/somefile
-R:载入规则 ipvsadm -R < /path/to/somefile 或者使用ipvsadm-restore < /path/to/somefile
service ipvsadm save
service ipvsadm restore