登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 计算机类 > 软件工程 > 正文

OpenStack环境下负载均衡器的设计与实现毕业论文

 2020-02-23 18:17:36  

摘 要

随着用户数量的增长,为了满足用户需求,实现高并发访问,需要负载均衡器的支持;传统负载均衡在云计算中越来越重要,但传统负载均衡并不是完全适用于云平台。云平台毕竟不同于传统服务器运维,如何满足负载均衡并体现出云计算的优势是一个重要课题。

本论文的主要工作如下:

  1. 介绍学习OpenStack相关组件。主要同过对Keystone、Glance、Neutron、Nova服务组件学习,了解OpenStack的基本工作原理;深入研究了Neutron服务组件。
  2. 介绍负载均衡相关知识,编程实现负载均衡常见的算法。
  3. 研究Neutron-lbaas service Plugin。通过修改Plugin配置文件,可以实现Neutron服务组件的各种功能。本论文在OpenStack已有的Plugin基础下,修改配置文件实现网络环境与负载均衡的设计。
  4. 从Neutron源码出发,分析Neutron LBaaS的实现。改进LBaaS V1方案,从Plugin模块实现分析、Agent模块实现分析、HAproxyNSDriver模块实现分析入手,设计实现LBaaS V2负载均衡。
  5. 安装部署OpenStack环境,修改配置文件实现LBaaS V2,并对其功能进行测试。

本论文理解并研究了OpenStack实现负载均衡的相关技术,进行了云环境下负载均衡的实现。

关键字:OpenStack,负载均衡,Neutron

Abstract

With the growth of the number of users, we need the support of load balancer to meet the needs of users and achieve high concurrency access. Traditional load balancing is becoming more and more important in cloud computing, but traditional load balancing is not entirely applicable to cloud platforms. After all, the cloud platform is different from the traditional server operation and maintenance. How to meet the load balance and reflect the advantages of cloud computing is an important issue.

Main work of this thesis is as follows:

1) Learn about learning OpenStack related components. Mainly learned about Keystone, Glance, Neutron, and Nova service components, to understand the basic working principle of OpenStack; In-depth study of Neutron service components.

2) Introduce knowledge about loadbalance and programmatically implement common algorithms for load balancing.

3) Study the Neutron-lbaas service Plugin. By modifying the Plugin configuration file, various functions of the Neutron service component can be implemented. Based on the existing Plugin of OpenStack, this thesis revise the configuration file to realize the design of network environment and load balancing.

4) Analyze the implementation of Neutron LBaaS starting from the Neutron source code. The LBaaS V1 solution is improved, starting from analysis of the Plugin module, analysis of the Agent module, and analysis of the HAproxyNSDriver module, and designing and implementing LBaaS V2 load balancing.

5) Install and deploy the OpenStack environment, modify the configuration file to implement LBaaS V2, and test its functions.

This thesis understands and studies OpenStack's related technologies for load balancing and implements load balancing in cloud environments.

Keyword: OpenStack, loadbalance, Neutron

目 录

摘 要 I

Abstract II

第1章 绪论 1

1.1课题背景 1

1.1.1 OpenStack云平台 1

1.1.2负载均衡 2

1.2国内外发展概况 2

1.2.1国内发展概况 2

1.2.2国外发展概况 3

1.3论文研究内容 3

1.4论文框架结构 4

第2章 相关技术介绍 5

2.1 OpenStack 5

2.1.1 OpenStack认证服务(Keystone) 6

2.1.2 OpenStack 镜像服务(Glance) 7

2.1.3 OpenStack 计算服务(Nova) 8

2.1.4 OpenStack 网络服务(Neutron) 9

2.2 负载均衡 10

第3章 OpenStack负载均衡器设计 11

3.1 负载均衡算法实现 11

3.2 LBaaS V1方案改进 13

3.3 网络设计 14

3.4 负载均衡器设计 15

3.4.1 LBaaS Service Architecture 15

3.4.2 LBaaS主要模块 16

3.4.3 LBaaS数据模型 18

3.3.4 LBaaS设计实现 18

第4章 OpenStack环境下负载均衡实现 23

4.1 OpenStack安装 23

