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. windows dos权限管理

    显示或者修改文件的访问控制列表(ACL) CACLS filename [/T] [/M] [/L] [/S[:SDDL]] [/E] [/C] [/G user:perm]              ...

  2. 【linux】文档查看

    cat: [root@localhost test]# cat log2013.log 2013-01 2013-02 2013-03 [root@localhost test]# cat -n lo ...

  3. app测试笔记记录

    1. 個性簽名保存成功,toast提示“儲存成功” 解释:  Toast是Android中用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,而且Toast显示的时间有限,过 ...

  4. 短信发送接口demo

    public class SendValidCode { // 短信发送的接口网关 private static String sendUrl = "******************** ...

  5. ZOJ - 3657-The Little Girl who Picks Mushrooms

    /*ZOJ Problem Set - 3657 The Little Girl who Picks Mushrooms Time Limit: 2 Seconds Memory Limit: 327 ...

  6. Sql Server-使用Sql Server自带的分词功能实现字段关键词提取(分词能力很低,慎用)

    “创建全文索引 启动服务 在SQL Server配置管理工具中,找到'SQL Full-text Filter Daemon Launcher'服务用本地用户启动. 创建全文目录 打开需要创建全文目录 ...

  7. 并发包学习(一)-Atomic包小记

    此篇是J.U.C学习的第一篇Atomic包相关的内容,希望此篇总结能对自己的基础有所提升.本文总结来源自<Java并发编程的艺术>第七章并配以自己的实践理解.如有错误还请指正. 一.案例分 ...

  8. Ubuntu上装KVM:安装、初次使用

    KVM 是 Linux 内核自带的虚拟机系统, 使用它,你的机器就可以变成几台机了 试用过程如下: 环境: Ubuntu 14.04 64bit 1,  KVM需要CPU硬件支持虚拟化,所以首先要确认 ...

  9. eShopOnContainer 第一步

    运行结果截图: 操作流程: 1. git上clone 项目 windows版的docker并且安装成功,配置3核CPU,4G内存 vs 2017 (15.5)版本以上. 打开项目 eshopOnCon ...

  10. LeetCode之链表

    2. Add Two Numbers You are given two linked lists representing two non-negative numbers. The digits ...