ipvsadm是LVS在应用层的管理命令,我们可以通过这个命令去管理LVS的配置。需要使用yum单独安装。

modprobe -c|grep ipvs 查内核模块
alias ip6t_ipvs xt_ipvs
alias ipt_ipvs xt_ipvs

查ipvsadm由某个rpm包提供:yum provides ipvsadm
查是否安装了:rpm -q ipvsadm
安装:yum install -y ipvsadm

基本用法:
ipvsadm COMMAND [protocol] service-address
[scheduling-method] [persistence options]
ipvsadm command [protocol] service-address
server-address [packet-forwarding-method]
[weight options]

第一条命令用于向LVS系统中添加一个用于负载均衡的virtual server(VS);第二条命令用来修改已经存在的VS的配置,service address用来指定涉及的虚拟服务即虚拟地址,server-address指定涉及的真实地址。

ipvsadm -h 或 man ipvsadm 查命令帮助.man手册中有EXAMPLE例子

ipvsadm v1.27 2008/5/15 (compiled with popt and IPVS v1.2.1)
Usage:(用法:)ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p [timeout]] [-M netmask] [--pe persistence_engine] [-b sched-flags]ipvsadm -D -t|u|f service-addressipvsadm -Cipvsadm -Ripvsadm -S [-n]ipvsadm -a|e -t|u|f service-address -r server-address [options]ipvsadm -d -t|u|f service-address -r server-addressipvsadm -L|l [options]ipvsadm -Z [-t|u|f service-address]ipvsadm --set tcp tcpfin udpipvsadm --start-daemon state [--mcast-interface interface] [--syncid sid]ipvsadm --stop-daemon stateipvsadm -h

命令:
Either long or short options are allowed.
--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 all services
--set tcp tcpfin udp set connection timeout values
--start-daemon start connection sync daemon
--stop-daemon stop connection sync daemon
--help -h display this help message

选项:
--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 of rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq,
the default scheduler is wlc.
--pe engine alternate persistence engine may be 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 connection sync
--syncid sid syncid for connection sync (default=255)
--connection -c output of current IPVS connections
--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 addresses and ports
--sched-flags -b flags scheduler flags (comma-separated)
[root@node1 yum.repos.d]#

其中:
Virtual-service-address是指虚拟服务器的IP地址,本文是192.168.20.200;
Real-service-address是指Real Server的IP地址,本文是192.168.60.132/144;
Scheduler:指定调度算法。

