服务器负载均衡的设计与实现_第1页
服务器负载均衡的设计与实现_第2页
服务器负载均衡的设计与实现_第3页
服务器负载均衡的设计与实现_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、服务器负载均衡的设计与实现在该架构中OpenFlow控制器可以获取每个服务器的运行状态,并根据运行状态分发用 户请求,最大程度地利用每台服务器的计算资源,并且可以在系统运行期间动态地添加或 删除服务器,使系统具备很高的灵活性。1、动态负载均衡架构的整体设计负载均衡架构是在一个非结构化的网络中使用集中式的控制器实现多台服务器共同对 外提供服务。OpenFlow网络中的所有交换机都连接在一个控制器上,每台服务器有两块网 卡,一块网卡连接到OpenFlow网络对用户提供网络服务,另一块通过以太网交换机和控制 器相连,以便控制器通过SNMP协议获取服务器的运行状态,具体架构如图所示。图4觅载均衡架构图

2、在上述负载均衡架构中控制器是网络的核心,其主要功能有四个,分别为:保证网络正常的通信、获取服务器的运行状态、通过负载均衡算法计算服务器的综合负载、 向交换机下发流表项以转发用户请求;控制器的模块设计如图所示。本文阐述的负载均衡架构可以工作在任意openflow网络中,而不是专门为某个服务器所设计的负载均衡,控制器的首要任务就是保证网络可以提供正常的数据转发服务,为了 保证网络既可以为其他服务提供基础支持又保证负载均衡能够正常工作,在控制器的转发 控制中有两个模块,第一个模块负责负载均衡服务,第二个模块负责网络的基本通信。当 一个数据包到达Openflow交换机后,如果交换机找不到可以匹配的流表

3、项,就会向控制发 送packet-in消息,控制器收到packet-in消息之后首先交给负载均衡模块,由负载均衡模块 处理该消息,如果该数据包的目的IP不是负载均衡所负责的网络服务,如果该数据包的目 的IP不是负载均衡所负责的网络服务,负载均衡模块就不会做任何处理而是直接packet-in 消息传递给网络通信模块,以保证其它业务正常通信。如果该数据包的目的IP是负载均衡 所负责的网络服务,负载均衡模块就向交换机下发流表项让交换机完成负载均衡服务。为了有效地利用计算资源,控制器还需要根据服务器的运行状态转发用户请求,因此 控制器还要完成这方面的工作。在此架构中每台服务器都有一块通过以太网交换机和

4、控制 器相连的网卡,控制器通过以太网交换机和服务器通信,利用SNMP协议获取服务器的运 行状态。在此架构中就算没有和服务器相连的网卡,控制器也可以通过Openflow网络和服 务器通信,本文之所以没有这么做是因为控制器直接和连接在openflow网络中的服务器通 信需要交换机把所有服务器所发送的消息封装成packet-in消息发送给交换机,控制器也必 须通过向交换机发送packet-out消息才能把数据发送给服务器,这样做会给交换机和控制 器同时带来很大的压力。因为服务器的运行状态必须由多条信息才能描述清楚,所以就算得到服务器的运行状 态之后,也无法根据多条信息判断哪台服务器的负载最低。因此本

5、文在控制器中运行了一 个负载均衡算法,控制器会把服务的运行状态作为负载均衡算法的参数代入到服务器综合 负载的运算中,计算出服务器的综合负载,并根据综合负载得到负载最小的服务器。负载均衡的核心内容就是让交换机分发用户的请求,用户请求的第一个数据包到达交 换级之后,交换机会通过packet-in消息把数据包发送给控制器,控制器中的负载均衡模块 会通过SNMP协议获取所有服务器的运行状态,并根据运行状态计算服务器的综合负载, 之后把用户的请求转发给综合负载最小的服务器。2、动态负载均衡架构的设计与实现负载均衡常用的算法有随机、轮训和最小连接数,原因是这三种算法很容易用硬件实现, 这三种算法中最小连接

6、数算法的效果是最理想的,但是如果集群中的服务器在CPU、内存、 网络带宽上的配置不相同,这三个算法都不能充分地发挥服务器集群的计算能力。在 openflow网络中,网络的控制层由软件制定,负载均衡算法也可以集成在控制器中,使用 软件完成,这样可以更准确地评估服务器的负载情况。本文阐述的负载均衡方案中就设计 了一个负载均衡算法,根据服务器的运行状态计算服务器的综合负载,并返回综合负载最 小的服务器。该算法可以在服务器性能差距较大的集群中充分发挥每一台服务器的计算能 力,算法的具体实现过程如下:动态反馈当前服务器负载量主要收集每台服务器CPU和内存的使用率,这些信息并不能直接表示一台服务器的负 载

7、情况,所以使用公式1把CPU和内存信息转换为服务器的负载量,其中LC为第i台服务 器CPU的使用率,LM为第i台内存的使用率,r1和r2为权值,用于强调该服务类型对各 个部分的不同影响程度,r1+r2=1,LS为计算得出的第i台服务器负载量LS=r1LC+r2*LM服务器处理能力计算;集群中服务器的性能也可能不同,在计算服务器负载的时候还要考虑服务器的处理 能力,第i台服务器的处理能力使用C(i)表示,C的计算方法如公式所示,其中P为第i台 服务器CPU的个数,M为第i台服务器内存的大小,r1和r2为权值,r1+r2=1。C=r1*P+r2*M3)通过服务器当前的负载量和服务器的计算能力,计算

8、第i台计算机的综合负载AL, AL的计算方法如下AL=LS/C基于服务器运行状态的动态反馈负载均衡算法(SBLB)该算法根据虚拟机的实时运行状态计算出每个服务器的综合负载,并返回负载差距在 一定范围内的拥有最小负载的服务器队列,当有客户请求到达时,以一定的概率从该队列 中选择某个虚拟机服务器为其提供服务,从而最小化服务器响应时间和提高系统的吞吐率。I itivirlLoad Balancer.Load I itivirlLoad Balancer.Load 口 W .LAN-图3-3 SRI.B鱼裁均衡点法工作环境如图所示,显示了基于服务器运行状态的动态反馈负载均衡算法的工作环境,在 floodlight控制器上运行虚拟机管理模块,虚拟机管理模块调用libvirt API来采集服 务器的CPU使用率、空闲内存等负载信息,之后将收集到的每个服务器的负载信息 发送给负载均衡策略模块,用以计算服务器的综合负载值以便floodlight控制器制 定响应客户的流表。为了准确的表示服务器是否达到我们想要的利用率,引入权值

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论