LVS初步

一见

目录

目录 1

1. 前言 2

2. 思考 2

3. 名词解释 2

4. OSI参考模型 3

5. LVS架构 4

5.1. 负载均衡器(Load Balancer) 4

5.2. 服务器集群(Server Cluster) 4

5.3. 后端存储(Storage) 5

6. 区别 5

6.1. 包层次关系 5

6.2. IP包头结构 6

6.3. TCP包头结构 6

6.4. LVS/DR 7

6.5. LVS/NAT 7

6.6. LVS/TUN 8

7. 配置 8

7.1. LVS/DR配置 8

7.1.1. 配置Director 8

7.1.2. 配置RS 9

7.2. LVS/NAT配置 10

7.2.1. 配置Director 10

7.2.2. 配置RS 10

7.3. LVS/TUN配置 10

7.3.1. 配置Director 10

7.3.2. 配置RS 11

8. ipvsadm 11

1. 
前言

很多人知道LVS,但可能知之不多,希望阅读本文后,能够对LVS有一个基本的感性认识。

LVS是国内最早出现的自由软件之一,由国防科技大学章文嵩博士在1998年5月创立,章博士目前是淘宝网高级研究员,是淘宝网核心系统负责人。

LVS首要的是解决路由问题,结果不但解决了耦合问题,实现了网络隔离,而且顺带实现了负载均衡,负载均衡复杂的地方在于不同的均衡策略。常常均衡和路由成对出现,象分布式中的一致性哈希,也是路由和均衡,实际上还达到了容灾的效果,可以说是一举多得。

2. 思考

一个数据包,是如何从一个机器达到另一个机器的?两个机器可以连接在同一个交换机上;也可以挂在不同的交换机上;甚至可能一个在内网,另一个在外网。

抓包工具tcpdump、Wireshark和Sniffer等是如何工作的?Linux内核中的Netfilter原理是什么?最好可以,动手写一个基于RAW SOCKET的抓包工具,按IP、TCP/UDP格式解析,并以可视化方式展现出来,甚至可以进一步解析诸于HTTP之类的。

3. 名词解释

下表中,蓝色字体部分是最基础的名词,其它可最后反过来再细读:

缩写

全称

说明

秒;第三和第四行,是在VIP记录中添加两条RS记录,并且指定LVS的工作模式为DR。

5) 至此,配置完成,即可启动LVS服务:

#ipvsadm

7.1.2. 配置RS

在DR和TUN两种工作模式下,请求达到RS后,响应直接返回给Client,而不经过Director。因此,需要在每个RS上配置VIP,这个VIP和Director上的相同,这样数据才能直接返回给Client。

在所有RS机器上分别完成下列所有操作:

1) 配置VIP:

#ifconfig 秒

-s

--scheduler,指定调度策略,有以下几个选项:

1) rr,轮询方式(Round-Robin)

2) wrr,加权轮询方式(Weighted Round-Robin),按顺序许循环分派请求给RS,但给能力的RS分派更多

3) lc,最小连接(Least-Connection)

4) wlc,加权最小连接(Weighted Least-Connection)

5) lblc,基于局部性的最少链接(Locality-Based Least-Connection)

6) lblcr,带复制的基于局部性最少链接(Locality-Based Least-Connection with Replication),某页面缓存在服务器A上,被访问次数极高,而其它服务器负载较低,监视是否访问同一页面,如果是则把请求转发给其它服务器

7) dh,目标地址散列(Destination Hash),对目标IP进行hash,将同一目标IP的请求转发给相同的RS

8) sh,源地址散列(Source Hash),与dh刚好相反,基于源IP

9) sed,最短预期延时(Shortest Expected Delay)

10) nq,不排队(Never Queue),如果某RS连接数为0,则直接分配

默认的调度策略为wlc。

LVS初步的更多相关文章

  1. 初步接触LVS

    今天整理下思绪,定下要掌握LVS原理和使用方法.于是,看了部分关于LVS的概述和文章. 章博士在2002年写的LVS的几篇文章,在我看来,今天都值得一看.http://www.linuxvirtual ...

  2. LVS单机测试不负载

    LVS单机测试不负载 1.困惑 当我们在个人PC上搭建虚拟机(Vmware)做LVS负载实验的时候,我们不论是在个人浏览器或者其他虚拟机上访问LVS的VIP都会出现上时间刷新都出现同一个页面的情况. ...

  3. 手把手教程: CentOS 6.5 LVS + KeepAlived 搭建 负载均衡 高可用 集群

    为了实现服务的高可用和可扩展,在网上找了几天的资料,现在终于配置完毕,现将心得公布处理,希望对和我一样刚入门的菜鸟能有一些帮助. 一.理论知识(原理) 我们不仅要知其然,而且要知其所以然,所以先给大家 ...

  4. Shel脚本-初步入门之《03》

    Shel脚本-初步入门-Shell 脚本在 Linux 运维工作中的地位 3.Shell 脚本在 Linux 运维工作中的地位 Shell 脚本语言很适合用于处理纯文本类型的数据,而 Linux 系统 ...

  5. 移动端之Android开发的几种方式的初步体验

    目前越来越多的移动端混合开发方式,下面列举的大多数我都略微的尝试过,就初步的认识写个简单的心得: 开发方式 开发环境 是否需要AndroidSDK 支持跨平台 开发语言&技能 MUI Win+ ...

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

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

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

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

  8. CSharpGL(29)初步封装Texture和Framebuffer

    +BIT祝威+悄悄在此留下版了个权的信息说: CSharpGL(29)初步封装Texture和Framebuffer +BIT祝威+悄悄在此留下版了个权的信息说: Texture和Framebuffe ...

  9. Android自定义View初步

    经过上一篇的介绍,大家对于自定义View一定有了一定的认识,接下来我们就以实现一个图片下显示文字的自定义View来练习一下.废话不多说,下面进入我们的正题,首先看一下我们的思路,1.我们需要通过在va ...

随机推荐

  1. 基于Tomcat 的WEB Project存在的安全漏洞总结

    1 检查工具:Acunetix Web Vulnerability Scanner V9破解版 2 检查漏洞说明结果显示: 2.1 HTML Form Without CSRF Protection ...

  2. XiaoMi Interview Log

    面试题目 PHP 弱类型 实现? COW 写时复制 实现? COW的时候内存的变化 12 $a = $b = 1;$b = 2; 的内存变化 ? 提供一个rand()函数[函数输出0 - 正无穷] 想 ...

  3. emacs之配置3,键盘和鼠标设置

    emacsConfig/kbd-mouse-setting.el ;;强制TAB键使用空格 (setq-default indent-tabs-mode nil) ;M-i执行tab-to-tab-s ...

  4. suse 安装gcc

    1)挂载ISO镜像 新建一个目录: mkdir /mnt/iso 将ISO文件挂载到该目录上: mount -o loop /opt/SLES-11-SP3-DVD-x86_64-GM-DVD1.is ...

  5. java HttpClient 获取页面Cookie信息

    HttpClient client = new HttpClient(); GetMethod get=new GetMethod("http://www.baidu.com"); ...

  6. Lifecycle of an ASP.NET Web API Message

    ASP.NET Web API, as we know now, is a framework that helps build Services over HTTP. Web API was int ...

  7. modelsim 的高效使用

    大概的思路: 1.往modelsim 添加仿真库. 2.将Verilog 文件,testbench文件提出.建好文件夹.比如uart仿真: uart_sim文件夹下:rtl文件夹,test_bench ...

  8. 转载 关于restTemplate 内部实现

    2016-12-28 by 安静的下雪天  http://www.cnblogs.com/quiet-snowy-day/p/6228198.html  本篇概要 RestTemplate 类图 po ...

  9. Navicat 入门使用方法

    Navicat 多重连接数据库的管理工具,支持连接到(MySQL.Oracle.PostgreSQL.SQLite .MariaDB )多类数据库,也支持多类数据库的管理和使用 1.Navicat 主 ...

  10. jenkins显示html样式问题的几种解决方案总结

    前言 jenkins上使用HTML Publisher plugin插件生成的html报告样式会丢失,需要设置下才能正常显示. 一.样式丢失 1.官方文档的解释如下,参考地址https://stack ...