一.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条)
内容格式把握得很好,原理部分可以加入一些自己的理解,加油!