那些你不知道的LVS秘密CSDN
2024/10/14 来源:本站原创 浏览次数:次作者
故事凌责编
郭芮近来在群里,看到大家说对lvs+keepalived不太了解,我想我应该是有发言权的。自己本身就是运维出身,原来在京东物流的时候,lvs+keepalived就是仓库物流在用的,踩了很多坑,只不过后来都上云了,但是这个经验还是可以跟大家叨叨一会的——下面我们进入主题吧。LVS简介1.什么是LVS?LVS是LinuxVirtualServer的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。目前LVS已经被集成到Linux内核模块中。2.LVS能做什么?LVS主要用于多服务器的负载均衡:它工作在网络层,可以实现高性能,高可用的服务器集群技术。它廉价,可把许多低性能的服务器组合在一起形成一个超级服务器。它易用,配置非常简单,且有多种负载均衡的方法。它稳定可靠,即使在集群的服务器中某台服务器无法正常工作,也不影响整体效果。可扩展性也非常好。性能几乎可以和F5相媲美(个人意见)3.LVS的负载均衡结构图lvs的负载均衡结构图,大概的使用场景是这样的,关于高可用的地方,我们后面会进行介绍,别着急哦!LVS的核心组件和专业术语1.核心组件LVS的管理工具和内核模块ipvsadm/ipvs:ipvsadm:用于空间的命令行工具,用于管理集群服务及集群服务上的RS等;ipvs:工作于内核上的程序,可根据用户定义的集群实现请求转发。2.专业术语VS:VirtualServer,虚拟服务Director:负载均衡器,图1的lvs调度器Balancer:分发器,图1的lvs调度器RS:RealServer,后端请求处理服务器,图1的web服务CIP:clientip,客户单ipVIP:DirectorVirturalIP,负载均衡虚拟IP,应该出现在图1的lvs调度器上DIP:DirectorIP负载均衡器ipRIP:RealServerIP,后端请求处理服务器IPLVS的常用几种模式1、LVS的DR模式(最常用)lvs的DR模式最最稳定,是使用最多的一种模式。1.什么是arp广播?在了解LVS的DR模式之前,我们需要先了解一下arp广播,要不然我在讲后面内容的时候会用到这个,已经是大佬的同学跳过吧。小白请认真读完。arp广播:根据ip地址找mac地址。主机A的IP地址为..1.1,MAC地址为0A-11-22-33-44-01;主机B的IP地址为..1.2,MAC地址为0A-11-22-33-44-02;当主机A要与主机B通信时:第1步:根据主机A上的路由表内容,IP确定用于访问主机B的转发IP地址是..1.2。然后A主机在自己的本地ARP缓存中检查主机B的匹配MAC地址。第2步:如果主机A在ARP缓存中没有找到映射,它将询问..1.2的硬件地址,从而将ARP请求帧广播到本地网络上的所有主机。源主机A的IP地址和MAC地址都包括在ARP请求中。本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求。第3步:主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地址和MAC地址映射添加到本地ARP缓存中。第4步:主机B将包含其MAC地址的ARP回复消息直接发送回主机A。第5步:当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP缓存。本机缓存是有生存期的,生存期结束后,将再次重复上面的过程。主机B的MAC地址一旦确定,主机A就能向主机B发送IP通信了。2.LVS的DR模式的请求流程图申明:首先我们先来申明一下,举个例子:我们在请求一个域名如: