001.LVS简介及算法
一 LVS简介
1.1 LVS介绍
1.2 LVS主要作用
1.3 LVS体系结构

二 LVS工作模式
- VS/NAT模式(Network address translation)
- VS/TUN模式(tunneling)
- DR模式(Direct routing)
2.1 VS/NAT-NAT模式:网络地址转换Virtualserver via Network address translation

- 客户端请求数据,目标IP为VIP。
- 请求数据到达LB服务器,LB根据调度算法将目的地址修改为RIP地址及对应端口(此RIP地址根据调度算法得出)并在连接HASH表中记录下这个连接。
- 数据包从LB服务器到达RS服务器webserver,然后webserver进行响应。Webserver的网关必须是LB,然后将数据返回给LB服务器。
- 收到RS的返回后的数据,根据连接HASH表修改源地址VIP,目标地址修改CIP,及对应端口80.然后数据就从LB出发到达客户端。
- 客户端收到的就只能看到VIP\DIP信息。
- NAT技术请求报文和响应报文都需要经过LB进行地址改写,因此网站访问量比较大的时候LB负载均衡调度器有比较大的瓶颈,一般要求最多只能10-20台节点;
- 只需要在LB上配置一个公网IP地址就可以了;
- 每台内部的节点服务器的网关地址必须是调度器LB的内网地址;
- NAT模式支持对IP地址和端口进行转换,即用户请求的端口和真实服务器的端口可以不一致。
2.2 TUN模式:virtual server via ip tunneling模式

- 客户请求数据包,目标地址VIP发送到LB上。
- LB接收到客户请求包,进行IP Tunnel封装,即在原有的包头加上IP Tunnel的包头。
- RS节点服务器根据IP Tunnel包头信息(即逻辑上的隐形隧道,只有LB和RS之间匹配)收到请求包,然后解开IP Tunnel包头信息,得到客户的请求包并进行响应处理。
- 响应处理完毕之后,RS服务器使用RS出公网的线路,将响应数据包发送给客户端,源IP地址依旧为VIP地址。
- VS/TUN模式和NAT模式不同的是,它在LB和RS之间的传输不用改写IP地址。
- 将客户请求包封装在一个IP tunnel里面,然后发送给RS节点服务器,节点服务器接收到之后解开IP tunnel后,进行响应处理。
- 响应报文直接通过RS的外网地址发送给客户不用经过LB服务器。
2.3 DR模式:直接路由模式,Virtual server via direct routing

