lvs简介
1.LVS是什么?
LVS的英文全称是Linux Virtual Server,即Linux虚拟服务器。它是我们国家的章文嵩博士的一个开源项目。在linux内存2.6中,它已经成为内核的一部分,在此之前的内核版本则需要重新编译内核。
2.LVS能干什么?
LVS主要用于多服务器的负载均衡。它工作在网络层,可以实现高性能,高可用的服务器集群技术。它廉价,可把许多低性能的服务器组合在一起形成一个超级服务器。它易用,配置非常简单,且有多种负载均衡的方法。它稳定可靠,即使在集群的服务器中某台服务器无法正常工作,也不影响整体效果。另外可扩展性也非常好.
3.什么是负载均衡
LVS 负载均衡是将用户访问请求根据一定的转发策略分发到后端多台服务器 (支持物理机 / 虚机 / 容器等) 的流量分发控制服务。它采用 LVS(Linux Virtual Server) + keepalived 的方式实现,设置虚拟服务地址 (VIP),通过健康检查自动摘除不可用的服务器,从而提升应用的整体服务能力,增强应用的可用性。
4.负载均衡带来了什么好处
- 保护后端 RS, 不直接暴露给用户。
- 对后端 RS 进行健康检查。
- 按策略分发流量至后端 RS。
5.Hulk LVS 集群架构详解
使用 BGP+ECMP 的模式构建集群,用 ECMP 将数据包散列到集群中各个节点上,通过 BGP 协议保证单台机器故障后将这台机器的路由动态的剔除出去,由此做到了动态 failover。
lvs集群的类型:
lvs: ipvsadm/ipvs
ipvsadm:用户空间的命令行工具,规则管理器
用于管理集群服务及RealServer
ipvs:工作于内核空间netfilter的INPUT钩子上的框架
工作模式:
DR:直接路由,Direct Routing,采用半开放式的网络结构
NAT:地址转换,Network Address Translation,
TUN:隧道,IP Tunnel,采用开放式的网络结构
FULLNAT:
RIP:真实web服务器的IP
DIP:负载服务器的IP
VIP:负载服务器的虚拟IP
CIP:客户端主机的IP
lvs-nat模式
lvs-nat:
本质是多目标IP的DNAT,通过将请求报文中的目标地址和目标端口修改为某挑
出的RS的RIP和PORT实现转发
(1)RIP和DIP应在同一个IP网络,且应使用私网地址;RS的网关要指向DIP
(2)请求报文和响应报文都必须经由Director转发,Director易于成为系统瓶颈
(3)支持端口映射,可修改请求报文的目标PORT
(4)VS必须是Linux系统,RS可以是任意OS系统
6.工作原理
LVS采用三层结构:调度器、服务器池、共享存储,结构如下图:
负载调度器(load balancer/Director):由一台或多台负载调度器组成,主要作用类似一个路由器,将用户请求分发给服务器池上的real server;