ipvsadm 命令
目录
1、概要
2、描述
3、命令
4、参数
5、例子1:简单的虚拟服务
1、概要
ipvsadm -A|E -t|u|f service-address [-s scheduler][-p [timeout]] [-M netmask] [-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[-g|i|m] [-w weight] [-x upper] [-y lower]
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][--syncid syncid]
ipvsadm --stop-daemon state
ipvsadm -h
2、描述
ipvsadm 用于在Linux内核中设置、维护或检查虚拟服务器表。Linux虚拟服务器可以用于基于两个或多个节点的集群构建可伸缩的网络服务。集群的活动节点重定向对将实际执行服务的服务器主机集合的服务请求。支持的功能包括两种协议(TCP和UDP)、三种包转发方法(NAT, tunneling, and direct routing)和八种负载平衡算法(加权循环,最小连接,加权最小连接,基于位置的最小连接,基于位置的与复制、目标哈希和源哈希的最小连接)。
该命令有两种基本的执行格式:
ipvsadm COMMAND [protocol] service-address[scheduling-method] [persistence options]ipvsadm command [protocol] service-addressserver-address [packet-forwarding-method][weight options]
第一种格式操作虚拟服务和将服务请求分配给真实服务器的算法。可选的,可以指定持久服务粒度的持久超时和网络掩码。第二种格式操作与现有虚拟服务关联的真实服务器。在指定实际服务器时,包转发方法和实服务器相对于虚拟服务的其他实服务器的权重可以指定,否则指定将使用默认值。
3、命令
ipvsadm 识别下面描述的命令。大写命令维护虚拟服务。小写命令维护与虚拟服务相关联的真实服务器。
- -A, --add-service : 添加虚拟服务。服务地址由一个三元组唯一定义:IP地址、端口号和协议。或者,虚拟服务可以由防火墙标记定 义。
-E, --edit-service : 编辑一个虚拟服务
-D, --delete-service: 删除一个虚拟服务,以及任何相关的实际服务器.
-C, --clear : 清除虚拟服务器表
-R, --restore : 从stdin恢复Linux虚拟服务器规则。从stdin中读取的每一行将被视为到的命令行选项
ipvsadm的单独调用。从stdin读取的行可以选择以“ipvsadm”开头。这个选项对
在构造广泛的路由表时,避免执行大量命令或ipvsadm命令。-S, --save : 将Linux虚拟服务器规则以可被 -R|--restore 读取的格式转储到stdout。
-a, --add-server : 将实际服务器添加到虚拟服务.
-e, --edit-server : 在虚拟服务中编辑真实的服务器。
-d, --delete-server : 从虚拟机服务器中移除一个真实服务器
-L, -l, --list :如果没有指定参数,则列出虚拟服务器表。如果选择了service-address,只列出此服务。如果选择-c选项,然后显示连接表。确切的输出受到其他参数的影响.
-Z, --zero : 将服务或所有服务中的包、字节和速率计数器归零。
--set tcp tcpfin udp :更改用于IPVS连接的超时值。这个命令总是使用3个参数,分别表示TCP会话的超时值(以秒为单位)、接收到FIN包后的TCP会话和UDP包。超时值0表示保留相应条目的当前超时值。
--start-daemon state :启动连接同步守护进程。该状态指示守护进程作为主进程或备份启动。
连接同步守护进程在Linux内核中实现。在主负载均衡器上运行的主守护进程定期广播连接的更改,而在备份负载均衡器上运行的备份守护进程接收多播消息并创建相应的连接。然后,如果主负载均衡器失败,备份负载均衡器将接管,并且它具有几乎所有连接的状态,以便几乎所有已建立的连接都可以继续访问服务. 同步守护进程当前只支持IPV4连接.--stop-daemon :停止连接同步守护进程.
-h, --help : 显示命令语法的描述.
4、参数
上面的命令接受或要求零或多个以下参数。
- -t, --tcp-service service-address : 使用TCP服务。service-address的形式是 host[:port]。Host可以是普通IP地址或主机名之一。
Port可以是普通的端口号,也可以是端口的服务名称。该端口可能被省略,这种情况下,端口的值为0。只有当服务是 -p|--persistent 选项时,端口0才有效,在这种情况下,它是一个通配符端口,即连接将被接受到任何端口。 - -u, --udp-service service-address :参考-t
- -f, --fwmark-service integer : 使用大于零的整数值防火墙标志来表示虚拟服务,而不是地址、端口和协议(UDP或TCP)。带有防火墙标记的包的标记是使用-m|--mark 选项到iptables.它可以用来建立一个与相同的实际服务器相关联的虚拟服务,覆盖多个IP地址,端口和协议三联体。如果使用IPv6地址,必须使用-6选项。使用防火墙标记虚拟服务提供了一种将不同的IP地址和端口分组在一起的方便方法和协议成为一个单一的虚拟服务。这对于简化大量的配置非常有用需要虚拟服务,并跨多个虚拟服务对持久性进行分组。
- -s, --scheduler scheduling-method : 调度方法算法分配TCP连接和UDP数据报到真正的服务器。调度算法被实现为内核模块。其中10个是Linux虚拟服务器自带的:
rr - Round Robin: 在可用的实际服务器之间平均分配作业.
wrr - Weighted Round Robin: 按实际服务器的权重比例将作业分配给实际服务器。权重较高的服务器首先接收新任务,并且比权重较低的服务器获得更多的任务。具有相同权重的服务器将获得相同的新作业分配。
lc - Least-Connection: 将更多的作业分配给活动作业较少的实际服务器。
wlc - Weighted Least-Connection: 相对于实际服务器的权重(Ci/Wi),将更多的作业分配给任务较少的服务器。这是默认设置。
- -r, --real-server server-address : 关联的服务请求可能被分配到的实际服务器。server-address是实际服务器的主机地址,可以加上端口。主机可以是普通的IP地址,也可以是主机名。端口可以是普通的端口号,也可以是端口的服务名称。在伪装方法的情况下,主机地址通常是一个RFC 1918私有IP地址,并且端口可以与相关服务的端口不同。在隧道和直接路由方法中,端口必须等于服务地址的端口。对于正常的服务,如果没有指定端口,将使用服务地址中指定的端口。对于fwmark服务,可以省略端口,在这种情况下,实际服务器上的目的端口将是发送给虚拟服务的请求的目的端口。
[包转发方法]
-g, --gatewaying : 使用网关(direct routing)。这是默认设置。
-i, --ipip : 使用ipip封装(tunneling).
-m, --masquerading : 使用伪装(网络访问转换,或NAT)
注意:无论指定的包转发机制如何,在本地节点上有接口的地址的实际服务器将使用本地转发方法,然后将服务器的包传递到本地节 点上的上层。这不能由ipvsadm指定,而是由内核在添加或修改实际服务器时设置。
- -w, --weight weight : 权值是一个整数,指定服务器相对于池中其他服务器的容量。权值的有效值是0到65535。默认值是1。静态服务器的权值指定为0。对于Linux虚拟服务器分发的所有调度算法来说,静态服务器将不接收新作业,但仍然为现有作业服务。如果服务器过载或需要退出服务进行维护,那么设置静态服务器可能很有用。
- -c, --connection :连接输出。带有此选项的list命令将列出当前IPVS连接。
- -n, --numeric : 数字输出。IP地址和端口号将以数字格式打印,而不是分别作为主机名和服务(这是缺省情况)。
- --exact : 扩大数字。显示数据包和字节计数器的确切值,而不是只显示K(1000的倍数)M (1000K的倍数)或G (1000M的倍数)的整数。此选项仅与-L命令相关。
- -6, --ipv6 :与-f一起使用表示fwmark规则使用IPv6地址。
- -o, --ops : 一小包调度。与只处理UDP数据包的UDP虚拟服务或fwmark虚拟服务一起使用。创建所有连接时,它们只调度一个包。
5、例子1:简单的虚拟服务
下面的命令配置一个Linux控制器,将传入的请求分配到207.175.44.110上的端口80,同时分配到5个实际服务器上的端口80。本例中使用的转发方法是NAT,每一个真实的服务器都由Linux控制器伪装.
ipvsadm -A -t 207.175.44.110:80 -s rr
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
ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.4:80 -m
ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.5:80 -m
或者,这可以在一个ipvsadm命令中实现。
echo "-A -t 207.175.44.110:80 -s rr-a -t 207.175.44.110:80 -r 192.168.10.1:80 -m-a -t 207.175.44.110:80 -r 192.168.10.2:80 -m-a -t 207.175.44.110:80 -r 192.168.10.3:80 -m-a -t 207.175.44.110:80 -r 192.168.10.4:80 -m-a -t 207.175.44.110:80 -r 192.168.10.5:80 -m" | ipvsadm -R
在本例中,由于masquerading用作转发机制,所以实际服务器的默认路由必须设置为linux director,需要将其配置为转发和伪装数据包。这可以通过以下命令实现:
echo "1" > /proc/sys/net/ipv4/ip_forward
ipvsadm 命令相关推荐
- Linux集群部署和ipvsadm命令的使用
在日常的使用中,一台服务器足够胜任很多的工作,但是当很多人同时访问的时候就会显得稍有些无力,这个时候.可以有两种解决的方法,第一种是不断的改善这台服务器的性能,但是总是会有一个上限存在,而且提升的效果 ...
- 负载均衡集群ipvsadm命令及基本用法
ipvsadm是LVS在应用层的管理命令,我们可以通过这个命令去管理LVS的配置.需要使用yum单独安装. 基本用法: ipvsadm COMMAND [protocol] service-addre ...
- 30.1lvs-adm与ipvsadm命令
ipvsadm命令 状态信息查看 实验:基于NAT模式的LVS ipvsadm命令 #工具支持8中算法,负载均衡有3种,lvs-fullnat内核不支持,需要研发 [root@LVS ~ ]#yum ...
- ipvsadm命令方法
ipvsadm命令方法 #命令选项解释:有两种命令选项格式,长的和短的,具有相同的意思.在实际使用时,两种都可以. -A --add-service #在内核的虚拟服务器表中添加一条新的虚拟服务器记录 ...
- linux下ipvsadm命令,Linux中ipvsadm命令起什么作用呢?
摘要: 下文讲述Linux中ipvsadm的功能说明,如下所示: ipvsadm命令功能: 用于 设置,维护,检查Linux内核中的虚拟服务表 Linux虚拟服务器简介: linux虚拟服务可将两个或 ...
- linux加权命令,ipvsadm命令 – linux 虚拟服务器管理
ipvsadm命令用于在Linux内核中设置,维护或检查虚拟服务器表. Linux虚拟服务器可用于基于两个或更多节点的集群构建可伸缩网络服务. 群集的主节点将服务请求重定向到将实际执行服务的服务器主机 ...
- ipvsadm命令详解
转自:https://blog.51cto.com/u_10978134/2122118 文章目录 1.IPVSADM的使用 1.1 命令语法.子命令和选项 1.2 集群服务管理 1.2.1 查看 1 ...
- linux下ipvsadm命令,ipvsadm命令
ipvsadm命令用于在Linux内核中设置,维护或检查虚拟服务器表. Linux虚拟服务器可用于基于两个或更多节点的集群构建可伸缩网络服务. 群集的主节点将服务请求重定向到将实际执行服务的服务器主机 ...
- linux下ipvsadm命令,ipvsadm命令使用方法
由于LVS(IPVS)是工作在内核空间的,因此要在用户空间对其进行配置和管理就要用到ipvsadm,ipvsadm是LVS在用户空间的管理命令. 一般在安装linux(CentOS6.5)时该命令是为 ...
最新文章
- 从 SGD 到 Adam —— 深度学习优化算法概览 各种优化器 重点
- 对于坐拥海量数据的金融企业来说,大数据治理意味着什么?
- 深度学习用于基于内容的图像检索 Deep Learning for Content-Based Image Retrieval
- Android把自己应用加入到系统文件分享中
- mysql主从从配置详解_MySQL主从配置详解
- android中拖动文字实现功能,Android:图片中叠加文字,支持拖动改变位置
- mysq命令行导出sql_mysql 命令行导入导出 sql
- traceroute命令原理
- centos7光盘修复 grub_centos7修复grub2
- 树 | 突然间,看了这篇文章,树我懂了!
- 我的Spring MVC第一个应用
- oracle时间查询
- 在Windows下编译OpenSSL(VS2005)【转】
- 弱引用什么时候被回收_Java中的强软弱虚引用
- Ajax实现--javascript
- NCBI引物设计-查找目的基因前后序列方法、序列比对
- iOS 仿微信朋友圈实现
- 4款微信公众号编辑器,哪个最好用?
- Android双目摄像头(带人脸检测)正确调用姿势
- 什么是数字式射频信号发生器