ipvsadm命令参考 ipvsadm -h

ipvsadm常用管理命令介绍

LVS全称为Linux Virtual Server,工作在ISO模型中的第四层,由于其工作在第四层,因此与iptables类似,必须工作在内核空间上。因此lvsiptables样,是直接工作在内核中的,叫ipvs,主流的linux发行版默认都已经集成了ipvs,因此用户只需安装一个管理工具ipvsadm即可。

查看内核是否已经集成ipvs

[root@lvs ~]# grep -i "ip_vs"/boot/config-2.6.32-358.18.1.el6.x86_64
CONFIG_IP_VS=m
CONFIG_IP_VS_IPV6=y
# CONFIG_IP_VS_DEBUG is not set
CONFIG_IP_VS_TAB_BITS=12
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_AH_ESP=y
CONFIG_IP_VS_PROTO_ESP=y
CONFIG_IP_VS_PROTO_AH=y
CONFIG_IP_VS_PROTO_SCTP=y
CONFIG_IP_VS_RR=m
CONFIG_IP_VS_WRR=m
CONFIG_IP_VS_LC=m
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_LBLC=m
CONFIG_IP_VS_LBLCR=m
CONFIG_IP_VS_DH=m
CONFIG_IP_VS_SH=m
CONFIG_IP_VS_SED=m
CONFIG_IP_VS_NQ=m
CONFIG_IP_VS_FTP=m

一、安装ipvsadm

[root@lvs ~]# yum -y install ipvsadm

二、ipvsadm基本介绍:

2.1 集群服务管理类命令:

2.1.1 添加集群:

# ipvs -A -t|u|f service-address [-s scheduler]

选项说明:

-t: TCP协议的集群
-u: UDP协议的集群
    service-address:     IP:PORT
-f: FWM: 防火墙标记
    service-address: Mark Number

示例:

[root@lvs ~]# ipvsadm -A -t 172.16.1.253:80 -s wlc

2.1.2 修改集群:

# ipvs -E -t|u|f service-address [-s scheduler]

示例:

[root@lvs ~]# ipvsadm -E -t 172.16.1.253:80 -s wrr

2.1.3 删除集群:

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

示例:

[root@lvs ~]# ipvsadm -D -t 172.16.1.253:80

2.2 管理集群中的RealServer:

2.2.1 添加RS

# ipvsadm -a -t|u|f service-address -rserver-address [-g|i|m] [-w weight]

选项说明:

-t|u|f service-address:事先定义好的某集群服务
-r server-address: RS的地址,在NAT模型中,可使用IPPORT实现端口映射;
[-g|i|m]: LVS类型   
    -g: DR
    -i: TUN
    -m: NAT
[-w weight]: 定义服务器权重

示例:

[root@lvs ~]# ipvsadm -a -t 172.16.1.253:80 -r172.16.1.101 –g -w 5

[root@lvs ~]# ipvsadm -a -t 172.16.1.253:80 -r172.16.1.102 –g -w 10

2.2.2 修改RS

# ipvsadm -e -t|u|f service-address -rserver-address [-g|i|m] [-w weight]

示例:

[root@lvs ~]# ipvsadm -e-t 172.16.1.253:80 -r 172.16.1.101 –g -w 3

2.2.3 删除RS

# ipvsadm -d -t|u|f service-address -rserver-address

示例:

[root@lvs ~]# ipvsadm -d -t 172.16.1.253:80 -r172.16.1.101

2.3 查看类:

# ipvsadm -L|l [options]

常用选项[options]如下:

-n: 数字格式显示主机地址和端口
--stats:统计数据
--rate: 速率
--timeout: 显示tcptcpfinudp的会话超时时长
-c: 显示当前的ipvs连接状况

2.4 其他管理类:

2.4.1 删除所有集群服务:

# ipvsadm -C

该命令与iptables-F功能类似,执行后会清除所有规则。

2.4.2 保存规则

保存规则至默认配置文件:

# service ipvsadm save

