服务器的负载均衡以及LVS介绍

来源:互联网 发布:汉字注音软件 编辑:程序博客网 时间:2024/06/07 21:57

刚来2G组的时候,luwei给了一张服务器框架图,上面有一个负载均衡模块。后来看了一些书,参与了服务器的管理,对负载均衡有了浅显的一些任务。

负载均衡大多数应用于web服务和数据库服务。客服端在向服务器发起连接请求时,负载均衡服务器会检查当前请求较少的服务节点,并将这个连接请求转到这些实际的服务节点上。这样就可以提供更为高效、更多吞吐量的乃至更大用户群的web服务或数据库服务。

F5是一个著名的负载均衡器,有很多优点,高效啊,稳定啊,耐用啊,但是缺点也是显而易见的,贵,而且不是一般的贵。因此,现在有了一些软件负载均衡器,比如反向代理服务器Nginx,还有HAProxy,另外还有,LVS。(Linux Virtual Server)我司现在用LVS来做更多负载均衡的工作。

LVS是在Linux内核中实现的,是Linux专享的高性能的负载均衡系统。

Linux里面用于管理和配置LVS的软件是ipvsadm。

LVS工作在传输层,仅作分发之用,所以没有流量的产生,有更强的抗负载能力。只要基于TCP/IP协议的应用,都能做负载均衡。

基于LVS的服务器群分为前端的负载均衡器LB和后端服务器RS。LB和RS之间通过广域网或局域网连接,而用户只能看见LB而看不到RS,LB就被称为虚拟服务器。当用户的请求发往LB时,LB会根据预先定义好的包转发策略和负载均衡调度算法将用户的请求转发给某个RS。RS再将用户的请求结果返回给用户。与请求包一样,应答包的返回方式也跟预先定义好的包转发策略有关。LVS的包转发策略主要有三种,NAT,IP和DR。

LVS的负载均衡调度算法决定了LVS如何选中RS。LVS有很多的负载均衡调度算法,有轮询,加权轮询,最少链接等。

算法现在还没认真研究,最后转一段南非蚂蚁关于系统组成的介绍。

Load Balancer层:位于整个集群系统的最前端,有一台或者多台负载调度器(Director Server)组成,LVS模块就安装在Director Server上,而Director的主要作用类似于一个路由器,它含有完成LVS功能所设定的路由表,通过这些路由表把用户的请求分发给Server Array层的应用服务器(Real Server)上。同时,在Director Server上还要安装对Real Server服务的监控模块Ldirectord,此模块用于监测各个Real Server服务的健康状况。在Real Server不可用时把它从LVS路由表中剔除,恢复时重新加入。
Server Array层:由一组实际运行应用服务的机器组成,Real Server可以是WEB服务器、MAIL服务器、FTP服务器、DNS服务器、视频服务器中的一个或者多个,每个Real Server之间通过高速的LAN或分布在各地的WAN相连接。在实际的应用中,Director Server也可以同时兼任Real Server的角色。
Shared Storage层:是为所有Real Server提供共享存储空间和内容一致性的存储区域,在物理上,一般有磁盘阵列设备组成,为了提供内容的一致性,一般可以通过NFS网络文件系统共享数据,但是NFS在繁忙的业务系统中,性能并不是很好,此时可以采用集群文件系统,例如Red hat的GFS文件系统,oracle提供的OCFS2文件系统等。
从整个LVS结构可以看出,Director Server是整个LVS的核心,目前,用于Director Server的操作系统只能是Linux和FreeBSD,linux2.6内核不用任何设置就可以支持LVS功能,而FreeBSD作为Director Server的应用还不是很多,性能也不是很好。
对于Real Server,几乎可以是所有的系统平台,Linux、windows、Solaris、AIX、BSD系列都能很好的支持。

0 0
原创粉丝点击