4.2 负载均衡实现 25

4.3 创建LBaaS V2 26

4.3.1 创建OpenStack网络 26

4.3.2 创建负载均衡 27

第5章 测试与分析 30

5.1 负载均衡功能测试与分析 30

5.2 负载均衡性能测试与分析 31

第6章 总结与展望 33

致谢 34

参考文献 35

第1章 绪论

本章主要介绍论文研究讨论的问题,首先介绍OpenStack环境下负载均衡课题研究背景,接下来对国内外的研究现状和主要成果进行介绍,说明本次课题研究的主要内容,最后对论文的框架组织和结构进行描述。

1.1课题背景

本论文的研究涉及到OpenStack体系结构以及OpenStack环境下对负载均衡问题进行研究与实现。本小节主要介绍课题背景。

1.1.1 OpenStack云平台

现如今,随着互联网的发展,短时间内大规模的网络活动频频出现;比如“双十一”“春节抢车票”等等活动,短时间内会有巨大的访问量出现。平时服务器访问的需求已经不能满足活动期间人们的需求,在这之后会出现许多问题。如果提前购买大量的服务器为活动本身做准备,首先会占用特别多的时间和人力;由于活动持续时间不是太长,购买大量的服务器后,活动结束后会出现资源的浪费。据调查发现,如果通过增加物理设备来解决问题,至少需要提前半年时间来准备。所以,现在的数据中心一般都存在这样的问题:计算,资源,网络带宽等资源利用率太低。就像某个应用需要大量计算来完成,但是完成计算任务后将不在需要那么多的计算资源,但是资源并没有完全释放,造成浪费。所以用户需要一种灵活的,按需供给计算资源的服务。因此,Google公司提出了云计算概念;

从2006年云计算概念被提出,到2011年时,OpenStack已经发展成为云计算领域的热门话题,受到许多人的支持。云计算发展也越来越快,其中最迅速是OpenStack云平台的扩展。OpenStack云平台是由Rackspace和NASA在2010年末所发起的,以Apache许可证授权的自由软件和开放源代码的项目。实际上OpenStack是为了数据中心组装的一套私有云“操作系统”,以达到大幅度提升数据中心的运营效率的目的。OpenStack是开源项目,为云计算环境的搭建与使用提供服务。2010年发布第一个版本,随后每年发布两个版本。OpenStack像大多数平台一样,有着自己的开源社区。OpenStack社区里拥有100多家企业及数千位社区开发者为OpenStack贡献自己的知识,这些OpenStacker都在致力于将OpenStack作为IaaS的前端操作,并致力与向PaaS扩展。OpenStack项目的旨在是简化云环境的安装并使云计算更容易发展。OpenStack云计算的发展,为互联网的发展提供十分便捷的服务,同时解决了许多问题,但是同样面临着许多挑战。

1.1.2负载均衡

为了实现物理、网络资源利用率的最大化,负载均衡技术是必须的。负载均衡技术是一种成熟的计算网络技术,它将多台服务器进行统一管理调配,实现资源利用率的最大化,为用户提供最快的响应[1]。负载均衡需建立在以存在的网络结构基础上,使网络更加灵活和可用。Load Balance将工作分到多个操作单元上进行执行,将一个整体分解为多个部分分别实现,解决了许多服务器存在的问题。

负载均衡器为用户提供高可扩展性、高可用性、可预测的应用服务器。在云计算中,它将通过网络将多个成本不高的物理服务器整合成一个功能强大的计算资源池,实现1 1gt;2的效果。它整合IaaS,PaaS,SaaS资源,使终端用户能以最小成本获取强大的计算服务。但是云计算并不是无限扩展物理计算资源,用户创建实例规模受到物理计算资源的限制;同时在多节点云计算当中,如果只使用单一节点提供服务,如果会发生节点故障,将导致系统崩溃。如何将用户请求分配到不同的计算节点,提升性能,降低故障概率,以实现资源的最大化利用,提高云环境的高可用性是云计算研究中不能避免的问题。上述问题,通过负载均衡技术可以实现并解决。但是传统的负载均衡技术并不适用于云计算;大多数传统的负衡策略并不能满足在云环境下的使用条件。所以,云环境上的负载均衡技术的研究,对云计算的发展起到重要的作用。