保存规则至指定文件:

# ipvsadm -S > /path/to/somefile

示例:

[root@lvs ~]# service ipvsadm save
ipvsadm: Saving IPVS table to /etc/sysconfig/ipvsadm:     [确定]

2.4.3 载入保存在文件中的规则

# ipvsadm -R < /path/form/somefile

三、lvs的其他注意事项:

·   关于时间同步:各节点间的时间偏差不大于1s,建议使用统一的ntp服务器进行更新时间;

·   DR模型中的VIPMAC广播问题:

DR模型中,由于每个节点均要配置VIP,因此存在VIPMAC广播问题,在现在的linux内核中,都提供了相应kernel 参数对MAC广播进行管理,具体如下:

arp_ignore: 定义接收到ARP请求时的响应级别;

    0:只要本地配置的有相应地址,就给予响应;
   1:仅在请求的目标地址配置在到达的接口上的时候,才给予响应;DR模型使用

arp_announce:定义将自己地址向外通告时的通告级别;

    0:将本地任何接口上的任何地址向外通告;
    1:试图仅向目标网络通告与其网络匹配的地址;
   2:仅向与本地接口上地址匹配的网络进行通告;DR模型使用

 

 

 

ipvsadm 的命令参考,并根据自己使用的经验,进行了一个简单的翻译,希望对ipvsadm 的使用者有一定的帮助。为了更好的让大家理解这份命令手册,将手册里面用到的几个术语先简单的介绍一下:

1virtual-service-address:是指虚拟服务器的ip 地址

2real-service-address:是指真实服务器的ip 地址

3scheduler:调度方法

 

ipvsadm 的用法和格式如下:

QUOTE:

ipvsadm -A|E -t|u|fvirutal-service-address:port [-s scheduler] [-p

[timeout]] [-M netmask]

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

ipvsadm -C

ipvsadm -R

ipvsadm -S [-n]

ipvsadm -a|e -t|u|fservice-address:port -r real-server-address:port

[-g|i|m] [-w weight]

ipvsadm -d -t|u|f service-address -rserver-address

 

ipvsadm -L|l [options]

ipvsadm -Z [-t|u|f service-address]

ipvsadm --set tcp tcpfin udp

ipvsadm --start-daemon state[--mcast-interface interface]

ipvsadm --stop-daemon

ipvsadm -h

 

命令选项解释:

 

有两种命令选项格式,长的和短的,具有相同的意思。在实际使用时,两种都可以。

-A --add-service 在内核的虚拟服务器表中添加一条新的虚拟服务器记录。也就是增加一台新的虚拟服务器。

-E --edit-service 编辑内核虚拟服务器表中的一条虚拟服务器记录。

-D --delete-service 删除内核虚拟服务器表中的一条虚拟服务器记录。

-C --clear 清除内核虚拟服务器表中的所有记录。

-R --restore 恢复虚拟服务器规则

-S --save 保存虚拟服务器规则,输出为-R 选项可读的格式

-a --add-server 在内核虚拟服务器表的一条记录里添加一条新的真实服务器

记录。也就是在一个虚拟服务器中增加一台新的真实服务器

-e --edit-server 编辑一条虚拟服务器记录中的某条真实服务器记录

 

-d --delete-server 删除一条虚拟服务器记录中的某条真实服务器记录

-L|-l --list 显示内核虚拟服务器表

-Z --zero 虚拟服务表计数器清零(清空当前的连接数量等)

--set tcp tcpfin udp 设置连接超时值

--start-daemon 启动同步守护进程。他后面可以是master backup,用来说明LVS Routermaster 或是backup。在这个功能上也可以采用keepalived VRRP 功能。

 

--stop-daemon 停止同步守护进程

-h --help 显示帮助信息

-t --tcp-service service-address 说明虚拟服务器提供的是tcp 的服务

[vip:port] or [real-server-ip:port]

-u --udp-service service-address 说明虚拟服务器提供的是udp 的服务

[vip:port] or [real-server-ip:port]

