🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
LVS是 Linux Virtual Server 的简称,也就是Linux虚拟服务器(是一个虚拟的服务器集群系统)。这是一个由章文嵩博士发起的一个开源项目,它的官方网站是LinuxVirtualServer现在 LVS 已经是 Linux 内核标准的一部分。使用 LVS 可以达到的技术目标是:通过 LVS 达到的负载均衡技术和 Linux 操作系统实现一个高性能高可用的 Linux 服务器集群,它具有良好的可靠性、可扩展性和可操作性。 从而以低廉的成本实现最优的性能。LVS 是一个实现负载均衡集群的开源软件项目,LVS架构从逻辑上可分为调度层、Server集群层和共享存储。 LVS的基本工作原理: ![](https://img.kancloud.cn/53/a7/53a70db9b91fc96184a92c39e2bc5054_871x423.png) 1. 当用户向负载均衡调度器(Director Server)发起请求,调度器将请求发往至内核空间。 2. PREROUTING链首先会接收到用户请求,判断目标IP确定是本机IP,将数据包发往INPUT链。 3. IPVS是工作在INPUT链上的,当用户请求到达INPUT时,IPVS会将用户请求和自己已定义好的集群服务进行比对,如果用户请求的就是定义的集群服务,那么此时IPVS会强行修改数据包里的目标IP地址及端口,并将新的数据包发往POSTROUTING链。 4. POSTROUTING链接收数据包后发现目标IP地址刚好是自己的后端服务器,那么此时通过选路,将数据包最终发送给后端的服务器。 LVS的组成: LVS 由2部分程序组成,包括 ipvs 和 ipvsadm。 * ipvs(ip virtual server):一段代码工作在内核空间,叫ipvs,是真正生效实现调度的代码。 * ipvsadm:另外一段是工作在用户空间,叫ipvsadm,负责为ipvs内核框架编写规则,定义谁是集群服务,而谁是后端真实的服务器(Real Server)。 [参考文章](https://www.cnblogs.com/liqing1009/p/8763045.html) [参考文章](https://cloud.tencent.com/developer/news/59467)