ipvsadm命令总结

ipvsadm工具介绍

  从2.4版本开始,linux内核默认支持LVS。要使用LVS的能力,只需安装一个LVS的管理工具:ipvsadm。

LVS的结构主要分为两部分:

  • 工作在内核空间的IPVS模块。LVS的能力实际上都是由IVPS模块实现。
  • 工作在用户空间的ipvsadm管理工具。其作用是向用户提供一个命令接口,用于将配置的虚拟服务、真实服务等传给IPVS模块。

以下选项用于list命令:

 -c, --connection:列出当前的IPVS连接。
    --timeout:列出超时
    --daemon: 显示同步守护进程状态
    --stats:状态信息
    --rate:传输速率
    --thresholds:列出阈值
    --persistent-conn:坚持连接
    --sor:把列表排序。
    --nosort:不排序
    -n, --numeric:不对ip地址进行dns查询
    --exact:单位

查看统计

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

  ipvsadm -Ln

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

  ipvsadm -lnc

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

  ipvsadm -Ln --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)      每秒入流量(字节)


1.使用NAT模式
添加地址为207.175.44.110:80的虚拟服务,指定调度算法为轮转。
ipvsadm -A -t 207.175.44.110:80 -s rr
添加真实服务器,指定传输模式为NAT
ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.1:80 -m
ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.2:80 -m
ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.3:80 -m
NAT模式是lvs的三种模式中最简单的一种。此种模式下只需要保证调度服务器与真实服务器互通就可以运行。


2.使用DR模式
对于DR模式首先要配置真实服务器:
对于每台真实服务器要进行以下操作:
a、设置真实服务器的lo接口不做ARP应答
echo 1 > /proc/sys/net/ipv4/conf/all/arg_ignore
echo 1 > /proc/sys/net/ipv4/conf/lo/arg_ignore
设置这个选项可以使得各个接口只对本接口上的地址进行响应
还需要设置arp_announce选项为2,设置方法同上


b、在真实服务器上添加虚拟IP
ifconfig lo:0 192.168.10.10 boradcast 207.175.44.110 netmask 255.255.255.255
ip r add 192.168.10.10 dev lo
接着添加ipvs规则:
添加地址为192.168.10.10:80的虚拟服务,指定调度算法为轮转。
ipvsadm -A -t 192.168.10.10:80 -s rr
添加真实服务器,指定传输模式为DR
ipvsadm -a -t 192.168.10.10:80 -r 192.168.10.1:80 -g
ipvsadm -a -t 192.168.10.10:80 -r 192.168.10.2:80 -g
ipvsadm -a -t 192.168.10.10:80 -r 192.168.10.3:80 -g
注意:此处的例子中客户、调度服务器、真实服务器都是位于同一网段的

Usage:
命令 

./ipvsadm -A|E -t|u|q|f service-address [-s scheduler] [-j eanble/disable] [-p [timeout]] [-M netmask] [--pe persistence_engine]

ipvsadm -A|E -t|u|f <集群服务地址> [-s <调度算法>] [-p <超时时间>] [-M <掩码>] [-b <标志>]

./ipvsadm -D -t|u|q|f service-address

 ipvsadm -D -t|u|f <集群服务地址>

./ipvsadm -C

 

./ipvsadm -R

 

./ipvsadm -S [-n]

 

./ipvsadm -P|Q -t|u|q|f service-address -z local-address

 

./ipvsadm -G -t|u|q|f service-address

 

./ipvsadm -U|V -t|u|q|f service-address -k blacklist-address

 

./ipvsadm -a|e -t|u|q|f service-address -r server-address [options]

 ipvsadm -a|e -t|u|f <集群服务地址> -r <真实服务器地址> [选项]

./ipvsadm -d -t|u|q|f service-address -r server-address

 ipvsadm -d -t|u|f <集群服务地址> -r <真实服务器地址>

./ipvsadm -L|l [options]

 ipvsadm -L|l [options]

./ipvsadm -Z [-t|u|q|f service-address]

ipvsadm -Z [-t|u|f <集群服务地址>]

./ipvsadm --set tcp tcpfin udp

ipvsadm --set <超时时间>

./ipvsadm --start-daemon state [--mcast-interface interface] [--syncid sid]

ipvsadm --start-daemon <主或备> [--mcast-interface <组播接口>] [--syncid <SID>]

./ipvsadm --stop-daemon state

 ipvsadm --stop-daemon <主或备>

./ipvsadm -h

 

 

Commands:
完整命令缩写命令解释中文解释

--add-service

-Aadd virtual service with options添加一条新的虚拟服务

--edit-service

-E

edit virtual service with options

编辑虚拟服务

--delete-service

-D

delete virtual service

删除虚拟服务

--clear

-C

clear the whole table

清除所有的虚拟服务规则

--restore

-R

restore rules from stdin

从标准输入中恢复策略规则

--add-laddr

-P

add local address

 

--del-laddr

-Q

del local address

 

--get-laddr

-G

get local address

 

--add-blklst

-U

