1.Lvs原理简介
LVS由前端的负载均衡器(Load Balancer,LB)和后端的真实服务器(Real Server,RS)群组成。RS间可通过局域网或广域网连接。LVS的这种结构对用户是透明的,用户只能看见一台作为LB的虚拟服务器(Virtual Server),而看不到提供服务的RS群。当用户的请求发往虚拟服务器,LB根据设定的包转发策略和负载均衡调度算法将用户请求转发给RS。RS再将用 户请求结果返回给用户。Lvs+Keepalived-LMLPHP

1.当客户端的请求到达负载均衡器的内核空间时,首先会到达PREROUTING链。
2.当内核发现请求数据包的目的地址是本机时,将数据包送往INPUT链。
3.LVS由用户空间的ipvsadm和内核空间的IPVS组成,ipvsadm用来定义规则,IPVS利用ipvsadm定义的规则工作,IPVS工作在INPUT链上,当数据包到达INPUT链时,首先会被IPVS检查,如果数据包里面的目的地址及端口没有在规则里面,那么这条数据包 将被放行至用户空间。
4.如果数据包里面的目的地址及端口在规则里面,那么这条数据报文将被修改目的地址为事先定义好的后端服务器,并送往POSTROUTING链。
5.最后经由POSTROUTING链发往后端服务器。

Lvs的包转发模型
Lvs-NAT模型原理:通过网络地址转换,调度器重写报文的目标地址,根据预先设定的调度算法将请求分配给后端的真实服务器,真是服务器的响应报文通过调度器时,报文的源地址被重写,再返回给客户,完成整个负载调度过程。
Lvs+Keepalived-LMLPHP

Lvs-NAT模式的工作过程:
1.客户端向负载均衡器发送请求,源地址是CIP目的地址是VIP
2.当负载均衡器收到用户的请求时,发现请求的时负载均衡器里面存在的规则,那么它将客户端请求报文的地址改为后端服务器的地址RIP并根据算法发送出去
3.realserver看见报文的目标地址是自己会响应该请求,并将响应报文返回给LVS,源地址RIP目的地址CIP将响应报文返回给LVS
4.LVS将报文的源地址修改为本机VIP,源地址VIP目的地址CIP发送给客户端

DR模型: LVS-DR通过改写请求报文的MAC地址进行转发,将请求发送到真实服务器,而真实服务器将响应直接返回给客户端

Lvs+Keepalived-LMLPHP

1.客户端向LVS的VIP发送请求,源IP和目的IP分别为CIP和VIP,源MAC地址和目的MAC分别为CMAC和DMAC
2.当LVS收到请求后通过调度选出一个realserver来响应请求将源请求中的MAC地址该为自己的MAC地址目的地址改为realserver的MAC地址,此时源MAC和目的MAC分别为DMAC和RMAC,然后将报文送往交换机,交换机收报文后根据目的MAC地址将请求转发至后端Realserver
3.Realserver发现请求报文中的MAC地址是自己就会将报文接收并处理,处理完请求报文后将响应报文通过lo接口送给eth0网卡直接发送给客户端。 注意:需要设置lo接口的VIP不能响应本地网络内的arp请求。

Lvs-TUN模型:TUN模型的工作原理与DR类似,只不过Lvs-TUN是在原有的报文中再添加一个IP首部,而不是去改写报文中的MAC地址
Lvs+Keepalived-LMLPHP
1.客户端向LVS的VIP发送请求










 





 

 

 

 


 

10-06 12:38