快捷搜索:  www.ymwears.cn

Linux 服务器下多网卡的负载均衡

一、小序现今险些各行各业内部都建立了自己的办事器,因为办事器的特殊职位地方,它的靠得住性、可用性及其 I/O 速率就显得异常的紧张, 维持办事器的高可用性和安然性是企业级IT 情况的紧张指标,此中最紧张的一点是办事器收集连接的高可用性,为实现这些要求,现在办事器大年夜都采纳多网卡设置设置设备摆设摆设,系统大年夜都采纳现在异常盛行的 linux 作为办事器事情的情况。现在带宽已经不是办事质量前进的瓶颈了,相对的收集设备和办事器的处置惩罚能力就垂垂成为新的瓶颈。为前进办事器的收集连接的可用性和靠得住性,今朝Sun公司的Trunking技巧、3Com 公司的 DynamicAccess 技巧、Cisco 公司的Etherchannel技巧等等都在钻研将办事器的多个网卡接口绑定在一路的链路凑集技巧, 链路凑集技巧将多个链路虚拟成一个逻辑链路进而供给了一种廉价、有效的措施扩展收集设备和办事器的带宽,前进收集的机动性与可用性。

本文先容 linux 下的 bonding 技巧,linux 2.4.x 的内核中采纳了这种技巧,使用 bonding 技巧可以将多块网卡接口经由过程绑定虚拟成为一块网卡,在用户看来这个聚合起来的设备似乎是一个零丁的以太网接口设备,普通点讲便是多块网卡具有相同的 IP 地址而并行连接聚合成一个逻辑链路事情。现在在关于linux bonding 技巧中,有几种算法来实现负载均衡的要求,此文针对这些算法,在此进行简单阐发与钻研,评论争论其不够,并提出别的一种在此根基上改进的一种基于传输协议的负载均衡实现措施。评论争论若何实现多个收集接口的分在均衡及其故障接收。

二、负载均衡技巧和高可用技巧先容

2.1 负载均衡技巧负载均衡技巧的主要思惟便是若何根据某种算法将收集的营业流量匀称分配到不合的办事器和收集设备上去,以减轻单台办事器和收集设备的包袱, 从而前进全部系统的效率。负载均衡既可以由有负载均衡功能的硬件实现,也可以经由过程一些专用的软件来实现,负载均衡是一种策略,它能让多台办事器或多条链路合营承担一些繁重的谋略或者 I/O 义务,从而以较低的资源打消收集瓶颈,前进收集的机动性和靠得住性。

2.2 高可用技巧实现负载均衡首先是基于收集的高可用性提出来的,高可用技巧是容错技巧的一个分支。实现系统的高可用性最简单的一个法子便是冗余。完备的收集负载均衡和高可用性收集技巧有两个方面构成,一是多办事器的绑定和负载均衡,二是一个办事器内部的多网卡绑定的负载均衡,这里主要评论争论一个办事器内部的多网卡绑准时的负载均衡。

三、Linux 的 bonding 技巧中负载均衡的简单实现

3.1Linux的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. 3.2.3 MAC地址异或算法该算法的主要思惟是:由办事器的 MAC 地址和客户真个MAC 地址合营抉择每个数据包的发送端口号,由源 MAC 地址和目的 MAC 地址进行异或谋略,并将异或结果对接口数求余谋略。因为发送到同一个客户真个数据流颠末同一个链路,是以数据包能够有序到达客户端。此算法在只有一个客户机造访办事器或者办事器和客户机不在同一子网的环境下,由算法思惟得知这种环境下负载不会均衡,在只有一个客户机造访办事器的时刻,资本的使用率也是1/N(N为接口数)。

您可能还会对下面的文章感兴趣: