• LVS 基本原理

    背景

    LVS (Linux Virtual Server)是一个虚拟的服务器集群系统,可以在unix/linux平台下实现负载均衡(Load Banlance)集群功能。该项目在1998年5月由章文嵩博士组织成立。

    • 中国人自己的开源项目哦!
    • 中国人自己的开源项目哦!
    • 中国人自己的开源项目哦!

    如下图:一组服务器通过高速的局域网或者地理分布的广域网相互连接,在它们的前端有一个负载调度器(Load Balancer)。负载调度器能无缝地将网络请求调度到真实服务器上,从而使得服务器集群的结构对客户是透明的,客户访问集群系统提供的网络服务就像访 问一台高性能、高可用的服务器一样。客户程序不受服务器集群的影响不需作任何修改。系统的伸缩性通过在服务机群中透明地加入和删除一个节点来达到,通过检 测节点或服务进程故障和正确地重置系统达到高可用性。由于我们的负载调度技术是在Linux内核中实现的,我们称之为Linux虚拟服务器(Linux Virtual Server)。他主要应用于负载均衡

    yy

    官网地址: linuxvirshserver.org

    官方文档:章博士自述LVS相关

    • http://www.linuxvirtualserver.org/zh/lvs1.html
    • http://www.linuxvirtualserver.org/zh/lvs2.html
    • http://www.linuxvirtualserver.org/zh/lvs3.html
    • http://www.linuxvirtualserver.org/zh/lvs4.html

    IPVS 与 ipvsadm

    LVS 大概可看做由以下两部分组成:

    • ipvsadm:管理集群服务的命令行工具,工作于用户空间,也就是我们用命令行管理LVS的工具。
    • IPVS:为lvs提供服务的内核模块,工作于内核空间。

    %e5%b1%8f%e5%b9%95%e5%bf%ab%e7%85%a7-2016-12-16-%e4%b8%8b%e5%8d%883-30-40

     

     

    从上图可以看出lpvs是工作在内核层,我们不能够直接操作ipvs,vs负载均衡调度技术是在linux内核中实现的。因此,被称之为linux虚拟服务器。我们使用该软件配置lvs的时候,不能直接配置内核中的ipvs,而需要使用ipvs的管理工具ipvsadm进行管理。通过keepalived也可以管理LVS

    LVS工作模式与调度算法

    当客户向负载均衡服务器发送请求。负载均衡器接受客户的请求,然后先是根据LVS的调度算法(8种)来决定要将这个请求发送给哪个节点服务器然后依据自己的工作模式(3种)来看应该如何把这些客户的请求如何发送给节点服务器,节点服务器又应该如何来把响应数据包发回给客户端

    这部分内容,我写完又删了。因为官方文档写的很清楚易懂,如果重复一遍没什么意义。 说到这里其实我曾经在查阅各个开源工具的官方文档时,比如MySQL。 我就在想,假如有一天我参阅某个工具的官方文档本身就是中文的,那是不是很爽。 什么总结、搜索之类的统统不需要,多看几遍就是了。 LVS 真正意义的帮我实现了这一步。

    在此再次向章博士表示崇高的敬意!

    • LVS工作模式的内容均可查阅http://www.linuxvirtualserver.org/zh/lvs3.html 一节。
    • LVS调度算法的内容均可查阅http://www.linuxvirtualserver.org/zh/lvs4.html一节。

     

    参考:

    http://blog.51cto.com/zt/567