一、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. 在VisualStudio 2013下使用VS2012的插件

    由于VS2013刚刚推出,而VS的插件又是和版本强相关的,因此VS2013就存在一个插件比较少的问题.虽然2013相对与2012来说改动并不大,应该是拿来重新编译一番就可以使用了.但也得有一个过程,并 ...

  2. Program terminated with signal SIGABRT, Aborted.

    linux C++ 程序 启动后就奔溃 #0 0x00007f01ee4c21f7 in raise () from /lib64/libc.so.6 #1 0x00007f01ee4c38e8 in ...

  3. mysql 浏览器submit中文, shell乱码

    w控制变量法. 初始 浏览器submit中文 成功执行 问题仍未解决 执行 SET character_set_database='latin1'; 再执行 SET character_set_res ...

  4. 前端开发 - JavaScript - 总结

    一.JavaScript的特征 javaScript是一种web前端的描述语言,也是一种基于对象(object)和事件驱动(Event Driven)的.安全性好的脚本语言.它运行在客户端从而减轻服务 ...

  5. 策略(strategy)模式

    Head First一书中对于策略(strategy)模式的正式定义是:策略模式定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户. 为了介绍这个算法,书中讲了 ...

  6. ubuntu 打开 gbk编码的txt乱码

    iconv -f gbk -t utf8 filename.txt > filename.txt.utf8

  7. 《浅谈CT》总结

    注明来自 http://www.ssdfans.com/?p=1941 这里说的CT,不是医院里面的CT,而是闪存的一种技术:Charge Trap. 闪存不只有Floating Gate,还有Cha ...

  8. listview与adapter用法

    Android listview与adapter用法 listview与adapter用法 博客分类: android   一个ListView通常有两个职责. (1)将数据填充到布局. (2)处理用 ...

  9. kubernetes Metrics-server 安装

    一.Metrics-server安装: 由于使用自动扩容,得安装heapster或metrics-server(由于heapster停止更新故用metrics-server): 1.安装之前需要为ku ...

  10. pc端弹框

    pc弹框插件:http://aui.github.io/artDialog/doc/index.html#quickref-bubble PC端,手机端,layui很好用,分页啥的:http://ww ...