- 客户请求数据包,目标地址VIP发送到LB上。
- LB根据各个真实服务器的负载情况,连接数多少等,动态地选择一台服务器,不修改目标IP地址和目标端口,也不封装IP报文,而是将请求报文的数据帧的目标MAC地址改为真实服务器的MAC地址。
- 将修改的数据帧在服务器组的局域网上发送,因为数据帧的MAC地址是真实服务器的MAC地址,并且在同一个局域网。那么根据局域网的通讯原理,RS是一定能够收到由LB发出的数据包。
- 真实服务器接收到请求数据包,其IP包头的目标IP是VIP(RS的lo接口也必须配置此IP),处理之后直接将响应数据包通过自身的网络发送至客户,源IP地址为VIP。
三 调度算法
3.1 算法简介
3.2 调度算法常用场景
- 一般的网络服务,如http,mail,mysql等常用的LVS调度算法为:
- 基于局部性的最小连接lblc和带复制的给予局部性最小连接lblcr主要适用于web cache和DB cache
- 源地址散列调度SH和目标地址散列调度DH可以结合使用在防火墙集群中,可以保证整个系统的出入口唯一。
001.LVS简介及算法的更多相关文章
- Linux负载均衡软件LVS简介
Linux负载均衡软件LVS LVS集群的体系结构以及特点 1. LVS简介 LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起 ...
- linux之LVS简介(转自南非的蚂蚁)
一. LVS简介LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,它的官方站点是www.linuxvirtualserver. ...
- LVS负载均衡(LVS简介、三种工作模式、十种调度算法)
一.LVS简介 LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中.该项目在Linux内核中实现 ...
- LVS负载均衡软件使用及(LVS简介、三种工作模式、十种调度算法)
一.LVS简介 LVS(Linux Virtual Server)即Linux虚拟服务器,目前LVS已经被集成到Linux内核模块中.该项目在Linux内核中实现了基于IP的数据请求负载均衡调度方案, ...
- LVS简介
LVS 编辑 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一 ...
- 001.HAProxy简介
一 HAProxy简介 HAProxy是可提供高可用性.负载均衡以及基于TCP(从而可以反向代理mysql等应用)和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.HAProx ...
- 001.Ceph简介概述
一 Ceph简介 Red Hat Ceph是一个分布式的数据对象存储,系统设计旨在性能.可靠性和可扩展性上能够提供优秀的存储服务.分布式对象存储是存储的未来,因为它们适应非结构化数据,并且客户端可以同 ...
- LVS简介与使用
一.LVS是什么? LVS的英文全称是Linux Virtual Server,即Linux虚拟服务器.它是我们国家的章文嵩博士的一个开源项目.在linux内存2.6中,它已经成为内核的一部分,在此之 ...
- 001.Heartbeat简介
一 Heartbeat简介 1.1 概述 Heartbeat是Linux-HA项目中的一个组件,也是当前开源HA项目中最成功的一个例子,它提供了所有HA软件所需要的基本功能,如心跳检测和资源接管.监测 ...
随机推荐
- K - Find them, Catch them POJ - 1703 (带权并查集)
题目链接: K - Find them, Catch them POJ - 1703 题目大意:警方决定捣毁两大犯罪团伙:龙帮和蛇帮,显然一个帮派至少有一人.该城有N个罪犯,编号从1至N(N<= ...
- ubuntu下安装pdf编辑器Master PDF Editor
在 ubuntu 上看一些 pdf 文档,自带的pdf阅读器不带编辑功能.推荐使用 master pdf editor 1. 安装QT sudo apt-get install qt-sdk 2. 下 ...
- Git入门——远程仓库及分支管理
关于本地版本库的操作,请见:Git入门--本地版本库操作 本篇提到的所有命令: 小结 前面提到,Git相对于传统的SVN有着很大的优势,其中之一就在于集中式系统中,版本库只能存在于中央服务器上:而在G ...
- 安装VNC
一.安装相应桌面环境与vnc服务端和客户端: # yum groupinstall "GNOME Desktop Environment"(CentOS 5.x安装GNOME桌面环 ...
- emmc基础技术8:操作模式2-device identification mode
1.前言 eMMC总线操作包含: boot mode, device identification mode interrupt mode data transfer mode 本文主要描述devic ...
- Ubuntu 分辨率显示出错,分辨率不是最佳分辨率的解决办法
本文为转载,但在Ubuntu16.04LTS下亲测有效. (1)首先使用 xrandr 命令列出当前所能检测到的分辨率,如一台显示器,最佳分辨率为 1440x900(我的显示器尽量设置1680x105 ...
- WebSphere的jython编码的一个坑
was5.1版本,用"name=" in line这类判断字符串包含的方式时,系统会提示报错 TypeError: string member test needs char le ...
- python下的socket常用方法举例
python下的socket 1.简单的server和client端的socket代码 server.py: #!/usr/bin/env python #_*_ coding:utf-8 _*_ i ...
- centos重启报错Umounting file systems:umount:/opt:device is busy
系统重启报错: Umounting file systems:umount:/opt:device is busy 只能硬关机,回想一下最近刚安装了nod32 for linux x64的杀毒软件,开 ...
- iptables实现网络防火墙及地址转换
iptables主机防火墙功能及常用命令 FSM:Finite State Machine 有限状态机 客户端:closed -->syn_sent -->established --&g ...