`
neptune
  • 浏览: 362112 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论
阅读更多
1. LVS的结构

  LVS方式的cluster从结构上可分为两部分:前端的负载均衡器(称之为director)和后端的真实服务器(称之为real server)。cluster前端的director将来自外界的请求调度到cluster后端不同的real server去执行。real server负责真正的提供各种应用服务,比如:Web、FTP、Mail等服务。real server的数量可以根据实际需求进行增加、减少。

  2. LVS的三种包转发方式

  LVS提供了三种包转发方式:NAT(网络地址映射)、IP Tunneling(IP隧道)、Direct Routing(直接路由)。不同的转发模式决定了不同的cluster的网络结构,下面对三种转发方式分别介始:

  NAT(网络地址映射)

  NAT方式可支持任何的操作系统,以及私有网络,并且只需一个Internet IP地址,但是整个系统的性能受到限制。因为执行NAT每次需要重写包,有一定的延迟;另外,大部分应用有80%的数据是从服务器流向客户机,也就是用户的请求非常短,而服务器的回应非常大,对负载均衡器形成很大压力,成为了新的瓶颈。

  IP Tunneling(IP隧道)

  director分配请求到不同的real server。real server处理请求后直接回应给用户,这样director负载均衡器仅处理客户机与服务器的一半连接。IP Tunneling技术极大地提高了director的调度处理能力,同时也极大地提高了系统能容纳的最大节点数,可以超过100个节点。real server可以在任何LAN或WAN上运行,这意味着允许地理上的分布,这在灾难恢复中有重要意义。服务器必须拥有正式的IP地址用于与客户机直接通信,并且所有服务器必须支持IP隧道协议。

  Direct Routing(直接路由)

  与IP Tunneling类似,负载均衡器仅处理一半的连接,避免了新的性能瓶颈,同样增加了系统的可伸缩性。Direct Routing与IP Tunneling相比,没有IP封装的开销,但由于采用物理层(修改MAC地址)技术,所有服务器都必须在一个物理网段。

  3. LVS的八种调度算法

  LVS已实现了以下八种调度算法:

  1.轮叫调度(Round-Robin Scheduling)

  2.加权轮叫调度(Weighted Round-Robin Scheduling)

  3.最小连接调度(Least-Connection Scheduling)

  4.加权最小连接调度(Weighted Least-Connection Scheduling)

  5.基于局部性的最少链接(Locality-Based Least Connections Scheduling)

  6.带复制的基于局部性最少链接(Locality-Based Least Connections with Replication Scheduling)

  7.目标地址散列调度(Destination Hashing Scheduling)

  8.源地址散列调度(Source Hashing Scheduling)

  注:如果想了解关于以上几点的技术细节,LVS的主页查询。LVS的主页是:

  http://www.LinuxVirtualServer.org/

  http://www.linux-vs.org/

  了解了LVS的三个要点之后,接下来我们来配置一个采用Direct Routing包转发方式、加权最小连接调度算法的cluster。

  我们知道Direct Routing包转发方式是通过改写请求报文的MAC地址,将请求发送到real server。前台的director机器只需要接收和调度外界的请求,而不需要负责返回这些请求的反馈结果。director机器和real server都有一块网卡连在同一物理网段上。所以我们给出以下的网络拓扑图:

  [myimg]upload/63679.png[/myimg]

  director机器上需要进行如下配置:

  设置好本机的IP:192.168.2.1

  然后执行以下命令:

  ifconfig lo:0 192.168.2.254 netmask 255.255.255.255 broadcast

  192.168.2.254 up

  route add -host 192.168.2.254 dev lo:0

  echo 1 > /proc/sys/net/ipv4/ip_forward

  echo 1 >/proc/sys/net/ipv4/conf/all/hidden

  ipvsadm -C

  ipvsadm -A -t 192.168.2.254:80 -s wlc

  ipvsadm -a -t 192.168.2.254:80 -r 192.168.2.2 -g

  ipvsadm -a -t 192.168.2.254:80 -r 192.168.2.3 -g

  ......

  ipvsadm -A -t 192.168.2.254:21 -s wlc

  ipvsadm -a -t 192.168.2.254:21 -r 192.168.2.2 -g

  ipvsadm -a -t 192.168.2.254:21 -r 192.168.2.3 -g

  ......

  real server机器上需要进行如下配置:

  对于第一台real server(RS1),设置好本机的IP:192.168.2.2 然后执行以下命令:

  ifconfig lo:0 192.168.2.254 netmask 255.255.255.255 broadcast

  192.168.2.254 up

  route add -host 192.168.2.254 dev lo:0

  对于其它real server:RS2、RS3、RS4......,做相类的设定。

  完成以上设置后,所有对192.168.2.254的80端口的访问都会通过director机器分配到后面的real server上去,而real server的处理后结果将直接反馈给客户。至此,我们完成了一个cluster的例子。通过这个例子,相信您也可以轻松地利用Linux架设起一组 cluster来。其实在cluster架设到这里之后,还并不能达到正式应用的要求,实际应用中还有一些问题需要解决,比如要安装监视软件,监视集群的运作,要能及时发现real server的故障并对应调整real server的列表。还有后台real server节点的数据一致性等问题。这些在一些商用的cluster软件产品中就得到了很好的解决,而网络也有一些非商用的软件,比如mon就是这样的系统资源监控程序,可以监控网络服务可用性、服务器问题等,最重要的是mon提供了一个框架,用户可以自行定义和扩展。这些内容请参阅其它文章
分享到:
评论

相关推荐

    51CTO下载-1-LVS基础.part1

    51CTO下载-1-LVS基础.part1

    LVS官方教材

    综上所述,《Linux Virtual Server Administration》这本教材全面覆盖了 LVS 的基础知识、配置方法和技术细节,并针对 Red Hat Enterprise Linux 5.0 提供了详细的指南。无论是对于初学者还是经验丰富的系统管理员来...

    lvs使用说明,详细介绍了linux虚拟服务器的使用

    #### 一、LVS 基础及技术 ##### 1、LVS 基础及介绍 LVS (Linux Virtual Server) 是 Linux 虚拟服务器项目的简称,该项目成立于 1998 年 5 月,由中国科学家章文嵩博士创立,是中国最早的开源软件项目之一。LVS 是...

    lvs+keepalived 详细教程 HA

    #### 一、LVS基础概念 **LVS**(Linux Virtual Server)是一种基于Linux内核实现的负载均衡技术。它通过一个或多个调度器(Load Balancer)将网络请求分发到真实服务器(Real Server)上,确保用户能够像访问一台高...

    lvs相关资料包

    本资料包包含了一系列关于LVS的重要文档,涵盖了LVS的基础知识、实际应用、监控方法、模式和算法以及安装配置等内容。 1. **LVS简介.docx** 这份文档提供了LVS的基本介绍,包括其工作原理、主要功能和优势。LVS...

    lvs安装配置 入门与详解

    Linux LVS(Linux Virtual Server)是一种高性能的网络负载均衡技术,它通过在内核级别实现虚拟服务器集群,将流入的网络...通过学习和实践本文档,读者将能够掌握基本的LVS安装和配置,为后续的高级应用打下坚实基础。

    linux lvs 的DR 模式

    2. **操作系统选择**:文档推荐使用 CentOS 4.4 版本作为基础操作系统。然而,考虑到 CentOS 4.4 已经非常老旧,建议使用更现代的操作系统版本,例如 CentOS 7 或者 RHEL 8 等。 3. **IPVS 软件安装**:文档提供了 ...

    LVS.rar_lvs

    4. **云服务**:在大规模云计算环境中,LVS是构建弹性、高可用基础设施的重要组件。 **四、LVS的配置与管理** LVS的配置涉及到多个层面,包括网络设置、调度策略、健康检查等。管理员需要对LVS的内核模块进行加载...

    LVS负载均衡

    1. IP负载均衡(IPVS):这是LVS的基础,通过虚拟IP地址将请求分发到后端真实的服务器。用户访问虚拟IP,而实际的处理由后端服务器完成,LVS根据预设的策略将请求路由到合适的服务器。 2. 连接负载均衡:LVS可以在...

    LVS高级应用详解.txt

    合理的IP规划是构建LVS集群的基础,有助于实现高效的数据传输和负载均衡。 - **网络配置**:对于宿主机来说,除了需要配置正确的IP地址之外,还需要开启路由转发功能。此外,在宿主机上模拟iSCSI存储也是一个重要的...

    LVS-NAT安装文档及介质

    **一、LVS-NAT基础概念** 1. **LVS架构**:LVS由Director和Real Server两部分组成。Director作为前端调度器,接收来自客户端的请求,并根据策略将其分发到Real Server。Real Server是实际处理业务的服务器,它们对...

    lvs源码分析 ipvs源码分析

    通过深入研究LVS和IPVS的源码,我们可以了解其内部工作原理,为优化性能、增强稳定性、开发新功能提供基础。对于希望构建高可用、高性能网络服务的系统管理员和开发者来说,这是一项非常有价值的工作。《IPVS源码...

    LVS集群系统

    同时,实验还涉及了TCP/IP网络配置和Linux操作系统管理的基础知识,有助于提升网络工程专业学生的实践技能和理论知识。此外,实验中提到的iSCSI存储技术是网络存储的一种重要协议,允许存储设备通过IP网络进行数据...

    LVS在淘宝环境中的应用(技术嘉年华).

    **LVS(Linux Virtual Server)在淘宝环境中的应用** Linux Virtual Server(简称LVS)是基于IP...结合Java技术,它构建了一个健壮、灵活的电商服务基础设施,确保了淘宝平台的稳定运行,为用户提供无中断的购物体验。

    lvs_conf:根据模板生成 lvs 配置文件

    **LVS基础概念:** 1. **负载均衡器(Load Balancer)**:作为前端接收来自客户端的请求,并根据预设策略将这些请求分发到后端的真实服务器。 2. **Director/Load Balancer**:LVS集群中的控制节点,负责调度任务。 ...

Global site tag (gtag.js) - Google Analytics