1.2国内外发展概况

在互联网服务蓬勃发展的今天,云计算已经深入到日常生活的方方面面,它是不可或缺的。本小节主要介绍国内外的发展概况。

1.2.1国内发展概况

云计算逐渐成为IT产业发展的战略重点,在中国越来越多的企业开始进入云计算这方面发展。中国作为OpenStack第二大贡献体,一直以来都受到OpenStack基金会的关注和认可。在2017年举办的China Runs On OpenStack中,大咖云集。 OpenStack 社区代表们主要围绕着OpenStack的持续发展与各社区间的合作展开话题。通过会议的讨论,国内OpneStacker与社区间的距离进一步缩短,明确前进的方向。除此之外,大会突出表明,在中国私有云已经进入逐渐成熟阶段,而混合云已经悄悄开始发芽。

据熊伟发布的报告指出:在中国私有云已经占据了超60%的云计算市场,这离不开国家倡导软件自主可控的政策。在私有云市场当中,以政府、金融、能源、教育等方面为重要用户,这些用户都对安全性和自主性的要求较高。以上数据可以看出:私有云市场主要用户成员为国家基建领域,并且对信息安全有着较大的需求。从这一需求出发,私有云的应用场景呈现出井喷式增长。而且在众多的开源云平台中,OpenStack占其中的61.2%,成为最受欢迎的云平台解决方案。

除了逐渐成熟的OpenStack私有云市场,共有云也在逐渐发展,国内主要的提供商为阿里云,腾讯云,并且越来越多的厂商想要来分一杯羹。但是现如今国内第一大厂商还是为阿里云。阿里云在公有云市场上占有很大的地位,是不可动摇的。阿里云在中国市场上起到领头羊的作用,并且开始向国外发展业务。目前在云计算领域,阿里云提供了各式各样的云计算解决方案,也能为普通用户提供云服务器,对中国云计算市场有着重要意义。

1.2.2国外发展概况

国外云平台,三分天下,占据主流。美国的各大云平台中,谷歌、亚马逊、微软已呈现三足鼎立,其中还有IBM、Oracle、SAP、Salesfore、HP等一大批公司紧跟其后。亚马逊是最大的电子商务零售商,但是也有AWS云服务平台,主要为企业提供计算能力、数据存储能力、内容发布和其他功能;微软也在致力于云业务的发展;Google主要面向于大众,像Googledocs,gmail服务都有对企业开放。整体而言,IaaS领头羊已经出现,在IaaS基础上的PaaS,SaaS正在逐渐完成,未来是多元化的,也是丰富繁荣的。

OpenStack下负载均衡其实早在OpenStack的G版本就已经集成到了Neutron中,随着版本的变更,Load Balance经历过几次重大改变。代码从neutron分离,作为独立的项目存在;LBaaS修改了数据结构,为更复杂的用户场景提供了可能。随着社区的活跃发展,负载均衡技术在OpenStack下也越来越成熟。

综合以上的研究表明:OpenStack作为开源云计算平台越来越受到人们的喜爱。在云平台搭建好后,如何将传统的负载均衡技术运用到OpneStack环境下是一个挑战。在开源社区的活跃下,越来越多的方案出现,问题也相应的被解决。

1.3论文研究内容

前面对课题背景以及国内外研究现状进行了介绍。在此基础上,本小节确定本论文的研究内容,即在OpenStack环境下,为了实现资源的最大化利用,满足用户的应用性能,应对大规模用户并发访问需求,实现负载均衡器。

本论文研究主要包括以下内容:

  1. 介绍OpenStack服务组件概念设计及其功能。
  2. 对传统的负载均衡策略进行说明,包括Load Balancede 的分类实现方式和常见的算法。
  3. 在OpenStack云平台上,分析设计并实现Load Balance V2;并对提出的负载均衡技术进行详细介绍,与Openstack平台上其他负载均衡进行比较
  4. 实现与测试

1.4论文框架结构

第一章,介绍了OpenStack环境下负载均衡的研究背景,然后介绍了国内外云计算发展概况,并提出本论文所研究的问题,最后对本文章节框架结构进行说明。

