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

-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

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

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

ipvsadm命令总结相关推荐

  1. Linux集群部署和ipvsadm命令的使用

    在日常的使用中,一台服务器足够胜任很多的工作,但是当很多人同时访问的时候就会显得稍有些无力,这个时候.可以有两种解决的方法,第一种是不断的改善这台服务器的性能,但是总是会有一个上限存在,而且提升的效果 ...

  2. 负载均衡集群ipvsadm命令及基本用法

    ipvsadm是LVS在应用层的管理命令,我们可以通过这个命令去管理LVS的配置.需要使用yum单独安装. 基本用法: ipvsadm COMMAND [protocol] service-addre ...

  3. 30.1lvs-adm与ipvsadm命令

    ipvsadm命令 状态信息查看 实验:基于NAT模式的LVS ipvsadm命令 #工具支持8中算法,负载均衡有3种,lvs-fullnat内核不支持,需要研发 [root@LVS ~ ]#yum ...

  4. ipvsadm命令方法

    ipvsadm命令方法 #命令选项解释:有两种命令选项格式,长的和短的,具有相同的意思.在实际使用时,两种都可以. -A --add-service #在内核的虚拟服务器表中添加一条新的虚拟服务器记录 ...

  5. linux下ipvsadm命令,Linux中ipvsadm命令起什么作用呢?

    摘要: 下文讲述Linux中ipvsadm的功能说明,如下所示: ipvsadm命令功能: 用于 设置,维护,检查Linux内核中的虚拟服务表 Linux虚拟服务器简介: linux虚拟服务可将两个或 ...

  6. linux加权命令,ipvsadm命令 – linux 虚拟服务器管理

    ipvsadm命令用于在Linux内核中设置,维护或检查虚拟服务器表. Linux虚拟服务器可用于基于两个或更多节点的集群构建可伸缩网络服务. 群集的主节点将服务请求重定向到将实际执行服务的服务器主机 ...

  7. ipvsadm命令详解

    转自:https://blog.51cto.com/u_10978134/2122118 文章目录 1.IPVSADM的使用 1.1 命令语法.子命令和选项 1.2 集群服务管理 1.2.1 查看 1 ...

  8. linux下ipvsadm命令,ipvsadm命令

    ipvsadm命令用于在Linux内核中设置,维护或检查虚拟服务器表. Linux虚拟服务器可用于基于两个或更多节点的集群构建可伸缩网络服务. 群集的主节点将服务请求重定向到将实际执行服务的服务器主机 ...

  9. ipvsadm 命令

    目录 1.概要 2.描述 3.命令 4.参数 5.例子1:简单的虚拟服务 1.概要 ipvsadm -A|E -t|u|f service-address [-s scheduler][-p [tim ...

  10. linux下ipvsadm命令,ipvsadm命令使用方法

    由于LVS(IPVS)是工作在内核空间的,因此要在用户空间对其进行配置和管理就要用到ipvsadm,ipvsadm是LVS在用户空间的管理命令. 一般在安装linux(CentOS6.5)时该命令是为 ...

最新文章

  1. 关于设计模式的创建型、结构型和行为型
  2. 乔布斯最伟大的贡献是什么
  3. Device is not certified by Google
  4. Hibernate数据保存操作方法的原理对比
  5. 前端打印第三方插件_vscode mock服务插件amock教程
  6. 前端学习(1809):前端调试之微博头部开发
  7. MRP的数据处理-华北水利水电大学(作业)
  8. 信息学奥赛C++语言:学生人数
  9. go编程语言为什么这么流行?
  10. 向量空间的基和维数例题_向量空间基和维数的等价定义及求法
  11. 插入耳机不识别只能外放,音频设备错误代码0xc00d36fa
  12. 微信公众号吸粉软件助你快速增加粉丝数和文章阅读量!
  13. 这一年,我所阐释的Linux哲学
  14. postman(一)常用的Tests方法
  15. 建立centos6的yum源服务器
  16. 世界正游弋于开源之海,但只有 Red Hat 从中盈利
  17. [敏捷开发实践] 端到端测试你了解多少?
  18. 【vue】实现超过两行或多行显示展开收起 (单个展开收起和数组多个展开收起)
  19. 借笑傲江湖学习Git,让Git不在枯燥乏味,还能让你笑傲Git
  20. 【有奖转发】#大学生IT博客大赛#热情开幕!(人人活动)

热门文章

  1. 用科学的角度解剖算法分析
  2. java判断两个字符串是否相等_JavaScript中判断两个字符串是否相等的方法
  3. Web前端105天-day01-HTML
  4. 旋转编码器测速c语言程序,官方例程中编码器测速程序高低速怎么区分
  5. Android 网页h5 Input选择相机和系统相册
  6. CeresDAO:Ventures DAO的“新代言”
  7. win11安装pytorch-gpu遇到的坑
  8. 深入理解java虚拟机-1.自动内存管理
  9. POJ-1182 食物链
  10. 【狮子数学】05极限的计算——补充问题