-f --fwmark-service fwmark 说明是经过iptables 标记过的服务类型。

-s --scheduler scheduler 使用的调度算法,有这样几个选项

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

默认的调度算法是:

wlc.

 

-p --persistent [timeout] 持久稳固的服务。这个选项的意思是来自同一个客户的多次请求,将被同一台真实的服务器处理。timeout 的默认值为300 秒。

-M --netmask netmask persistentgranularity mask

 

-r --real-server server-address 真实的服务器[Real-Server:port]

-g --gatewaying 指定LVS 的工作模式为直接路由模式(也是LVS 默认的模式)

-i --ipip 指定LVS 的工作模式为隧道模式

-m --masquerading 指定LVS 的工作模式为NAT 模式

-w --weight weight 真实服务器的权值

--mcast-interface interface 指定组播的同步接口

 

-c --connection 显示LVS 目前的连接如:ipvsadm -L -c

--timeout 显示tcp tcpfin udp timeout 如:ipvsadm -L --timeout

--daemon 显示同步守护进程状态

--stats 显示统计信息

--rate 显示速率信息

--sort 对虚拟服务器和真实服务器排序输出

--numeric -n 输出IP 地址和端口的数字形式

 

 

[root@node1 ~]# ipvsadm -h

ipvsadm v1.27 2008/5/15 (compiled with poptand IPVS v1.2.1)

Usage:

 ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p [timeout]] [-Mnetmask] [--pe persistence_engine] [-b sched-flags]

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

 ipvsadm -C

 ipvsadm -R

 ipvsadm -S [-n]

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

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

 ipvsadm -L|l [options]

 ipvsadm -Z [-t|u|f service-address]

 ipvsadm --set tcp tcpfin udp

 ipvsadm --start-daemon state [--mcast-interface interface] [--syncidsid]

 ipvsadm --stop-daemon state

 ipvsadm -h

 

Commands:

Either long or short options areallowed.

 --add-service     -A        add 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

 --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 allservices

 --set tcp tcpfin udp        setconnection timeout values

 --start-daemon              startconnection sync daemon

 --stop-daemon               stopconnection sync daemon

  --help            -h        display this help message

 

Options:

  --tcp-service  -t service-address   service-address is host[:port]

  --udp-service  -u service-address   service-address is host[:port]

  --fwmark-service  -f fwmark         fwmark is an integer greater than zero

  --ipv6         -6                   fwmark entry uses IPv6

  --scheduler    -s scheduler         one ofrr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq,

                                      thedefault scheduler is wlc.

  --pe            engine              alternate persistence engine maybe sip,

                                      not set by default.

  --persistent   -p [timeout]         persistent service

  --netmask      -M netmask           persistent granularity mask

  --real-server  -r server-address    server-address is host (and port)

  --gatewaying   -g                   gatewaying (direct routing)(default)

  --ipip         -i                   ipip encapsulation(tunneling)

  --masquerading -m                   masquerading (NAT)

  --weight       -w weight            capacity of real server

  --u-threshold  -x uthreshold        upper threshold of connections

  --l-threshold  -y lthreshold        lower threshold of connections

  --mcast-interface interface         multicast interface for connectionsync

 --syncid sid                       syncid for connection sync (default=255)

 --connection   -c                   output of current IPVSconnections

 --timeout                          output of timeout (tcp tcpfin udp)

 --daemon                           output of daemon information

 --stats                            output of statistics information

 --rate                             output of rate information

 --exact                            expand numbers (display exact values)

 --thresholds                       output of thresholds information

 --persistent-conn                  output of persistent connection info

 --nosort                           disable sorting output of service/server entries

 --sort                             does nothing, for backwards compatibility

 --ops          -o                   one-packet scheduling

 --numeric      -n                   numeric output of addressesand ports

 --sched-flags  -b flags             scheduler flags (comma-separated)

 

YWSOS.COM 平台代运维解决方案
 评论
 发表评论
姓   名:

Powered by AKCMS