lvs的nat功能
从客户端发起一个请求到服务器端响应的过程大概是这样的:
1.首先客户端会访问服务器的域名,经过层层路由将请求报文发送给Director,即LVS的前端调度器(这个时候IP报文的源地址是CIP,目标地址是VIP)
2.Director发现客户端请求的是一组LVS服务(根据请求的IP地址加端口号判断)(这个时候IP报文的源地址是CIP,目标地址是VIP)
3.调度器通过事先确定好的调度方案,将客户端请求交给某一个后台物理机(这个时候IP报文的源地址是CIP,目标地址是RIP)
4.物理机根据请求报文,来封装响应报文,将其交给Director(这个时候IP报文的源地址是RIP,目标地址是CIP)
5.Director在接收到物理机的响应报文后,将该报文回应给CIP(此时IP报文源地址是VIP,目标地址是CIP)
所以,NAT架构的LVS具有以下特性:
1.RS应该使用私有地址
2.RS的网关必须指向DIP(即调度器的地址)
3.RIP和DIP必须在同一网段内
4.请求和响应报文都得经过Director,在高负载场景中,Director很可能成为系统性能瓶颈
5.支持端口映射
6.RS可以使用任意支持集群服务的OS.
在DR模式中,调度器VS和RS在同一个VLAN中,VS和RS服务器组共用一个VIP,只有VS对客户端的ARP请求进行响应,而RS对自己本身IP的ARP请求DROP掉。
当客户端发来对VIP的请求时,VS会根据调度算法找出对应的RS,然后将数据链路层的帧的目的mac地址改成进行响应的RS的mac地址。并将请求分发给这台RS这时RS收到这个数据包,处理完成之后,由于目标IP地址一致,后端真实服务器直接将数据返给客户。
则等于RS直接从客户端收到这个数据包,处理后直接返回给客户端
优点:负载调度器中只负责调度请求,而服务器直接将响应返回给客户,可以极大地提高整个集群系统的吞吐量
缺点:要求负载均衡器的网卡必须与物理网卡在一个物理段上。