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
下一篇 2016-12-07

相关推荐

  • 磁盘分区

      1、创建一个10G分区,并格式化为ext4文件系统;    (1)要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl;   (2)挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳 第一步:创建一个10G的分区     [r…

    Linux干货 2016-12-18
  • 双主模型的Nginx高可用负载均衡集群

    实验目的:使用keepalived实现Nginx的双主高可用负载均衡集群 实验环境:两台Nginx proxy(双主Nginx,各需要两块网卡,eth0连接内网,eth1连接外网)、两台web server(请求的负载均衡)、一台client用于验证结果。 注意:为了不影响实验结果,在实验开始前先关闭iptables和selinux 操作步骤: 一、配置IP…

    2017-05-13
  • Linux救援模式

        学习了Linux的启动流程,为了加深理解,今天做了如下的实验:删除掉Linux系统在启动过程中比较重要的几个文件,查看启动时出现的现象。加深对知识的理解。学习机器因为某些文件的缺失的修复方式。     一、删除grub.conf    &nb…

    Linux干货 2016-11-23
  • 如何将迁移home到独立分区中

        背景(centos7中):         由于在刚开始学习linux时磁盘分配追求简单,只是把一个磁盘简单的分了3个分区。现在,因用户数据增多、磁盘空间变少、当数据撑满磁盘时,会导致系统崩溃。为防止此种情况的发生我必须把把根下的/home 目录迁移出 来独立分…

    2017-08-10
  • shell脚本中变量与运算及简单编程示例

    一、变量         在Linux shell脚本的变量中,分为系统定义的变量和用户定义的变量。这些变量是用来调用一个数值或字符值。定义变量时,不需要声明变量类型。 1、系统变量         …

    Linux干货 2016-08-15
  • 马哥教育网络班22期+第2周课程练习

    一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。     Linux上文件管理类命令常用的有:pwd、ls、cd、cp、touch、mv、rm、rmdir (1)pwd:显示当前路径,打印工作目录(Print Working Directory) (2)ls:查看指定目录下的内容 参数 说明 -a 列举目录中的…

    Linux干货 2016-08-29