第二章,介绍OpenStack云平台四个主要组件以及对负载均衡技术进行说明

第三章,在第二章基础上,分析OpneStack环境下的负载均衡器原理,设计实现方案并选择方案解决问题

第四章,安装实验环境并实现对应方案

第五章,测试并分析结果

第六章,总结

最后是致谢和参考文献

第2章 相关技术介绍

本章节主要介绍实现OpenStack环境下负载均衡所需要的技术,包括OpenStack组件以及传统负载均衡相关知识。

2.1 OpenStack

现如今,作为最受欢迎的云计算开源平台,OpenStack发展越来越快,其功能逐渐在完善。从2010年的Austin版本到如今的Queens版本,每一个版本功能都在更新,添加许多的功能。当前版本架构图如图2.1所示。OpenStack的主要构成部分:计算服务(Nova)、镜像服务(Glance)、认证服务(Keystone)、网络服务(Neutron),这四部分必不可少,其余有对象存储服务(Swift)、UI服务(Horizon)、块存储服务(Cinder)、监控服务(Ceilometer)、集群服务(Heat)、数据库服务(Trove)。

图2.1 OpenStack系统架构[12]

本小节主要介绍Keystone、Glance、Nova、Neutron组件服务。

2.1.1 OpenStack认证服务(Keystone)

Keystone是OpenStack中的身份认证服务组件。以认证RESTful API方式为OpenStack提供身份验证、规则管理和Token颁发服务[2]。它使用自身的REST API进行工作,主要对Glance、Nova服务组件等进行认证与授权。

Keystone基本概念:

  1. User即使用OpenStack服务的用户,只要访问OpenStack服务的对象都是User;
  2. Credentials是用于确认用户身份的凭证,可以是username和password或者是username和API Key(秘钥),也可以是一个keystone分配的身份的token;
  3. Authentication为用户身份验证的过程。Keystone组件通过检查访问者的Credentials来确认访问者信息。首次验证Credentials,当访问者身份被确定后,然后Keystone分配给已确认身份的访问者一个Authentication token,作为该用户的访问钥匙,继续接下来的请求操作。

图2.2 keystone认证流程

  1. Token是一串字符串。Keystone里令牌机制可以对用户访问的资源起到保护作用。它通过随机加密引入PKI,PKIZ,fernet和UUID [3]中的一个生成的一系列数字,并确保令牌万无一失。Token不是长久有效的,是有实效性的。
  2. Role是可执行一特定系列操作的用户特性,即可访问的资源权限。
  3. Policy是配置文件,控制User对Project中资源的操作权限。
  4. Project是User所拥有的资源集合。存在差异的Project之间的资源是分开的,互不干扰,Project资源可以装置配额。
  5. Service即服务,比如Nova,Glance等各组件。
  6. Endpoint用来通过访问和定位service的地址。出于安全考虑,主要分为三类:admin url、internal url、public url。

Keystone认证服务大致流程如图2.2所示。

2.1.2 OpenStack 镜像服务(Glance)

OpenStack要创建实例,需要虚拟机镜像,那就离不开镜像服务。镜像组件(Glance)容许用户设置、上传和使用虚拟机镜像。Glance服务提供了REST API接口,容许用户获取已存在镜像的metadata并获取其中一个现存的镜像。用户可以通过配置文件存储虚拟机镜像到不同的位置。

OpenStack镜像服务是IaaS的核心服务。Glance提供了两种镜像存储机制:简单文件存储和Swift服务存储镜像机制。

  1. 简单文件系统:将镜像保存到本地文件系统中,通过配置文件可以将镜像存储到本地任意位置。本次实验采取这种方式,这种机制相对简单,但是存在许多不足,没有备份机制。
  2. Swift服务存储机制:将镜像以对象的形式保存在Swift存储服务中,解决了上述问题。

Glance服务支持多种格式的虚拟磁盘镜像。其中包括raw/qcow2、VHD、VDI、VMDK、OVF、Kernel和ramrisk。

以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。

相关图片展示:

您需要先支付 50元 才能查看全部内容!立即支付

微信号:bysjorg

Copyright © 2010-2022 毕业论文网 站点地图