图解 lvs 工作原理

blob.png

blob.png

blob.png

一.lvs 基本工作流程介绍

 如图1,ipvsadm定义lvs服务监听的ip和port,并发送给ipvs,而ipvs是工作在netfilter的input钩子上的程序,当input链中有目标ip属于lvs服务的请求报文时,ipvs就会修改该报文的链路,使其不进入用户空间而直接转到postrouting链上,并转发给其中一台real server,转发的方式由下文详述。

二.lvs 4种工作模式介绍

  • lvs-nat:

    多目标nat

    转发方式:如图2.1,Director将请求报文的目标IP修改RIP(步骤②),响应报文的源IP修改为VIP(步骤④)

    • 步骤③④中Director将响应报文源IP修改为VIP,所以RS网关需指向到DIP

    • 请求报文、响应报文都由Director转发,所以Director易成为性能瓶颈

  • lvs-dr

    direct routing(常用)

    转发方式:如图2.2,Director仅为请求报文 新封装一个MAC首部(步骤②),目标MAC为RIP的MAC,故DIP与RIP需要在同一物理网络以实现arp通信;并且RS的本地回环接口lo配置VIP,响应报文从lo的VIP发出,所以IP首部中的源IP就会是VIP

    • RS、Director都有VIP,所以需要确保请求报文只发到Director,常见方法为修改RS的内核参数arp_ignore、arp_announce设为1,使RS不响应其他主机的ARP通信

  • lvs-tun

    tunnel

    转发方式:如图2.3,Director在请求报文的原有IP上再封装一个IP首部,响应报文不经由Director,直接发到CIP,故多个RS可不在同一网络

    • 当RS不在同一网络时,很难保持会话一致性

  • lvs-fullnat

    转发方式:如图2.4,Director同时修改请求报文、响应报文的源IP和目标IP,

    • 请求报文修改后源IP是DIP,故DIP与RIP可以不在同一网络

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

评论列表(1条)

  • 马哥教育
    马哥教育 2016-11-02 16:00

    内容格式把握得很好,原理部分可以加入一些自己的理解,加油!

联系我们

400-080-6560

在线咨询

工作时间:周一至周五,9:30-18:30,节假日同时也值班

QR code