ipvsadm命令选项的详细含义
-A --add-service:在内核的虚拟服务器列表中添加一条新的虚拟IP记录,也就是为ipvs虚拟服务器添加一个虚拟服务。虚拟IP也就是虚拟服务器的IP地址。虚拟地址需要是ip地址,端口号,协议的形式。
-E --edit-service:编辑内核虚拟服务器列表中的一条虚拟服务器记录
-D --delete-service:删除内核虚拟服务器列表中的一条虚拟服务器记录
-C --clear:清除内核虚拟服务器列表中的所有记录
-R --restore:恢复虚拟服务器规则;从标准输入获取ipvsadm命令。一般结合下边的-S使用。
-S --save:保存虚拟服务器规则,从标准输出输出虚拟服务器的规则。可以将虚拟服务器的规则保存,在以后通过-R直接读入,以实现自动化配置。
-a --add-server:在内核虚拟服务器表的一条记录里添加一条新的真实服务器记录(RIP)。也就是在一个虚拟服务器中增加一台新的真实服务器
-e --edit-server:编辑一条虚拟服务器记录中的某条真实服务器记录
-d --delete-server:删除一条虚拟服务器记录中的某条真实服务器记录
-L|-l --list:显示内核中的虚拟服务器列表;列出虚拟服务表中的所有虚拟服务。可以指定地址。添加-c显示连接表。
-Z --zero:虚拟服务器列表计数器清零(即清空当前的连接数量)这些记录一般用于调度策略。
--set tcp tcpfin udp:设置连接超时值
--start-daemon 启动同步守护进程。他后面可以是master 或backup,用来说明LVS Router 是master 或是backup。在这个功能上也可以采用keepalived 的VRRP 功能。置虚拟服务器的备服务器,用来实现主备服务器冗余。(注:该功能只支持ipv4)
--stop-daemon 停止同步守护进程;停止备服务器
-h --help 显示帮助信息
-p --persistent [timeout] 持久稳固的服务(持久性连接)。这个选项的意思是来自同一个客户的多次请求,将被同一台真实的服务器处理。timeout 的默认值为360 秒。
-t:说明虚拟服务器提供的是TCP服务,此选项后面跟的格式是[virtual-service-address:port]或[real-server-ip:port];service-address要是host[:port]的形式。端口是0表示任意端口。如果需要将端口设置为0,还需要加上-p选项(持久连接)。
-u:说明虚拟服务器提供的是UDP服务,此选项后面跟的格式是[virtual-service-address:port]或[real-server-ip:port]
-f fwmark:说明是经过iptables标记过的服务类型;用firewall mark取代虚拟地址来指定要被负载均衡的数据包,可以通过这个命令实现把不同地址、端口的虚拟地址整合成一个虚拟服务,可以让虚拟服务器同时截获处理去往多个不同地址的数据包。fwmark可以通过iptables命令指定。如果用在ipv6需要加上-6。
-s scheduler:此选项后面跟LVS使用的调度算法,有调度算法可以指定以下8种:rr(轮询),wrr(权重),lc(最后连接),wlc(权重),lblc(本地最后连接),lblcr(带复制的本地最后连接),dh(目的地址哈希),sh(源地址哈希),sed(最小期望延迟),nq(永不排队),默认的是wlc调度算法。
-p [timeout]:在某个Real Server上持续的服务时间。也就是说来自同一个用户的多次请求,将被同一个Real Server处理。此参数一般用于有动态请求的操作中,通常用于ftp或者ssl中。timeout的默认值为300s。如-p 600表示持续服务时间为600s。
-M --netmask netmask 指定客户地址的子网掩码。用于将同属一个子网的客户的请求转发到相同服务器。
-r:指定真实服务器r的IP地址,此选项后面跟如下格式[real-server-ip:port];为虚拟服务指定数据可以转发到的真实服务器的地址。可以添加端口号。如果没有指定端口号,则等效于使用虚拟地址的端口号。
-g --gatewaying:指定LVS的工作模式为直接路由模式;使用网关(即直接路由)(此模式是LVS的默认工作模式)
-i --ipip:指定LVS的工作模式为ipip隧道模式
-m --masquerading:指定LVS的工作模式为NAT模式
-w --weight wegight:指定真实服务器的权重值;权重是0~65535的整数。如果将某个真实服务器的权重设置为0,那么它不会收到新的连接,但是已有连接还会继续维持(这点和直接把某个真实服务器删除时不同的)。
--mcast-interface interface 指定组播的同步接口
-x --u-threshold uthreshold:设置一个服务器可以维持的连接上限。0~65535。设置为0表示没有上限。
-y --l-threshold lthreshold:设置一个服务器的连接下限。当服务器的连接数低于此值的时候服务器才可以重新接收连接。如果此值未设置,则当服务器的连接数连续三次低于uthreshold时服务器才可以接收到新的连接。(PS:笔者以为此设定可能是为了防止服务器在能否接收连接这两个状态上频繁变换)
--mcast-interface interface:指定使用备服务器时候的广播接口。
--syncid syncid:指定syncid,同样用于主备服务器的同步。
-L -c --connection:显示目前的连接信息,如ipvsadm -L -c
-L --timeout:显示tcp tcpin udp的timeout值,列出超时;如ipvsadm -L --timeout
-L --daemon:显示同步守护进程状态
-L --stats:显示统计状态信息
-L --rate:显示传输速率信息
-L --sort:对虚拟服务器和真实服务器排序输出,例ipvsadm -L --sort
--nosort:不排序
-n --numeric 输出IP地址和端口的数字形式
--thresholds:列出阈值
--persistent-conn:坚持连接
--exact:单位
-6:如果fwmark用的是ipv6地址需要指定此选项。

ipvsadm -A -t 192.168.60.200:80 -s rr -p 600
在内核的虚拟服务器列表中添加一条192.168.60.200的虚拟服务器记录,并且指定此虚拟 服务器的服务端口为80,调度策略算法为轮询调试,并胜在每个Real Server上持续服务时间为600s,即10min。
ipvsadm -A -t 192.168.60.188:21 -s wlc
在内核虚拟服务器上添加一条192.168.60.188的虚拟服务器,此虚拟服务器的服务器端口为21,即FTP服务,使用wlc加权最少链接算法。
ipvsadm -a -t 192.168.60.200:80 -r 192.168.60.132:80 -g
ipvsadm -a -t 192.168.60.200:80 -r 192.168.60.144:80 -g
以上两条设置表示在虚拟服务器192.168.60.200中添加2条新的Real Server记录,两个Real Server的IP分别为192.168.60.132和192.168.60.144,选项-g指定了中的工作模式为DR直接路由模式 。
这样设置完毕后,当用户访问192.168.60.200的80端口时,LVS会根据设置的调度策略和路由模式将请求分配到192.168.60.132以及192.168.60.144的80端口。

