li
  当前位置:主页 > 集群技术 > 文章内容
li
Linux下多网卡实现负载均衡技术
来源: www.ixdba.net  作者: IXDBA.NET官方    时间:2008-05-09   阅读:43  
本文章共3771字,分3页,当前第1页,快速翻页:
 
1 引言

  本文介绍Linux下的bonding 技术,Linux 2.4.x的内核中采用了这种技术,利用bonding技术可以将多块网卡接口通过绑定虚拟成为一块网卡,在用户看来这个聚合起来的设备好像是一个单独的以太网接口设备,通俗点讲就是多块网卡具有相同的IP地址而并行连接聚合成一个逻辑链路工作。现在在关于Linux bonding 技术中,有几种算法来实现负载均衡的要求,此文针对这些算法,在此进行简单分析与研究,讨论其不足,并提出另外一种在此基础上改进的一种基于传输协议的负载均衡实现方法。讨论如何实现多个网络接口的分在均衡及其故障接管。

2 负载均衡技术和高可用技术研究介绍

  2.1 负载均衡技术

  负载均衡技术的主要思想就是如何根据某种算法将网络的业务流量平均分配到不同的服务器和网络设备上去,以减轻单台服务器和网络设备的负担,从而提高整个系统的效率。负载均衡既可以由有负载均衡功能的硬件实现,也可以通过一些专用的软件来实现,负载均衡是一种策略,它能让多台服务器或多条链路共同承担一些繁重的计算或者I/O任务,从而以较低的成本消除网络瓶颈,提高网络的灵活性和可靠性。

  2.2 高可用技术

  实现负载均衡首先是基于网络的高可用性提出来的,高可用技术是容错技术的一个分支。实现系统的高可用性最简单的一个办法就是冗余。完整的网络负载均衡和高可用性网络技术有两个方面构成,一是多服务器的绑定和负载均衡,二是一个服务器内部的多网卡绑定的负载均衡,这里主要讨论一个服务器内部的多网卡绑定时的负载均衡。

  3 Linux的bonding技术中负载均衡的简单实现

  3.1 Linux的bonding技术

  Linux的bonding技术是网卡驱动程序之上、数据链路层之下实现的一个虚拟层,通过这种技术,服务器接在交换机上的多块网卡不仅被绑定为一个IP,MAC地址也被设定为同一个,进而构成一个虚拟的网卡,工作站向服务器请求数据,服务器上的网卡接到请求后,网卡根据某种算法智能决定由谁来处理数据的传输。Bonding技术可以提高主机的网络吞吐量和可用性。

  3.2 Linux的几种发送均衡算法

  目前Linux的发送算法最主要的有三种:轮转算法(Round-Robin)、备份算法(Active-Backup)、MAC地址异或算法(MAC-XOR)。下面对目前这三种主要算法进行简单分析。

  3.2.1 轮转算法

  该算法是基于公平原则进行的,它为每个将要被发送的数据包选择发送接口,算法的主要思想是首先第一个数据包由一个接口发送,另一个数据包则由另外一个接口发送,下面依次进行循环选择。通过分析我们可以看出这种算法比较比较简单,在发送数据方面也比较公平,能保证网卡发送数据时候的负载均衡,资源利用率很高。但是我们知道如果一个连接或者会话的数据包从不同的接口发出的话,中途再经过不同的链路,在客户端很有可能会出现数据包无序到达的问题,而无序到达的数据包需要重新要求被发送,这样网络的吞吐量就会下降。

  3.2.2 备份算法

  该算法将多个网卡接口中的一个接口设定为活动状态,其他的接口处于备用状态。当活动接口或者活动链路出现故障时,启动备用链路,由此可见此算法的优点是可以提供高网络连接的可用性,但是它的资源利用率较低,只有一个接口处于工作状态,在有N个网络接口的情况下,资源利用率为1/N。

[NextPage]

  3.2.3 MAC地址异或算法

  该算法的主要思想是:由服务器的MAC地址和客户端的MAC地址共同决定每个数据包的发送端口号,由源MAC地址和目的MAC地址进行异或计算,并将异或结果对接口数求余计算。由于发送到同一个客户端的数据流经过同一个链路,因此数据包能够有序到达客户端。此算法在只有一个客户机访问服务器或者服务器和客户机不在同一子网的情况下,由算法思想得知这种情况下负载不会均衡,在只有一个客户机访问服务器的时候,资源的利用率也是1/N(N为接口数)。



阅读更多内容1 · 2 · 3 · 下一页>>


  上一篇: ORACLE FailSafe与rac(ops)的区别   下一篇: 硬件的负载均衡器和LVS实现负载均...
li
 §相关评论  
 热点文章

·Linux RAC OCFS文件系统与INOD
·Oracle10g R2 Installing RAC
·Linux服务器集群系统(lvs)
·Linux对存储文件系统的技术架构
·linux常用集群文件系统简介
·如何选择合适的双机和集群软件
·LifeKeeper软件介绍
·纯软件方式的双机热备方案深入
·双机热备:基于共享存储与纯软
·双机热备与数据备份,数据安全的
·双机热备常见问题释疑
li
 编辑推荐
·Linux RAC OCFS文件系统与INOD
·Oracle10g R2 Installing RAC
·Linux服务器集群系统(lvs)
·Linux对存储文件系统的技术架构
·linux常用集群文件系统简介
·如何选择合适的双机和集群软件
·LifeKeeper软件介绍
·纯软件方式的双机热备方案深入
·双机热备:基于共享存储与纯软
·双机热备与数据备份,数据安全的
·双机热备常见问题释疑
li
 相关篇章
·ORACLE FailSafe与rac(ops)的区别
·ROSE HA双机软件全程图解安装配置
·集群原理:双机软件与集群软件的异...
·HACMP工作原理以及日常维护
·高性价比mysql集群配置
·利用apache代理功能实现负载均衡...
·国内linux下ha高可用软件简单介绍
·Oracle10g RAC (OCFS2)开启关闭及...
·Oracle10g RAC 关闭及启动步骤
·Oracle10g RAC ASM 环境日常管理...
·硬件的负载均衡器和LVS实现负载均...
·构建基于Linux具有高可用性的集群...
·Rose HA日常相关维护命令与技巧
·oracle 10g dataguard 在windows...
·oracle rac日常基本维护命令
·redhat linux下GFS与RHCS安装日记
·Red Hat集群(Cluster)套件介绍
·nginx简明教程负载均衡和php解释
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接