1 简介

lvs(linux virtual server),linux虚拟服务器,是一个虚拟的四层交换器集群系统,根据目标地址和目标端口实现用户请求转发,本身不产生流量,只做用户请求转发,目前是负载均衡性能最好的集群系统,那么负载均衡实现了很好可伸缩性,节点数目可以增长到几千,甚至几万。后期也由很多用户参与开发LVS辅助工具和辅助组件,最出名的就是alexandre为LVS编写的keepalived,它最初专门用于监控LVS,之后又加入VRRP实现高可用功能。

负载调度器,真实服务器群节点一起被称为LVS,LVS负载调度器(有时也称为负载均衡器),接收服务的所有接入服务集群的请求,并决定集群中的哪个节点应该回复其请求。

1)负载调度器(director):作为整个集群的前端,主要将用户请求分发至真实服务器中进行处理。

2)真实服务器池:由多个功能相同的真是服务器组成,为用户提供真正的网络服务,如web服务,邮件服务等。且虚拟 服务器集群作为一个可伸缩的集群,可自由添加深处真是服务器而并步影响整个集群的正常工作。

3)共享存储:作用就是让每个用户访问的资源都是一样的,服务器支持写操作,才建议使用

LVS集群的高可用,虽然LVS负载均衡性能很好,但是如果其中节点故障,LVS是无法感知的,因此产生了LVS周边的一个辅助工具KeepAlived,用于监控检查兼容性非常好,如果RS一个节点挂掉,keepalived会将此节点从管理列表中剔出,当节点恢复再拉回管理列表,但是此时的调度器存在单点故障的可能性,所以还必须使用其他软件来实现调度器的高可用,比如hearbeat。

官网链接: http://linux-vs.org/index.html

2 常用名词

  • VS:virtual server,虚拟服务器,也叫Director
  • RS:real server,真正的服务器,集群中的节点
  • CIP:客户端IP
  • VIP:virtual IP,director向外部提供服务的IP
  • RIP:realserver集群节点的服务器网卡IP
  • DIP:director与RS通信的IP

3 三种模式

2.1 NAT 网络地址转换模式

lvs负载均衡 tun实现 负载均衡 lvs nginx_nginx

原理和适用场景:相对来说,使用NAT模式,配置比较简单,也容易扩容,适用于响应流量不是很大的应用服务。

缺点:所有的请求,都会经过LVS调度器,很容易触发瓶颈。

2.2 TUN IP隧道模式

lvs负载均衡 tun实现 负载均衡 lvs nginx_IP_02

原理和适用场景:请求的时候会经过LVS调度器进行调度,响应的时候由服务器直接向客户端返回结果,适用于服务器可配置多个IP的情况。

缺点:需要服务器都可以直接和服务端进行交互,对于纯内网的机器并不适用。

2.3 DR 直接路由模式

lvs负载均衡 tun实现 负载均衡 lvs nginx_nginx_03

原理和适用场景:请求的时候会经过LVS调度器进行调度,响应的时候由服务器将结果转发给Router,由router向向客户端返回结果,适用于同网段的多台机器。

缺点:LVS调度器及应用服务器在同一个网段中,因此不能实现集群的跨网段应用。

3 相关信息

  • 博文不易,辛苦各位猿友点个关注和赞,感谢