ipvsadm是LVS在应用层的管理命令,我们可以通过这个命令去管理LVS的配置。需要使用yum单独安装。
基本用法:
-c, --connection:列出当前的IPVS连接。--timeout:列出超时--daemon:--stats:状态信息--rate:传输速率--thresholds:列出阈值--persistent-conn:坚持连接--sor:把列表排序。--nosort:不排序-n, --numeric:不对ip地址进行dns查询--exact:单位
添加地址为207.175.44.110:80的虚拟服务,指定调度算法为轮转。ipvsadm -A -t 207.175.44.110:80 -s rr添加真实服务器,指定传输模式为NATipvsadm -a -t 207.175.44.110:80 -r 192.168.10.1:80 -mipvsadm -a -t 207.175.44.110:80 -r 192.168.10.2:80 -mipvsadm -a -t 207.175.44.110:80 -r 192.168.10.3:80 -mNAT模式是lvs的三种模式中最简单的一种。此种模式下只需要保证调度服务器与真实服务器互通就可以运行。
对于DR模式首先要配置真实服务器:对于每台真实服务器要进行以下操作:1、设置真实服务器的lo接口不做ARP应答
echo 1 > /proc/sys/net/ipv4/conf/all/arg_ignoreecho 1 > /proc/sys/net/ipv4/conf/lo/arg_ignore设置这个选项可以使得各个接口只对本接口上的地址进行响应还需要设置arp_announce选项为2,设置方法同上
2、在真实服务器上添加虚拟IP
ifconfig lo:0 192.168.10.10 boradcast 207.175.44.110 netmask 255.255.255.255ip r add 192.168.10.10 dev lo
接着添加ipvs规则:添加地址为192.168.10.10:80的虚拟服务,指定调度算法为轮转。ipvsadm -A -t 192.168.10.10:80 -s rr添加真实服务器,指定传输模式为DRipvsadm -a -t 192.168.10.10:80 -r 192.168.10.1:80 -gipvsadm -a -t 192.168.10.10:80 -r 192.168.10.2:80 -gipvsadm -a -t 192.168.10.10:80 -r 192.168.10.3:80 -g注意:此处的例子中客户、调度服务器、真实服务器都是位于同一网段的固定调度
rr:论调
wrr:加权论调
weight,加权sh:source hash ,源地址hash
动态调度
lc:最少链接
active*256+inactive
wlc:加权最少链接
(active*256+inactive)/weight
sed:最短期望延迟
(active+1)*256/weight
nq:never queue (永不排队)LBLC:基于本地的最少链接
LBLCR:基于本地的带复制功能的最少链接————
lvsipvsadm:管理集群服务的命令行工具
管理集群服务
添加:-A -t|u|f service-address[-s sheduler ]
{ -t:TCP协议集群
-u:UDP协议集群} service-address: IP:PORT(套接字)
-f:FWM:防火墙标记
service-address : Mark Number
修改: -E
删除: -D -t|u|f service-address
管理机器服务中心的RS
添加:-a -t|u|f service-address -r server-address [-g|i|m] [-w weight ]
-t|u|f service-address:事前定义好的某集群服务
-r server-address :某RS的地址,在NAT模型中;可使用IP:PORT实现端口映射:
[-g|i|m]:lvs类型
-g:DR
-i:TUN
-m:NAT
[-w weight ]:定义权重
修改:-e
删除:-d -t|u|f serrvice address -r service-add
# ipvsadm -a -t xx.xx.xx.xx:80 -r xx.xx.xx.xx -m查看
-L|l
-n:数字格式显示IP地址和端口号
--stats:统计信息
--rate:速率
--timeout:显示TCP/TCPFIN/UDP的会话超时时长
--sort:排序
-c:显示当前IPVS的链接状态-Z:清空计数器
-C:清空ipvs规则
-S:使用输出重定向进行规则保存
# ipvsadm -S > /../..
-R:使用输入重定向载入规则
# ipvsadm -R < /../..1. 查看lvs的连接状态命令: ipvsadm -l --stats
说明:
1. Conns (connections scheduled) 已经转发过的连接数
2. InPkts (incoming packets) 入包个数
3. OutPkts (outgoing packets) 出包个数
4. InBytes (incoming bytes) 入流量(字节)
5. OutBytes (outgoing bytes) 出流量(字节)2. 查看lvs速率 :ipvsadm -l --rate
说明:
1. CPS (current connection rate) 每秒连接数
2. InPPS (current in packet rate) 每秒的入包个数
3. OutPPS (current out packet rate) 每秒的出包个数
4. InBPS (current in byte rate) 每秒入流量(字节)
5. OutBPS (current out byte rate) 每秒入流量(字节)由于LVS像iptable一样是工作在内核层,所以只需要安装模块ip_vs就可以了,并没有后台进程在跑。对应lvs主机三种方式分别用参数-m, -i, -g来实现。以下列举几种链接方式的配置方法:
1.NAT方式:
NAT配置方式最简单,只需要在LVS主机上配置就可以了,如下例子:
设置VIP主机:
ipvsadm -A -t 202.103.106.5:80 -s wlc
ipvsadm -A -t 202.103.106.5:21 -s wrr
ipvsadm -a -t 202.103.106.5:80 -r 172.16.0.2:80 -m
ipvsadm -a -t 202.103.106.5:80 -r 172.16.0.3:8000 -m -w 2
ipvsadm -a -t 202.103.106.5:21 -r 172.16.0.2:21 -m
2.TUN方式:
对LVS主机设置:
设置VIP主机:
ipvsadm -A -t 172.26.20.110:23 -s wlc
ipvsadm -a -t 172.26.20.110:23 -r 172.26.20.112 -i对每台real主机的设置:
echo 1 > /proc/sys/net/ipv4/ip_forward
#加载ipip模块
modprobe ipip
ifconfig tunl0 0.0.0.0 up
echo 1 > /proc/sys/net/ipv4/conf/all/hidden
echo 1 > /proc/sys/net/ipv4/conf/tunl0/hidden
ifconfig tunl0 172.26.20.110 netmask 255.255.255.255 broadcast 172.26.20.110 up