一、 ipvsadm工具介绍

  从2.4版本开始,linux内核默认支持LVS。要使用LVS的能力,只需安装一个LVS的管理工具:ipvsadm。
LVS的结构主要分为两部分:
  • 工作在内核空间的IPVS模块。LVS的能力实际上都是由IVPS模块实现。
  • 工作在用户空间的ipvsadm管理工具。其作用是向用户提供一个命令接口,用于将配置的虚拟服务、真实服务等传给IPVS模块。

二、 ipvsadm工具安装

  ipvsadm工具支持rpm安装,也可以编译源码安装。下载地址:

三、 ipvsadm工具使用

  ipvsadm工具常用的参数选项有:

-A   --add-service 添加一条新的虚拟服务
-E   --edit-service 编辑虚拟服务
-D   --delete-service 删除虚拟服务
-C   --clear 清除所有的虚拟服务规则
-R   --restore 恢复虚拟服务规则
-a   --add-server 在一个虚拟服务中添加一个新的真实服务器
-e   --edit-server 编辑某个真实服务器
-d   --delete-server 删除某个真实服务器
-L | -l   --list 显示内核中的虚拟服务规则
-n  --numeric 以数字形式显示IP端口
-c  --connection 显示ipvs中目前存在的连接,也可以用于分析调度情况
-Z   --zero 将转发消息的统计清零
-p  --persistent 配置持久化时间
--set tcp tcpfin udp 配置三个超时时间(tcp/tcpfin/udp)
-t | -u TCP/UDP协议的虚拟服务
-g | -m | -i LVS模式为:DR | NAT | TUN
-w 配置真实服务器的权重
-s 配置负载均衡算法,如:rr, wrr, lc等
--timeout 显示配置的tcp/tcpfin/udp超时时间
--stats 显示历史转发消息统计(累加值)
--rate 显示转发速率信息(瞬时值)
  示例:

  1. 管理虚拟服务

  • 添加一个虚拟服务192.168.1.100:80,使用轮询算法
  ipvsadm -A -t 192.168.1.100:80 -s rr
  • 修改虚拟服务的算法为加权轮询
  ipvsadm -E -t 192.168.1.100:80 -s wrr
  • 删除虚拟服务
  ipvsadm -D -t 192.168.1.100:80

  2. 管理真实服务

  • 添加一个真实服务器192.168.1.123,使用DR模式,权重2
  ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.123 -g -w 2
  • 修改真实服务器的权重
  ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.123 -g -w 5
  • 删除真实服务器
  ipvsadm -d -t 192.168.1.100:80 -r 192.168.1.123

  3. 查看统计

  • 查看当前配置的虚拟服务和各个RS的权重
  ipvsadm -Ln
  • 查看当前ipvs模块中记录的连接(可用于观察转发情况)
  ipvsadm -lnc
  • 查看ipvs模块的转发情况统计
  ipvsadm -Ln --stats | --rate
  
另外,--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)     每秒入流量(字节) 

