目录
6.基于LVS的负载均衡:DR模式-- ldirectord(健康检测)实验
7.基于LVS的负载均衡: DR模式-- keepalived (高可用集群) 实验
1.负载均衡概述
负载均衡(Load balancing),是一种计算机技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最优化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。
为什么需要负载均衡?
在网站的建设中,为了提升网站服务能力,基本上都会采用集群部署,这种情况下,就要将用户的请求平均的分发到服务器群当中去,这样既不会过载又能快速响应用户的请求。
就像生活中我们坐地铁一样,人们下地铁后会就近出站,这样就会造成最近的出口非常拥挤,解决的办法就是平均的将乘客引导到每个出口。如图:
2.LVS是什么?
LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中。该项目在Linux内核中实现了基于IP的数据请求负载均衡调度方案。
如图所示,用户的Web请求会发送给LVS调度器,调度器根据自己预设的算法决定将该请求发送给后端的某台Web服务器,比如,轮询算法可以将外部的请求平均分发给后端的所有服务器,用户访问LVS调度器虽然会被转发到后端真实的服务器,但如果真实服务器连接的是相同的存储,提供的服务也是相同的服务,所以用户不管是访问哪台真实服务器,得到的服务内容都是一样的。
LVS中的相关术语
DS:Director Server。指的是前端负载均衡器节点。
RS:Real Server。后端真实的工作服务器。
VIP:向外部直接面向用户请求,作为用户请求的目标的IP地址。
DIP:Director Server IP,主要用于和内部主机通讯的IP地址。
RIP:Real Server IP,后端服务器的IP地址。
CIP:Client IP,访问客户端的IP地址。
3.LVS中的DR模式
1.DR模式的数据包流向分析:
- 用户发送请求到Director Server,请求的数据报文(源IP是CIP,目标IP是VIP)到达内核空间。
- 由于DS和RS在同一个网络中,所以是通过二层数据链路层来传输。
- 内核空间判断数据包的目标IP是本机IP,此时IPVS比对数据包请求的服务是否为集群服务,若是,重新封装数据包,修改源MAC地址为DIP的MAC地址,目标MAC地址为RIP的MAC地址,源IP地址与目标IP地址没有改变,然后将数据包发送给RS
- RS发现请求报文的MAC地址是自己的MAC地址,就接收此报文,重新封装报文(源IP地址为VIP,目标IP为CIP),将响应报文通过lo接口传送给eth0网卡然后向外发出。
- RS直接将响应报文传送到客户端。
2.LVS-DR模型的特点:
- RS和DS必须在同一个物理网络中。
- 所有的请求报文经由DS,但响应报文必须不