add blacklist address

 

--del-blklst

-V

del blacklist address

 

--get-blklst

-B

get blacklist address

 

--save

-S

save rules to stdout

保存策略规则到标准输出

--add-server

-a

add real server with options

添加一个真实服务器,需要使用选项

--edit-server

-e

edit real server with options

编辑一个真实服务器,需要使用选项

--delete-server

-d

delete real server

删除一个真实服务器,需要使用选项

--list

-L|-l

list the table

查看集群服务列表,包括真实服务器转发策略规则

--zero

-Z

zero counters in a service or all services

计数器清零。清除连接数、包转发等数量统计信息

--set tcp tcpfin udp

 

set connection timeout values

设置TCP、TCPFIN(TCP关闭连接状态)、UDP连接超时时间,用于 会话保持。一般情况下TCP和UDP超时时间保持默认就好,TCPFIN 可以根据情况设定,指定它则用户请求连接关闭,该连接则会变 为非活跃(InActive)空闲等待状态,在空闲等待时间内,如果 来自同一源IP的请求,则还会转发给后端的同一台真实服务器上

--start-daemon

 

start connection sync daemon

开启连接同步守护进程。在选项后面指定自己是Master(主)还 是backup(备),主负载调度器会同步所有策略及连接状态到备 负载调度器,当主故障,备可以接替其工作

--stop-daemon

 

stop connection sync daemon

停止连接同步守护进程

--help

-h

display this help message

显示帮助信息
Options:

--tcp-service      -t  service-address

service-address is host[:port]

<集群服务地址> 允许集群服务使用的传输协议为TCP

--udp-service    -u service-address

service-address is host[:port]<集群服务地址> 允许集群服务使用的传输协议为UDP

--icmp-service    -q service-address

service-address is host[:port] 

--icmpv6-service   -1 service-address

service-address is host[:port] 

--fwmark-service    -f fwmark

fwmark is an integer greater than zero

使用一个整数值来防火墙标识集群服务,而不是地址、 端口和协议使用它,我们可以通过结合IPtables将多 个以调度器为目标的端口定义成一个防火墙标识,由 ipvsdam通过此项关联标识,则可以实现对一个IP多 端口调度,即实现后端服务器可以开放多个服务

--ipv6     -6 fwmark

entry uses IPv6 

--scheduler      -s scheduler

one of rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq,

the default scheduler is wlc.

指定集群服务使用的调度算法:rr|wrr|lc|wlc|lblc |lblcr|dh|sh|sed|nq,默认为wlc

--pe engine

alternate persistence engine may be sip,

not set by default.

 

--persistent     -p [timeout]

persistent service

<超时时间> 开启持久化服务,开启它则表示在指定时间内,来自同 一IP的请求都会转发到后端同一台真实服务器上

--netmask      -M netmask

persistent granularity mask

<网络掩码> 使用网络掩码来屏蔽持久化来源IP的地址范围,默认值 为255.255.255.255,即所有来源IP请求都会享受持久 化服务

--real-server     -r server-address

server-address is host (and port)<真实服务器地址> 指定真实服务器的主机IP与端口

--gatewaying    -g

gatewaying (direct routing) (default)指定真实服务器转发工作模式,使用DR模式,默认

--ipip    -i

ipip encapsulation (tunneling)指定真实服务器转发工作模式,使用TUN模式

--fullnat      -b

fullnat mode 

--snat      -J

SNAT mode 

--masquerading      -m

masquerading (NAT)

指定真实服务器转发工作模式,使用NAT模式

--weight        -w weight

capacity of real server

<权重值> 指定真实服务器的权重值

--u-threshold       -x uthreshold

upper threshold of connections<上阀值> 设置转发请求的最大上连接阀值,范围为0~65535,当 当连接数超过指定上限时,LVS则不会转发请求

--l-threshold        -y lthreshold

lower threshold of connections设置转发请求的下连接阀值,范围为0~65535,当连接 数降低至指定值时,LVS则继续提供服务,默认值为0

--mcast-interface interface

multicast interface for connection sync

设置用于连接同步守护进程的组播接口

--syncid sid

syncid for connection sync (default=255)设置连接同步守护进程的SID号,用于标识,范围0~255

--connection       -c

output of current IPVS connections显示连接信息,一般与"-l"连用

--timeout

output of timeout (tcp tcpfin udp)显示TCP、TCPFIN、UDP超时时间信息,一般与"-l"连用

--daemon

output of daemon information显示连接同步守护信息,一般与"-l"连用

--stats

output of statistics information显示统计信息,一般与"-l"连用

--rate

output of rate information显示转发速率信息,一般与"-l"连用

--exact

expand numbers (display exact values)显示数据包和字节计数器的确切值,扩大字符长度

--thresholds

output of thresholds information显示阀值信息,一般与"-l"连用

--persistent-conn

output of persistent connection info显示持久化连接信息,一般与"-l"连用

--sockpair

output connection info of specified socket pair (proto:sip:sport:tip:tport)

 

 

  • 6
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值