LVS管理工具--ipvsadm的更多相关文章

  1. LVS管理工具ipvsadm详解与LVS-NAT模式演示

    ipvsadm命令是工作在用户空间的LVS集群管理工具,原理是调用ipvs的API,在内核中生成ipvs的规则,主要用来管理集群服务和集群服务中的RealServer,使用方法类似iptables命令 ...

  2. Keepalived详解之 - LVS(IPVS)管理工具ipvsadm使用指南

    ipvsadm是什么? ipvsadm是用来配置.维护或者查看Linux内核当中virtual server table的一个工具, LVS(Linux virtual server)能基于一个集群当 ...

  3. 002.LVS管理工具的安装与使用

    一 安装IPVS 可通过源码安装或yum安装,源码包如下: http://www.linuxvirtualserver.org/software/ipvs.html [root@lvsmaster ~ ...

  4. 应用负载均衡之LVS(三):ipvsadm命令

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  5. MySQL高可用复制管理工具 —— Orchestrator使用

    背景 在上一篇「MySQL高可用复制管理工具 —— Orchestrator介绍」中大致介绍了Orchestrator的功能.配置和部署,当然最详细的说明可以查阅官方文档.本文开始对Orchestra ...

  6. Postman - 功能强大的 API 接口请求调试和管理工具

    Postman 是一款功能强大的的 Chrome 应用,可以便捷的调试接口.前端开发人员在开发或者调试 Web 程序的时候是需要一些方法来跟踪网页请求的,用户可以使用一些网络的监视工具比如著名的 Fi ...

  7. JDK 中的证书生成和管理工具 keytool

    参考资料 该文中的内容来源于 Oracle 的官方文档 Java SE Tools Reference .Oracle 在 Java 方面的文档是非常完善的.对 Java 8 感兴趣的朋友,可以直接找 ...

  8. Debian的软件包管理工具命令 (dpkg,apt-get)详解

    本文转载于:http://blog.chinaunix.net/uid-20769502-id-106056.html   1.dpkg包管理工具 dpkg --info "软件包名&quo ...

  9. nrm NPM源管理工具

    nrm NPM源管理工具 工具 前端 npm cnpm 今天经过同事介绍,发现一个好玩的东西——nrm(NPM registry manager) nrm 是一个可以快速切换NPM源的node插件.由 ...

随机推荐

  1. mysql中RAND()随便查询记录效率问题和解决的方法分享

    在我们做开发的中效率一直是个问题,特别是对于非常多大数据量操作,今天我们碰到一个要随机查询数据,一開始我们可能想到最简单的order by rand() 来操作但效率不敢恭维啊 近期因为须要大概研究了 ...

  2. mybatis 入门学习

    所须要jar包:mybatis-3.x.x.jar .假设须要和spring整合,还须要增加相关的包 1:看项目文件夹 红颜色不要关心 2:依照步骤: 1:增加jar包 2:创建数据源(configu ...

  3. Laravel5.1 模型 --多对多关系

    多对多关系也是很常用的一种关系,比如一篇文章可以有多个标签,一个标签下也可以有多篇文章,这就是一个典型的多对多的关系. 1 实现多对多关系 多对多关系我们需要三张表,一张是文章另一张是标签,第三章表是 ...

  4. 面试题思考:什么是基于注解的切面实现?(AOP是Aspect Oriented Program的首字母缩写)

    首先解释下AOP :在程序运行时,动态的将代码切入到类的指定方法.指定位置上的编程思想就是面向切面编程 一般而言,我们管切入到指定类指定方法的代码片段为切面,而切入的哪些类.哪些方法则叫切入点.有了A ...

  5. tsinsen A1333. 矩阵乘法

    题目链接:传送门 题目思路:整体二分(二分的是答案,附带的是操作) 把矩阵中的元素对应成插入操作,然后就有插入和询问操作. 然后根据插入操作对于答案的影响,询问操作所匹配的符合答案个数,将操作分为两段 ...

  6. PHP使用SimpleElement创建和解析xml文件

    <!-- 使用SimpleXMLElement生成xml文件 --><?php//生成一个xml文件 //xml字符串$_xml = <<<_xml<?xml ...

  7. Vulkan Tutorial 06 逻辑设备与队列

    操作系统:Windows8.1 显卡:Nivida GTX965M 开发工具:Visual Studio 2017 Introduction 在选择要使用的物理设备之后,我们需要设置一个逻辑设备用于交 ...

  8. nodejs unit test related----faker-cli, sinonjs, mock/stub

    http://www.tuicool.com/articles/rAnaYvn http://www.tuicool.com/articles/Y73aYn (contrast stub and mo ...

  9. logging/re - 总结

    logging 模块 很多程序都有记录日志的需求 logging的日志可以分为 debug(), info(), warning(), error() and critical()5个级别 1.输出到 ...

  10. win7查看某个端口被占用的解决方法

    1.开始---->运行---->cmd,或者是window+R组合键,调出命令窗口. 2.输入命令:netstat -ano,列出所有端口的情况.在列表中我们观察被占用的端口,比如是491 ...