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

相关推荐

  • 马哥教育网络班22期第一周课程练习1-3天

    1.描述计算机组成及其功能 CPU:  运算器  控制器  寄存器  缓存 存储器:  RAM(随机访问存储器)  I/O设备:               i:下指令,提供数据 如:键鼠     &…

    Linux干货 2016-08-15
  • 自动编译安装Apache脚本

    自动编译安装Apache脚本,Linux系统版本不同,具体信息要查看日志进行对应的处理,本脚本安装Apache2.4.9

    Linux干货 2018-03-17
  • bash基础特性(二)之命令别名,IO重定向,管道

    命令别名alias 别名通俗地说,叫花名,当我们常用的命令,要是输入太长,或经常要进入的目录,可以用一个别名来定义它们,定义别名时尽量不要和已有命令名相同。这样可以提高输入速度和工作效率。定义别名格式:alias 别名=’原命令 参数’ (要是没空格,可以不用引号)例如 : alias vi=vim [root@dxlcentOS ~…

    Linux干货 2017-09-24
  • lvs笔记之nat&dr模型简单实现

    lvs笔记之nat&dr模型简单实现 lvs笔记之nat&dr模型简单实现 lvs 集群 实现 负载均衡 nat lvs笔记之nat&dr模型简单实现 ipvsadm使用说明 lvs-nat的简单实现 踩过的坑1 lvs-dr实现 总结 ipvsadm使用说明     -A: 添加一个…

    2017-01-03
  • 任务计划

    所谓计划任务就是指某一个时间系统自动做一件事情如输入指令或者保存文件等等 计划任务分两种:一次性计划任务命令(at)和周期性计划任务命令(crontab)at的用法:如果当前时间为2017年6月6日 at 18:00 2017-06-6 w > /root/who.txt init 0 (输入ctrl+d结束编辑…

    Linux干货 2017-06-07
  • 马哥教育网络班21期第2周课程练习

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。     复制命令:cp         cp [OPTION]… [-T] SOURCE DEST     &…

    Linux干货 2016-07-16