ipvsadm -S /opt/ipvs.bak 备份ipvs记录??
ipvsadm -C 清空ipvs记录
ipvsadm -Ln 查看ipvs记录
ipvsadm -Ln --stats
-L|-l --list 显示内核虚拟服务器表
-n --numeric 输出IP 地址和端口的数字形式
--stats 显示统计信息
ipvsadm -Sn > /etc/sysconfig/ipvsadm //保存记录
ipvsadm -R < /etc/sysconfig/ipvsadm //恢复保存的记录

注意:ipvsadm 命令配置的LVS集群列表信息是临时有效的,如果想系统重启自动加载这些设置信息,必须将ipvsadm的操作命令写入到开机启动脚本/etc/rc.d/rc.local文件中。

转载于:https://blog.51cto.com/14168653/2367352

ipvsadm使用和命令相关推荐

  1. linux中lvs命令详解,LVS之三:ipvsadm常用管理命令介绍 | 旺旺知识库

    LVS全称为Linux Virtual Server,工作在ISO模型中的第四层,由于其工作在第四层,因此与iptables类似,必须工作在内核空间上.因此lvs与iptables一样,是直接工作在内 ...

  2. ipvsadm命令详解

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

  3. linux ipvsadm命令详解

    https://blog.csdn.net/weixin_34348111/article/details/91658940 https://blog.51cto.com/10978134/21221 ...

  4. 基于LVS-DR集群的持久链接实验

    前期准备:  试验环境 Red Hat Enterprise Linux 5  软件版本 ipvsadm-1.25.tar.gz 搭建实验环境,三台虚拟机,一台作为Director.两台作为RealS ...

  5. 二进制安装部署 4 kubernetes集群---超详细教程

    二进制安装部署kubernetes集群---超详细教程 前言:本篇博客是博主踩过无数坑,反复查阅资料,一步步搭建完成后整理的个人心得,分享给大家~~~ 本文所需的安装包,都上传在我的网盘中,需要的可以 ...

  6. 使用lvs搭建负载均衡集群

    有时候,单台服务器的性能可能无法应付大规模的服务请求,且其一旦出现故障,就会造成用户在一段时间内无法访问.通过集群技术,可以在付出较低成本的情况下获得在性能.可靠性.灵活性方面的相对较高的收益. 集群 ...

  7. Linux集群服务知识点总结及通过案例介绍如何实现高性能web服务

    转自:http://guodayong.blog.51cto.com/263451/1201101 一:集群相关概念及知识点介绍: LVS(Linux Virtual System) 本项目在1998 ...

  8. LVS+Keepalive 实现负载均衡高可用集群

    一.LVS 介绍 目前LVS已经被集成到Linux内核模块中.LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器,该项目在Linux内核中实现了基于IP的数据请求负载均 ...

  9. Linux集群服务 LVS

    linux虚拟服务器(LVS)项目在linux操作系统上提供了最常见的负载均衡软件. 集群定义: 集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能.可靠性 ...

最新文章

  1. 重启部署在Linux系统下的tomcat服务
  2. 上网课的心得体会1000字_【家庭教育】家庭教育心得体会 ——济南市罗而小学家庭教育“好家风好家教”专栏(十一)...
  3. 语音合成技术与资源 - 资源篇
  4. 网站主机 技术+类型
  5. vim 实用技巧 查找和替换
  6. 苹果自动驾驶“排名垫底”,每1.1英里就发生一次脱离...
  7. Sqlite 数据库出现database disk image is malformed报错的解决方法
  8. Java 8 异步 API、循环、日期,用好提高生产力!
  9. 树莓派使用autofs挂载移动硬盘 -----linux通用
  10. 字体如何设计,这几点很重要
  11. OpenGL ES OpenGL WebGL EGL WGL 区别
  12. 创业者需要干掉的三种思维
  13. Android传感器之光线传感器介绍
  14. 华为nova2自带计算机,华为Nova2 root图文教程 华为Nova2获取root权限的方法
  15. 如何把操作系统迁移到新电脑/硬盘
  16. 虚拟机Ubuntu下共享文件夹MyShare不显示
  17. win10-weblogic12.1.1.0新建域
  18. 18650锂电池和常规锂电池有什么区别
  19. 《目标检测蓝皮书》第5篇 目标检测基础
  20. iOS开发之玩转字符串

热门文章

  1. Java计算一个对象所占内存大小_Java程序计算各种对象所占内存的大小的方法
  2. leetcode算法题--左旋转字符串
  3. c语言 unlink,unlink 漏洞笔记
  4. EnterpriseLibrary2.0系列文章及下载
  5. Python自动化开发学习15-css补充内容
  6. Linux内存管理 (2)页表的映射过程
  7. a 标签 里面的 ul样式乱了
  8. 巨人也能身手敏捷?看美国KeyBank的实战经验
  9. Android系统Recovery工作原理之使用update.zip升级过程分析(五)
  10. 一句代“.NET技术”码实现批量数据绑定[上篇]