LVS的工作原理

LB Load Balancing:解决方案

硬件:

F5 BIG-IP

思杰 Citrix Netscaler

A10 A10

Array 

Redware

软件:lvs

 linux Virtual Server 作者章文嵩博士

ipvs相当于netfilter,工作在内核中,将用户转发

   框架,需要依赖以规则完成转发

   ipvs集群服务

     定义一个或多个后端的服务器

ipvsadm

LVS:四层交换、四层路由(据说并发400w,F5 600w)

VIP:

keepalived

CIP   client IP

Director:负载均衡器

real server

DIP:跟real server交互

RIP

CIP<–>VIP–DIP<–>RIP

LVS类型:

NAT:–>(DNAT)

DR

TUN

FULLNAT

LVS的工作原理

blob.png

LVS NAT的模型

blob.png

LVS NAT的特性

1.RS的应该使用私有地址

2.RS的网关必须指向DIP

3.RIP和DIP必须在同一网段内

4.请求和响应的报文都得经过Director,在高负载场景中,Director很可能成为性能瓶颈

5.支持端口映射

6.RS可以使用任意支持集群服务的OS

blob.png

LVS DR类型

1.让前段路由将请求发往VIP时,只能是Dirctor上的VIP

解决方案

1.静态地址绑定

未必有路由器的配置权限

Director调用时静态地址绑定将难以使用

    2.arptables

    3.修改linux内核参数,将RS上的VIP配置在lo接口的别名上,限制linux仅对对应接口的ARP请求做相应

LVS DR类型的特性

1.RS可以使用私有地址,还可以使用公网地址,此时可以直接通过互联网连入RS,以实现配置、监控等

2.RS的网关一定不能指向DIP

3.RS跟Dirctory要在同一物理网络内(不能有路由器分隔)

4.请求报文经过Director,但响应报文一定不经过Director

5.不支持端口映射

6.RS可以使用大多数的操作系统

blob.png

LVS TUN类型:IP隧道

  1.RIP,DIP,VIP都得是公网地址

  2.RS的网关不会指向也不可能指向DIP

  3.请求报文经过Director,但响应报文一定不经过Director

  4.不支持端口映射

  5.RS的OS必须得支持隧道功能

总结:最常用的还是LVS的DR模式,在线上已经部署过很多次了

原创文章,作者:令狐冲,如若转载,请注明出处:http://www.178linux.com/62847

(0)
令狐冲令狐冲
上一篇 2016-12-07 11:58
下一篇 2016-12-07 16:38

相关推荐

  • VPS服务器的购买使用

           Virtual Host Server(虚拟主机)是一个云计算服务,相比于传统的购买服务器硬件方式搭建服务器,有着价格便宜,个性化定制配置,使用灵活等特点。按需求购买计算资源,只需要几分钟时间就可以在公网配置一个属于自己的服务器。         最著名的云计算服务提供商国外有Amazon,Google,vultr等等,国内有阿里云,腾讯云等等…

    2018-03-26
  • DHCP服务

    dhcp server: DHCP:Dynamic Host Configuration Protocol     arp –> address resolving Protocol     &nbsp…

    Linux干货 2016-11-01
  • 文件查找命令find详解

    文件的查找命令 find 用法 功能:实时查找工具,通过遍历指定路径完成文件查找 工作特点: •  查找速度略慢•  精确查找•  实时查找•  可能只搜索用户具备读取和执行权限的目录 语法:   find [OPTION]… [查找路径] [查找条件] [处理动作] 查找路径:指定具体目标路径;默认为当前目录查找条件…

    Linux干货 2016-11-07
  • rpm软件管理工具详解

    1 Linux软件安装概述 安装程序的方式: 软件包概述 RPM RPM的缺点 RPM包 RPM分包 RPM命令的使用 rpm 包管理 升级注意项 如何安装rpm软件包 如何卸载rpm软件包 如何升级rpm软件包 如何查询rpm软件包 如何查看与rpm包相关的文件和其他信息 如何校验rpm包 RPM的数据库 1 Linux软件安装概述 安装程序的方式: 通用…

    Linux干货 2016-09-06
  • PHP的类自动加载机制

    在PHP开发过程中,如果希望从外部引入一个class,通常会使用include和require方法,去把定义这个class的文件包含进来。这个在小规模开发的时候,没什么大问题。但在大型的开发项目中,这么做会产生大量的require或者include方法调用,这样不因降低效率,而且使得代码难以维护,况且require_once的代价很大。 在PHP5之前,各个…

    Linux干货 2015-04-10
  • BIND的编译安装\DNS的搭建及测试

    编译安装bind          1、下载bind: isc.org: bind-9.10 bind-9.11 bind-10          2、 #tar xvf bind-9.10.5.tar.gz       &nbs…

    2017-07-31