e-works数字化企业网  »  文章频道  »  基础信息化  »  终端和服务器

漫谈 LVS (Linux虚拟服务器)

2017/10/7    来源:简书    作者:佚名      
关键字:LVS  Linux虚拟服务器  
LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。
    一、负载均衡的方式
 
    我们知道服务器集群的重要性以及必要性,而实现服务器集群主要就是为了负载均衡(Load Balance),负载均衡就是有两台或者以上的服务器或者站点为我们提供服务,我们将来自客户端的请求靠某种算法尽量平均分摊到这些集群中,从而避免一台服务器因为负载太高而出现故障。
 
    简而言之便是将所有的负载均分到多台服务器中,即使其中某个出现故障,用户也能正常访问,得到服务。
 
    而从早期到现在出现的负载均衡方式有这样的两种:
 
    •硬件负载均衡
 
    •软件负载均衡
 
    其中硬件负载均衡解决方案是直接在服务器和外部网络间安装负载均衡设备,由专门的设备完成专门的任务,独立于操作系统,整体性能得到大量提高,加上多样化的负载均衡策略,智能化的流量管理,但是相对来说成本较高。
 
    而常用的负载均衡器有这样一些:
 
    •F5 BIG-IP
 
    •Citrix Netscaler
 
    •Alteon ACEDirector
 
    •Cisco LocalDirector
 
    •A10 负载均衡器
 
    •梭子鱼负载均衡器
 
漫谈 LVS (Linux虚拟服务器)
 
    F5-Big-IP受到了用户的广泛认可,基于简单的Web管理界面,实现4-7层负载均衡、通用持续性、响应错误处理、SSL加速、智能HTTP压缩、TCP优化、第7层速率整形、内容缓冲、应用攻击过滤、拒绝服务(DoS)攻击和SYN Flood保护等等强大的功能
 
    而更加广泛的则是使用软件的方式来实现负载均衡,实现效果不错,并且不需要成本是很多企业选择的方式。其中常用的方式有:
 
    •LVS
 
    •Nginx
 
    •HAProxy
 
    其中 LVS 主要工作与网络模型中的第四层,而 Nginx 主要工作于第七层,而 HAProxy 是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机。
 
    其中 LVS 抗负载能力强只是工作在网络4层之上仅作分发之用,没有流量的产生,并且工作稳定,自身有完整的双机热备方案,如LVS+Keepalived和LVS+Heartbeat,在项目实施中用得最多的还是LVS/DR+Keepalived。
 
    二、LVS 的集群特点
 
    LVS 集群有这样的一些特点:
 
    1、在功能上:
 
    •有实现三种IP负载均衡技术和八种连接调度算法的IPVS软件。在IPVS内部实现上,采用了高效的Hash函数和垃圾回收机制,能正确处理所调度报文相 关的ICMP消息(有些商品化的系统反而不能)。虚拟服务的设置数目没有限制,每个虚拟服务有自己的服务器集。它支持持久的虚拟服务(如HTTP Cookie和HTTPS等需要该功能的支持),并提供详尽的统计数据,如连接的处理速率和报文的流量等。针对大规模拒绝服务(Deny of Service)攻击,实现了三种防卫策略。
 
    •有基于内容请求分发的应用层交换软件KTCPVS,它也是在Linux内核中实现。有相关的集群管理软件对资源进行监测,能及时将故障屏蔽,实现系统的高可用性。主、从调度器能周期性地进行状态同步,从而实现更高的可用性。
 
    2、在适用性上:
 
    •后端服务器可运行任何支持TCP/IP的操作系统,包括Linux,各种Unix(如FreeBSD、Sun Solaris、HP Unix等),Mac/OS和Windows NT/2000等。
 
    •负载调度器能够支持绝大多数的TCP和UDP协议: | 协 议 | 内 容 | |--------|--------| | TCP | HTTP,FTP,PROXY,SMTP,POP3,IMAP4,DNS,LDAP,HTTPS,SSMTP等| UDP | DNS,NTP,ICP,视频、音频流播放协议等 |无需对客户机和服务器作任何修改,可适用大多数Internet服务。
 
    3、在性能上:
 
    LVS服务器集群系统具有良好的伸缩性,可支持几百万个并发连接。配置100M网卡,采用VS/TUN或VS/DR调度技术,集群系统的吞吐量可高达1Gbits/s;如配置千兆网卡,则系统的最大吞吐量可接近10Gbits/s。
 
    三、LVS 的工作框架
 
    Linux Virtual Server 项目的目标:使用集群技术和 Linux 操作系统实现一个高性能、高可用的服务器,它具有很好的可伸缩性(Scalability)、可靠性(Reliability)和可管理性(Manageability)。
 
    LVS项目已提供了一个实现可伸缩网络服务的Linux Virtual Server框架:
 
漫谈 LVS (Linux虚拟服务器)
 
    LVS_framework在LVS框架中,提供了含有三种IP负载均衡技术的IP虚拟服务器软件:
 
    •IPVS:实现IP负载均衡。在调度器的实现技术中,IP负载均衡技术是效率最高的,只需做到对数据包的分发。
 
    •基于内容请求分发的内核 Layer-7 交换机 KTCPVS(Kernel TCP Virtual Server)
 
    •集群管理软件
 
    四、LVS 的组成部分
 
    LVS集群采用三层结构,三层主要组成部分为:
 
    •负载调度器(load balancer),它是整个集群对外面的前端机,负责将客户的请求发送到一组服务器上执行,而客户认为服务是来自一个IP地址(我们可称之为虚拟IP地址)上的。
 
    •服务器池(server pool),是一组真正执行客户请求的服务器,执行的服务有 WEB、MAIL、FTP 和 DNS 等。
 
    •共享存储(shared storage),它为服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容,提供相同的服务。
 
漫谈 LVS (Linux虚拟服务器)
 

责任编辑:李欢
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
e-works
官方微信
掌上
信息化
编辑推荐
新闻推荐
博客推荐
视频推荐