开发者学堂课程【LVS 负载均衡实战:负载均衡 LVS 工作模型】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/553/detail/7632
负载均衡 LVS 工作模型(二)
三、lvs 集群的类型
lvs: ipvsadm/ipvs
ipvsadm :用户空间的命令行工具,规则管理器
用于管理集群服务及RealServer
ipvs :工作于内核空间netfilter日的INPUT钩子上的框架
IPVS的框架示意图:
/**
*最大的方框表示lvs服务器
*用户发送请求首先会到达prerouting,再交由路由表
*(route)检查,检查完毕后交由input转发,当input转*发完毕后也就到达了本地进程,响应完毕后到达output,
*output与forward最终都会汇总到route路由表,经过*路由表审核后,还会经过postrouting。Lvs在route与*input之间的位置进行工作。在此可以截取错误指令发给route。
**/
lvs集群的类型:
lvs-nat :修改请求报文的目标IP,多目标IP的DNAT
lvs-dr:操纵封装新的MAC地址
//注:重点掌握lvs-nat,lvs-dr两种集群模式
lvs-tun:在原请求IP报文之外新加一个IP首部
lvs-fullnat :修改请求报文的源和目标IP
//注:了解lvs-tun,lvs-fullnat两种集群模式的原理即可。
LVS/NAT的体系结构如下图:
NAT的工作原理:
/**
*lvs服务器上存在两个地址,一个是vip,用于连接外网,
*另一个是 DIP用于连接内网。两台RS服务器的地址不同。
*客户端的ip地址是 CIP。客户端(浏览器)的地址是原地*址,目标是vip,DEST是TCP的80端口。
*DNAT 的工作原理就是将用户发送的请求转发到某个固*定的端口上,原地址不变,端口不变,目标替换成需要转*发成的服务器(RIP1)。数据报文在经过内部的网络之后
*到达了后端的RS1,后端在回应数据报文时,原地址变成*了RIP1 80/TCP,目标地址则变成了CIP XXXXX。
数据*报文在返回的时候应该走原路径而不是另辟蹊径,此时所*有被替换的地址都应被替换回去。这种模式存在的问题是*lvs服务器负载压力过大。
后端服务器与lvs服务器之间*可以存在路由器,但是一般情况下不会加路由器,中间一*般是交互机
**/
/**
*user 客户端通过客户端发请求到达 lvs,lvs 收到请求后的原地址理*论上应该是客户端的地址,目标地址是 vip,这时的lvs服务器需要
*将其进行转换到内部去,转换的过程地址会发生转变,类似于 DNAT
*的工作原理。
**/