一、LVS基本情况

lvs:Linux Virtual Server,是一种负载均衡集群,其主要是由工作在内核的ipvs与用户空间的命令行工具ipvsadm组成。支持TCP,UDP,AH,EST,AH_EST,SCTP等诸多协议。

lvs-type:

lvs-nat

​ lvs-dr(direct routing)

​  lvs-tun(ip tunneling)

​  lvs-fullnat

lvs scheduler:

静态方法:仅根据算法本身进行调度

RR:round robin,轮调

​    ​WRR:weighted rr,加权轮调

​    SH:source hash,源地址hash,实现session保持的机制,将来自于同一个IP的请求始终调度至同一RS

​    ​DH:destination hash,将对同一个目标的请求始终发往同一个RS

​动态方法:根据算法及各RS的当前负载状态进行调度

​    ​LC:Least Connection   最少连接数

​    ​Overhead=Active×256+Inactive

​    ​WLC:Weighted LC    加权最少连接数

​    ​Overhead=(Active×256+Inactive)/weight

​    ​SED:Shortest Expect Delay  最短期望延迟,WLC算法的改进

​    ​Overhead=(Active+1)×256/weight

​    ​NQ:Never Queue

​    ​SED的算法改进

​    ​LBLC:Locality-Based LC,即为动态的DH算法,基于本地的最少连接数

正向代理情形下的cache server调度;

​LBLCR:Locality-Based Least Connection with Replication,带复制功能的LBLC算法

二、命令行管理工具ipvsadm的用法

ipvsadm的用法:
管理集群服务
增加,修改
ipvsadm -A|E -t|u|f service-address [-s scheduler]
删除
ipvsadm -D -t|u|f service-address service-address:
tcp:-t ip:port
udp:-u ip:port
fwm:-f mark(防火墙标记) -s scheduler:
默认为wlc算法 管理集群服务的RS
增加,修改
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 server-address:
ip[:port] lvs-type:
-g:gateway,dr
-i:ipip,tun
-m:masquerade,nat 清空所有和查询
ipvsadm -C
ipvsadm -L|l [options]
-n:numeric,基于数字格式显示地址和端口
-c:connection,显示当前已建立的ipvs连接
--stats:显示统计数据
--rate:速率
--sort:排序
--exact:显示精确值,不做单位换算 保存和重载:
ipvsadm -R 重载
ipvsadm -S [-n] 保存 置零计数器:
ipvsadm -Z [-t|u|f service-address]

三、实验环境

Client:本机windows7
Director:CentOS 7.1
RealServer:node1,node2均为CentOS6.
其中vip为公网地址(实验为内网),dip与rip为内网地址

拓扑如下:

确保node1,与node2的web服务正常

[root@ ~]# curl http://192.168.20.7
<h1>this is node1 <\h1>
[root@ ~]# curl http://192.168.20.8
<h1>this is node2 <\h1>

四、定义ipvsadm

#定义集群服务
[root@ ~]# ipvsadm -A -t 192.168.101.130: -s rr
[root@ ~]# ipvsadm -L -n
IP Virtual Server version 1.2. (size=)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.101.130: rr #定义RS
[root@ ~]# ipvsadm -a -t 192.168.101.130: -r 192.168.20.7 -m
[root@ ~]# ipvsadm -a -t 192.168.101.130: -r 192.168.20.8 -m
[root@ ~]# ipvsadm -L -n
IP Virtual Server version 1.2. (size=)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.101.130: rr
-> 192.168.20.7: Masq
-> 192.168.20.8: Masq #在定义RS是IP后加PORT,可做端口映射

五、测试

[root@ ~]# ipvsadm -L -n
IP Virtual Server version 1.2. (size=)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.101.130: rr
-> 192.168.20.7: Masq
-> 192.168.20.8: Masq

可以看到,轮询的结果。

六、保存配置,清空,并恢复

[root@ ~]# ipvsadm-save > /etc/sysconfig/ipvsadm
[root@ ~]# ipvsadm -C
[root@ ~]# ipvsadm -L -n
IP Virtual Server version 1.2. (size=)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
[root@ ~]# ipvsadm -R < /etc/sysconfig/ipvsadm

七、其他配置实例

#改变调度算法为sh
[root@ ~]# ipvsadm -E -t 192.168.101.130: -s sh
#做端口地址转换
[root@ ~]# ipvsadm -e -t 192.168.101.130 -r 192.168.20.7: -m
#删除集群中的RS
[root@ ~]# ipvsadm -d -t 192.168.101.130 -r 192.168.20.7:
#删除集群服务
[root@ ~]# ipvsadm -D -t 192.168.101.130:

