lvs实现ftp负载调度

3台机器 172.26.130.20、172.26.130.21和172.26.130.22,172.26.130.20作为DR,172.26.130.21和172.26.130.22作为Real Server。
下面的脚本部署在DR(172.26.130.20)上。

#! /bin/bash
# DR Mode
/etc/init.d/iptables stop
ipvsadm -C
ipvsadm -A -t 172.26.130.19:21 -s wlc -p 10
ipvsadm -a -t 172.26.130.19:21 -r 172.26.130.21:21 -g -w 100
ipvsadm -a -t 172.26.130.19:21 -r 172.26.130.22:21 -g -w 100
ipvsadm save
ipvsadm -ln
ifconfig bond0:0 172.26.130.19 netmask 255.255.255.0

下面的脚本部署在Real Server(172.26.130.21和172.26.130.22)上

#!/bin/bash
SNS_VIP=172.26.130.19
. /etc/rc.d/init.d/functions
case "$1" in
start)
 ifconfig bond0:0 down
 ifconfig bond0:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
 /sbin/route add -host $SNS_VIP dev bond0:0
 echo "1" >/proc/sys/net/ipv4/conf/bond0/arp_ignore
 echo "2" >/proc/sys/net/ipv4/conf/bond0/arp_announce
 echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
 echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
 sysctl -p >/dev/null 2>&1
 echo "RealServer Start OK"
 ;;
stop)
 ifconfig bond0:0 down
 route del $SNS_VIP >/dev/null 2>&1
 echo "0" >/proc/sys/net/ipv4/conf/bond0/arp_ignore
 echo "0" >/proc/sys/net/ipv4/conf/bond0/arp_announce
 echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
 echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
 echo "RealServer Stoped"
 ;;
 *)
 echo "Usage: $0 {start|stop}"
 exit 1
esac
exit 0

ipvsadm参数
-A --add-service 添加一条新的虚拟服务
-E --edit-service 编辑虚拟服务
-D --delete-service 删除虚拟服务
-C --clear 清除所有的虚拟服务规则
-R --restore 恢复虚拟服务规则
-a --add-server 在一个虚拟服务中添加一个新的真实服务器
-e --edit-server 编辑某个真实服务器
-d --delete-server 删除某个真实服务器
-L | -l --list 显示内核中的虚拟服务规则
-n --numeric 以数字形式显示IP端口
-c --connection 显示ipvs中目前存在的连接,也可以用于分析调度情况
-Z --zero 将转发消息的统计清零
-p --persistent 配置持久化时间
–set tcp tcpfin udp 配置三个超时时间(tcp/tcpfin/udp)
-t | -u TCP/UDP协议的虚拟服务
-g | -m | -i LVS模式为:DR | NAT | TUN
-w 配置真实服务器的权重
-s 配置负载均衡算法,如:rr, wrr, lc等
–timeout 显示配置的tcp/tcpfin/udp超时时间
–stats 显示历史转发消息统计(累加值)
–rate 显示转发速率信息(瞬时值)

示例:
  1. 管理虚拟服务

添加一个虚拟服务192.168.1.100:80,使用轮询算法

ipvsadm -A -t 192.168.1.100:80 -s rr

修改虚拟服务的算法为加权轮询

ipvsadm -E -t 192.168.1.100:80 -s wrr

删除虚拟服务

ipvsadm -D -t 192.168.1.100:80
  2. 管理真实服务

添加一个真实服务器192.168.1.123,使用DR模式,权重2

ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.123 -g -w 2

修改真实服务器的权重

ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.123 -g -w 5

删除真实服务器

ipvsadm -d -t 192.168.1.100:80 -r 192.168.1.123
  3. 查看统计

查看当前配置的虚拟服务和各个RS的权重

ipvsadm -Ln

查看当前ipvs模块中记录的连接(可用于观察转发情况)

ipvsadm -lnc

查看ipvs模块的转发情况统计

ipvsadm -Ln --stats | --rate
  
另外,–stats和–rate统计在分析问题时经常用到,输出各项的含义:
–stat选项是统计自该条转发规则生效以来的包

  1. Conns (connections scheduled) 已经转发过的连接数
  2. InPkts (incoming packets) 入包个数
  3. OutPkts (outgoing packets) 出包个数
  4. InBytes (incoming bytes) 入流量(字节)
  5. OutBytes (outgoing bytes) 出流量(字节)

–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) 每秒入流量(字节)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值