LVS-net的更多相关文章

  1. 【大型网站技术实践】初级篇:借助LVS+Keepalived实现负载均衡

    一.负载均衡:必不可少的基础手段 1.1 找更多的牛来拉车吧 当前大多数的互联网系统都使用了服务器集群技术,集群即将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是Web应用服务 ...

  2. [原]一个针对LVS的压力测试报告

    LVS 测试报告 测试计划 基本功能测试 流量压力测试 响应时间测试 配置正确性测试 灾难恢复测试 测试点 基本功能测试 客户端IP地址正确性 RealServer 访问Internet测试(包括Ip ...

  3. 负载均衡之LVS集群

    h3 { color: rgb(255, 255, 255); background-color: rgb(30,144,255); padding: 3px; margin: 10px 0px } ...

  4. Keepalived+LVS+nginx双机热备

    Keepalived简介 什么是Keepalived呢,keepalived观其名可知,保持存活,在网络里面就是保持在线了, 也就是所谓的高可用或热备,用来防止单点故障的发生. Keepalived采 ...

  5. 基于keepalived双主模型的高可用LVS

    背景知识: keepalived:Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web 服务器从系统中剔除, ...

  6. LVS原理详解

    一.集群简介 什么是集群 计算机集群简称集群是一种计算机系统,它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作.在某种意义上,他们可以被看作是一台计算机.集群系统中的单个计算 ...

  7. 配置LVS + Keepalived高可用负载均衡集群之图文教程

    负载均衡系统可以选用LVS方案,而为避免Director Server单点故障引起系统崩溃,我们可以选用LVS+Keepalived组合保证高可用性.  重点:每个节点时间都同步哈! C++代码 [r ...

  8. lvs+keepalived

    一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台:CentOS 6.3 Kernel:2.6.32-279.el6.i686 LVS版本:ipvsadm-1.26 keepalive ...

  9. CentOS7 编译安装LVS 互为主备 (实测 笔记 Centos 7.0 + ipvsadm 1.27 + keepalived 1.2.15 )

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) LVS服务器(两台): 系统:Centos7.0 64位(LVS+keepalived) LvsMaster:1 ...

  10. LVS DR模式 RealServer 为 Windows 2008 R2配置

    有3篇文档详细介绍 http://kb.linuxvirtualserver.org/wiki/Windows_Servers_in_LVS/DR_and_LVS/TUN_Clusters http: ...

随机推荐

  1. [报错]Unable to simultaneously satisfy constraints

    项目中自定义Cell,控件使用autoLayout来设置约束,发现运行页面表现正常,但是控制台报如下错误: Unable to simultaneously satisfy constraints. ...

  2. mysql创建用户,以及分配权限

    创建用户create user test identified by '123456'; 删除用户DROP USER ''@'localhost'; //删除所有host为localhost的用户 给 ...

  3. Django 框架之视图函数(Views)

    http请求中产生的两个核心对象: http请求: HttpRequest对象 http响应: HttpResponse对象 所在位置: django.http HttpRequest 对象的属性和方 ...

  4. zabbix 添加 微信、邮件 媒介详解

    1:zabbix 添加 微信.邮件 媒介.  1.2:发送告警邮件         1:一次完整的监控流程可以简单描述为:         Host Groups (设备组) ->Hosts ( ...

  5. python学习笔记(十)完善数据库操作

    1.cur = coon.cursor(cursor=pymysql.cursors.DictCursor)的用法 建立游标,指定cursor类型返回的是字典,如果不指定类型,返回的是元组类型数据 i ...

  6. R语言 dbWriteTable 写入数据库 为空和乱码问题

    在windows环境下 用RMySQL 写入数据库中文数据为空 或者乱码问题. 找了下资料 一般情况是 用 insert 语句插入,结合现有业务有点麻烦,放弃了. 还有一种方式换平台,由于经常在win ...

  7. PAT 1039 Course List for Student[难]

    1039 Course List for Student (25 分) Zhejiang University has 40000 students and provides 2500 courses ...

  8. Delphi APP 開發入門(四)簡易手電筒

    Delphi APP 開發入門(四)簡易手電筒 分享: Share on facebookShare on twitterShare on google_plusone_share   閲讀次數:32 ...

  9. Mvc ModelState.isValid为false时,检查时那个字段不符合规则的代码

    List<string> sb = new List<string>(); //获取所有错误的Key List<string> Keys = ModelState. ...

  10. 2017 Multi-University Training Contest - Team 4 hdu6069 Counting Divisors

    地址:http://acm.split.hdu.edu.cn/showproblem.php?pid=6069 题目: Counting Divisors Time Limit: 10000/5000 ...