基于容器虚拟化和OpenStack的私有云平台的研究和实现

基于容器虚拟化和OpenStack的私有云平台的研究和实现
基于容器虚拟化和OpenStack的私有云平台的研究和实现

硕士学位论文

论文题目:基于容器虚拟化和OpenStack的

私有云平台的研究和实现

作者姓名邬新东

指导教师吴哲夫

学科专业信息与通信工程

培养类别全日制学术型硕士

所在学院信息工程学院

提交日期2016年4月11日

浙江工业大学硕士学位论文

基于容器虚拟化和OpenStack的私有云平台

的研究和实现

作者姓名:邬新东

指导教师:吴哲夫

浙江工业大学信息工程学院

2016年4月

Dissertation Submitted to Zhejiang University of Technology

For the Degree of Master

Design and Implement of Private Cloud Platform based on Container Virtualization and OpenStack

Candidate: Wu Xindong

Advisor: Wu Zhefu

College of Information Engineering

Zhejiang University of Technology

Apr 2016

浙江工业大学

学位论文原创性声明

本人郑重声明:所提交的学位论文是本人在导师的指导下,独立进行研究工作所取得的研究成果。除文中已经加以标注引用的内容外,本论文不包含其他个人或集体已经发表或撰写过的研究成果,也不含为获得浙江工业大学或其它教育机构的学位证书而使用过的材料。对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式标明。本人承担本声明的法律责任。

作者签名:日期:年月日

学位论文版权使用授权书

本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权浙江工业大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

本学位论文属于

1、保密□,在一年解密后适用本授权书。

2、保密□,在三年解密后适用本授权书。

3、不保密□。

(请在以上相应方框内打“√”)

作者签名:日期:年月日

导师签名:日期:年月日

基于容器虚拟化和OpenStack的私有云平台研究和实现

摘要

云计算技术的研究和实践是当前的热门领域之一,为传统的系统架构带来了巨大变革。OpenStack是目前最为流行的开源云平台,其优秀的横向扩展性以及架构的松耦合性为二次开发提供了极大便利。

本文首先构建了基于OpenStack的私有云平台,并使用nova-docker组件将默认的KVM 虚拟化技术替换为容器虚拟化技术Docker,以便提供更加高效和轻量级服务。本文主要工作是针对OpenStack云平台的不足,对其持久化存储、调度算法和监控组件进行了改进。由于Docker不支持Cinder共享存储,本文首先设计和实现了针对nova-docker的卷管理模块vol-manager;之后改进了私有云平台的调度器FilterScheduler,最后为该云平台增加了监控服务的组件monitor_alert。本文的主要工作和成果如下:

1.基于nova-docker组件,将容器虚拟化技术Docker引入OpenStack,构建高效、轻量的私有云平台,并将其与传统的基于KVM的OpenStack云管理平台进行对比;

2.针对Docker不支持Cinder共享存储而造成的持久化存储问题,设计实现了一个卷管理模块vol-manager,通过修改和增加相关的驱动代码,将Docker的数据卷技术引入到容器的创建过程中;

3.改进了OpenStack默认的调度器FilterScheduler,自定义synthesis_schedule调度模块,重写filtering和weighing函数,增加虚拟机的动态迁移调度算法;

4.设计和实现了监控云平台的服务监控组件monitor_alert,通过该组件可以全局监控各个服务的状态、控制服务的运行和捕获其出错并记录日志,并通过邮件和微信报警插件通知用户。

关键词:云计算,OpenStack,Docker,卷管理,调度,监控

Design and Implement of Private Cloud Platform based on Container Virtualization and OpenStack

ABSTRACT

Cloud computing is one of the most popular areas in the current IT industry, which has brought great changes to the traditional architecture. OpenStack is the most popular open source cloud platform. OpenStack has excellent lateral scalability and loosely-coupled system architecture, which makes it extremely convenient for further development.

The paper first builds a private cloud platform based on OpenStack. Then use the nova-docker project to replace the default KVM virtualization technology with the container virtualization technology Docker, which provides a more efficient and lightweight service. Due to the weakness that Docker cannot support the Cinder shared storage, the paper designs and implements the volume management module named vol-manager for the nova-docker. Then the paper improves the default scheduler FilterScheduler and add a monitor component named monitor_alert. In this paper, the main work and achievements are as follows:

1. This paper builds an efficient and lightweight private cloud platform which based on OpenStack. Then use the component named nova-docker to bring the container virtualization technology to the cloud platform. Finally, this paper compares the cloud platform based on Docker with the one based on KVM.

2. This paper designs and implements a volume managerment module which named vol-manager to solve the persistent storage problem which is caused by the shortcome that the Docker cannot support Cinder shared shorage. This paper changes and adds some driver codes to bring the Docker volume to the creation process of container building.

3. To improve the default scheduler of the cloud platform named FilterScheduler, this paper customizes a schedule module named synthesis_schedule. In the schedule module, the default filtering and weighing functions are rewrited. In addition, the dynamic migration of the vm is introduced into the module.

4. To improve the monitor and alert system, this paper designs and implements a module named monitor_alert to monitor all core services in the cloud platform. The module can monitor the statuses of all core services, capture the information of the services that meets exceptions, log

plugin.

Keywords: Cloud Computing, OpenStack, Docker, V olume Management, Schedule, Monitor

目录

摘要 (i)

第1章绪论 (1)

1.1 论文选题背景和意义 (1)

1.2 国内外研究状况 (2)

1.3 研究内容和创新点 (4)

1.4 论文章节安排 (4)

第二章OpenStack架构及与Docker的结合 (6)

2.1 开源云平台OpenStack (6)

2.1.1 OpenStack概述 (6)

2.1.2 OpenStack的架构和组件 (7)

2.1.3 OpenStack与其他开源云平台的比较 (9)

2.2 容器虚拟化技术Docker (10)

2.2.1 虚拟化技术概述 (10)

2.2.2 Docker概述 (12)

2.2.3 Docker的整体架构 (13)

2.3 OpenStack和Docker的结合 (14)

2.3.1 nova-docker项目的介绍 (14)

2.3.2 基于Docker的OpenStack云平台部署 (15)

2.3.3 与传统OpenStack云平台的对比 (17)

2.4 本章小结 (19)

第三章卷管理模块vol-manager的设计与实现 (20)

3.1 云平台的持久性存储问题 (20)

3.2 Docker数据卷原理 (20)

3.2.1 Docker数据卷的原理分析 (20)

3.2.2 volume的创建过程 (21)

3.2.3 volume的删除过程 (22)

3.3 云平台构建容器的过程分析 (23)

3.3.1 Nova框架 (23)

3.3.2 构建容器的过程 (25)

3.4 卷管理模块vol-manager的设计与实现 (26)

3.4.1 vol-manager整体架构 (26)

3.4.3 vol-manager核心函数的设计与实现 (27)

3.5 vol-manager运行测试 (30)

3.6 本章小结 (32)

第四章云平台调度算法的研究和改进 (33)

4.1 云平台调度器的研究 (33)

4.1.1 nova-scheduler调度器简介 (33)

4.1.2 FilterScheduler研究 (34)

4.1.3 nova-scheduler调度过程源码分析 (35)

4.2 synthesis_schedule的设计思路 (36)

4.3 调度模块synthesis_schedule的设计与实现 (38)

4.3.1 synthesis_schedule的整体框架 (38)

4.3.2 synthesis_algo调度算法 (39)

4.3.3 synthesis_info子模块 (41)

4.3.4 synthesis_migrate子模块 (43)

4.4 实验测试 (44)

4.4.1 实验环境准备 (44)

4.4.2 实验测试结果及分析 (45)

4.5 本章小结 (47)

第五章监控报警组件monitor_alert的设计与实现 (48)

5.1 monitor_alert概述 (48)

5.2 monitor_alert整体框架 (49)

5.3 monitor_alert组件的设计与实现 (50)

5.3.1 ma-api子服务 (50)

5.3.2 ma-conductor子服务 (51)

5.3.3 ma-alert子服务 (52)

5.3.4 ma-agent子服务 (54)

5.4 monitor-alert组件测试 (55)

5.5 本章小结 (58)

第六章结论与展望 (59)

6.1 结论 (59)

6.2 展望 (60)

参考文献 (61)

致谢 (65)

攻读学位期间参加的科研项目和成果 (66)

图清单

图2-1 OpenStack抽象构成图 (7)

图2-2 OpenStack整体架构图 (7)

图2-3 四种开源云平台每个月的项目参与人数 (10)

图2-4 系统虚拟化示意图 (11)

图2-5 系统虚拟化与容器虚拟化的对比 (12)

图2-6 Docker服务端架构图 (13)

图2-7 nova-docker架构图 (14)

图2-8 OpenStack网络拓扑图 (15)

图2-9 OpenStack部署流程图 (16)

图2-10 云平台部署完毕效果图 (17)

图2-11 Docker和KVM虚拟机平均启动时间对比 (18)

图2-12 Docker和KVM平台CPU性能对比 (18)

图3-1 Nova的体系架构图 (23)

图3-2 nova-compute通过nova-docker与Docker交互示意图 (25)

图3-3 创建容器的流程图 (25)

图3-4 vol-manager模块流程图 (26)

图3-5 vol-manager核心函数流程图 (28)

图3-6 vol-manager测试容器构建 (30)

图3-7 vol-manager功能性验证步骤图 (30)

图3-8 test4安装Web服务流程图 (31)

图3-9 Web服务测试效果图 (32)

图4-1 FilterScheduler工作流程图 (34)

图4-2 nova-scheduler调度框架图 (35)

图4-3 synthesis_migrate流程图 (39)

图4-4 flavor详细示意图 (44)

图4-6 synthesis_schedule测试效果图 (46)

图4-7 默认调度算法和synthesis_schedule测试对比图 (47)

图5-1 monitor_alert组件的整体架构图 (49)

图5-2 ma-api与ma-conductor的一种交互情形 (51)

图5-3 ma-alert结构图 (53)

图5-4 控制节点monitor-alert启动服务示意图 (56)

图5-5 monitor-alert命令的帮助提示 (56)

图5-6 monitor-alert命令使用说明 (57)

图5-7 告警邮件和微信推送的内容 (57)

表清单

表2-1 OpenStack与其他云平台的比较 (9)

表2-2 OpenStack节点系统配置说明 (16)

表4-1 计算节点系统设置说明 (44)

第1章绪论

1.1 论文选题背景和意义

随着科技的不断发展,尤其是近年来网络技术的不断发展,云计算及相关的领域愈加受到重视。对于云计算的定义,目前仍然存在着相当大的分歧。其中较为被人们接受的是NIST(美国国家标准与技术研究院)所作出的定义,即云计算是一种按需计费的商业模式,能够使消费者通过便捷的、可用的网络访问,进一步使用由云服务商提供的计算资源共享池(资源主要包括软件、网络、服务器、存储等),即只需要投入极少的管理工作就能快速提供资源,且消费者与服务提供商之间的互动会大幅减少[1]。从本质上来说,云计算就是一种用于在互联网上提供服务的新模式[2]。站在消费者的角度来看,云计算就像是一个大型的商店,资源就像是其中的商品,只要消费者有需要,就可以随时从中购买。而对于供应商而言,需要考虑两个问题:一是如何将资源从计算机集群中抽象出来;二是如何将资源提供给消费者。虚拟化[3]和云管理平台[4]就是其中两种关键技术。

OpenStack[5]最早由Rackspace和NASA(美国国家航空航天局)联合研发,授权方式为Apache License 2.0[6]。OpenStack项目的目标是构建一个稳定、高效的云管理平台。从功能上说,OpenStack通过虚拟化技术将众多服务器的计算、网络、存储等能力抽象提取成一个资源池,并提供API接口和Web接口使用户能够极为便利地管理计算机资源。OpenStack由众多核心组件构成,各个组件之间的耦合度很低,组件之间的交互通过RabbitMQ等高级消息队列和RESTful API[7]进行。

虚拟化技术是OpenStack中最关键的技术之一。虚拟化技术首先对物理计算机资源进行抽象,再将抽象出来的资源进行统一划分和利用,构建出多个不同的虚拟资源。具体而言,虚拟化技术将物理计算机的CPU、RAM、网络和存储抽象提取,形成一个资源池,之后根据用户的需要,从资源池中抽出一部分资源构成一台或者多台虚拟的服务器提供给用户使用。构建的虚拟机之间相互隔离,且引入的性能开销较小[8]。虚拟化技术极大的改善了现代服务器资源过剩的问题,通过对资源的重新分配和利用,提高了服务器的整体资源利用率。

容器虚拟化技术[9]是虚拟化技术中较为轻量级的一种。其中的典型代表就是Linux

Container[10],简称LXC。LXC是一种进程虚拟化技术[11],相比较传统的系统虚拟化技术,LXC提供更加轻量级的虚拟化,通过namespace[12]技术对资源进行隔离,通过cgroup[13]技术对资源进行限制。起初,Docker[14]是一种增加了高级API的LXC技术,提供了能够独立运行Unix进程的轻量级虚拟化解决方案。在0.9版本之后,Docker为了反向定义容器的标准,使用了libcontainer取代了LXC作为默认的执行环境。Docker可以自动将任何应用打包成轻量、可移植、自包含的容器引擎。与传统的虚拟化技术相比,Docker具有更好的性能,以及更少的依赖软件。

将Docker和OpenStack结合,可以构建出一个轻量级的PaaS[15]云平台,能够在秒级启动容器,同时具有性能高、占用资源少等特点。实际测试发现,所构建的云平台还有很多不足,在使用时,要根据需求对云管理平台进行二次开发。本文旨在构建一个稳定、高效、轻量级的私有云平台。

1.2 国内外研究状况

容器虚拟化技术起源于Unix在1982年发布的chroot[16]工具,该工具能够改变当前进程及其子进程的根目录,是由Bill Joy开发并在BSD 4.2中发布。之后的Linux系统中,LXC在v2.6.29版本中被引入到内核之中。但是,这个技术并没有在世界范围内广泛流行。

容器技术真正广为人知是在Docker项目发布之后。2013年,运营Paas服务的dotCloud 公司将LXC、OpenVZ[17]等技术进行整合,提出了一种简单易用的跨平台、可移植的容器解决方案,即Docker。

2014年6月,Docker正式版发布后,谷歌宣布了自主融合Docker技术的云计算服务Google App Engine和Google Compute Engine。同年6月在旧金山举行的DockerCon 2014进一步推动了Docker的发展。在Docker engine逐渐稳定并标准化的背景下,Docker未来的目标是为互联网基础架构制定新的标准。同时为了加快布局,dotCloud最近开源了libcontainer、libchan和libswarm这三个核心项目,使更多的开发者参与到项目中。

2015年3月,为了跟进Docker 虚拟化技术的迅速发展,红帽专门定制了一个Linux 发行版来运行Docker容器——Red Hat Enterprise Linux 7 Atomic Host。该版本提供了运行Docker容器必要的组件,同时移除一些没用的组件以节省空间,减少更新和启动时间,减少潜在的黑客攻击入口。

文献[18]将Docker的容器和镜像作为基础,设计和实现了一个部署管理平台,在极短

时间内能够构建出大量无差异、易于扩展的开发和测试平台,提高整个项目的开发和测试的速度,加快版本的迭代,节省人力和时间资源。

文献[19]基于Docker容器技术提出了一种新型集成交付的软件仓库模型,以容器作为软件交付的基础,在加强软件集成化和构件化的同时,借助Docker跨平台的特性,有效降低了软件的交付成本。

OpenStack作为一个开源的云计算管理平台,是目前全球最受关注的项目之一。

2010年7月,RackSpace和美国国家航空航天局合作,分别贡献出RackSpace云平台代码和NASA Nebula平台代码,并以Apache许可证开源了OpenStack。

2012年8月,Intel、中标软、新浪以及上海交通大学在北京联合成立“中国开源云联盟”,旨在按照国际上OpenStack社区的工作方针,整合中国OpenStack开发者和中国公司的研发资源,深入参与OpenStack社区项目开发,加大中国开发者和公司在国际OpenStack 社区中的贡献力量。

2015年7月,谷歌宣布将加入OpenStack基金会。通过与OpenStack合作,谷歌将帮助企业利用云计算技术的优势,同时保护企业对自主数据中心的大笔投资。

文献[20]根据清华大学的实际需要,使用OpenStack云平台,采用模块分层的方法实现了能够高效管理云资源的清华云平台。文献设计和提出了一种新型的负载均衡调度策略,在保证执行效率的基础上,能够对服务器的负载进行再平衡,使云平台处于稳定的运行状态。

对于云管理平台和Docker的结合,同样受到各方的关注。

目前,IBM基于OpenStack、Docker和Spark[21]打造的SuperVessel大数据公有云目前已经对高校开放。在OpenCloud 2015大会上,IBM中国研究院高级研究员陈冠诚详细介绍了OpenStack、Docker的结合过程。对于选择OpenStack和Docker的理由,陈冠诚给出了以下的解释。选择OpenStack的原因主要是因为其社区活跃者、社区贡献者等超越其他竞争对手;选择Docker是因为其资源占用率远小于KVM,同时启动容器非常快,能够逐步构建、恢复和复用容器。

阿里云在提供基础云服务的基础上,通过使用docker-registry, 使用户可以自建Docker 的私有镜像库。同时针对阿里云OSS,为docker-registry开发了相关驱动,使用户可以将私有镜像存储在阿里云OSS上。

文献[22]设计实现了一个基于OpenStack和Docker的实验基础云环境aDock。使用

OpenStack云平台来管理Docker容器,提供轻量级服务的同时,设计和实现了一套模拟工具,用来对虚拟机架设及服务器整合算法进行实验。

文献[23]对OpenStack和Docker的架构进行了较为详细的分析,并将OpenStack和Docker进行了初步的结合,通过nova-compute组件直接管理docker API。

1.3 研究内容和创新点

本文的研究内容由四部分组成。

第一部分,首先研究OpenStack和docker的架构,对比OpenStack与其他开源云平台的区别,以及容器虚拟化与传统虚拟化的区别以及各自的优势。之后引入nova-docker组件,将Docker和OpenStack结合,构建基于Docker与OpenStack的私有云管理平台。最后将本文构建的云平台与采用KVM[24]虚拟化技术的OpenStack云平台进行比较。

第二部分,针对Docker不支持Cinder共享存储[25]所造成的持久化存储问题,设计与实现了基于Docker数据卷技术的卷管理模块vol-manager。详细阐述了vol-manager模块的设计框架,配置文件设定和核心函数的设计与实现。

第三部分,设计和实现了调度模块synthesis_schedule。synthesis_schedule主要做了两部分工作,一是改进云平台默认调度器FilterScheduler,重写其filtering和weighing过程的代码;二是将动态迁移[26]引入调度模块,实现了对计算节点资源的再平衡。

第四部分,设计和实现一个服务监控组件monitor_alert。服务监控组件主要负责监控云平台的各个服务状态,捕获服务异常并记录日志,采用邮件和微信插件来实现告警功能。

1.4 论文章节安排

第一章是绪论部分,主要介绍了论文的背景和研究意义,并对OpenStack以及Docker 在国内外的应用和相关研究做了简单介绍,同时说明了论文的研究内容及章节安排。

第二章对OpenStack与云计算的关系进行了介绍,阐述了OpenStack各个组件的功能及组件之间联系,重点说明了容器虚拟化与传统虚拟化技术的区别及其优势。通过引入nova-docker项目,使用Docker替换OpenStack默认的Hypervisor从而构建了轻量级的PaaS 私有云平台,并对其进行了相关测试。

第三章说明了云管理平台目前存在的持久性存储问题,对Docker数据卷技术的原理进行了分析,并介绍了构建容器的完整过程。重点阐述了卷管理模块vol-manager的设计原

理和实现过程,对模块的设计框架、配置文件的设定、核心函数的设计流程都进行了分析并给出了实现的关键代码。

第四章首先从源代码的层面对默认调度器FilterScheduler和整个调度过程做了分析。重点说明了调度模块synthesis_schedule的设计与实现,结合源代码对三个子模块synthesis_algo、synthesis_info、synthesis_migrate进行更深入的解读和分析,并对优化后的调度模块进行了性能测试。

第五章首先介绍了监控报警组件monitor_alert的基本需求,之后对monitor_alert的整体设计框架做了说明。结合源代码,详细讨论了ma-api、ma-conductor、ma-alert、ma-agent 这四个子服务的设计与代码实现,并进行实验验证了监控组件的运行效果。

第六章是对整篇文章的总结和展望,首先对课题工作进行了全面总结,并指出云平台和容器虚拟化技术所存在的问题及研究展望。

第二章OpenStack架构及与Docker的结合

纵观OpenStack整个版本的演进过程,有一个理念一直贯彻其中,即提供简洁、利于二次开发的架构。因此,nova-netowrk子服务被剥离出来形成了Neutron,而nova-volume 子服务则独立成Cinder。本章将系统地介绍OpenStack的架构和各核心组件及组件之间的相互联系,并结合容器虚拟化技术Docker来构建轻量级的私有云平台。

2.1 开源云平台OpenStack

2.1.1 OpenStack概述

云计算的本质就是服务供应商将自己拥有的计算能力、存储能力、网络等资源按需出售给消费者。云管理平台的作用就是使服务供应商能够将自己拥有的数量庞大的服务器的计算能力、存储能力、网络等资源抽象出来,进行统一管理。

OpenStack是目前最流行的开源云管理平台。在2010年,Rackspace Hosting公司和美国国家航空航天局(NASA)联合发起OpenStack这个项目。目前,OpenStack项目托管于OpenStack基金会。全球范围内,超过500个组织和机构加入了这个项目,包括AMD、Cisco、AT&T等著名公司。

OpenStack的第一个正式版本在2010年10月发布的,名为Austin。之后每隔半年会发布一个新版本,每个版本以字母表顺序(A-Z)命名。截止目前,最新的稳定版本为Liberty。本文所使用的OpenStack版本为Juno,所构建的云平台也是基于此版本。

从云计算提供服务的方式来看,OpenStack属于IaaS[27](基础架构即服务)。OpenStack 通过互联网提供基础的计算资源,包括处理能力、储存空间、网络等,用户能从中申请到虚拟机,然后在上面安装操作系统或者其他应用程序。图2-1为OpenStack的抽象构成图。

图2-1 OpenStack抽象构成图

从本质上来,OpenStack其实就是一个应用层的软件系统,它包含了多个服务和应用程序,这些服务和程序被部署到多台被管理的物理主机上,这些物理主机通过网络相连从而形成一个大的分布式系统[28]。OpenStack作为一个云管理平台,负责管理这些物理主机上虚拟出来的虚拟机,包括虚拟机的创建、迁移、管理,虚拟机存储的创建和维护,虚拟网络的管理,还包括监控计费、负载均衡、高可用性、安全等。

2.1.2 OpenStack的架构和组件

图2-2为OpenStack的整体架构图。

图2-2 OpenStack整体架构图

目前,OpenStack的核心组件有七个,分别是计算服务(Nova)、认证服务(Keystone)、镜像服务(Glance)、网络服务(Neutron)、对象存储服务(Swift)、块存储服务(Cinder)和用户界面(Dashboard)。

Nova是OpenStack最为核心的组件,是OpenStack的弹性计算控制器,根据需求提供虚拟机服务,比如创建虚拟机和动态迁移虚拟机等。Nova通过与Keystone的交互获得认证授权信息,通过查询Glance获取虚拟机镜像的元数据,通过与Neutron的交互管理整个云平台的虚拟网络,通过Cinder来实现虚拟机的块存储。

Nova由众多的子组件构成。nova-api是Nova对外提供服务的窗口,它接收并响应来自用户的API调用。nova-compute通过调用底层的Hypervisor API来完成对虚拟机的创建和管理,nova-compute支持XenServer[29]的XenAPI、支持KVM和QEMU[30]的libvirt、支持VMware的VMwareAPI等。nova-scheduler用于接收创建虚拟机的请求并将其调度到计算节点上。nova-conductor主要是为了解耦合nova-compute和nova-db,负责更新查询nova-db。nova-db是一个数据库,主要用于记录虚拟机的状态、虚拟机与物理机的对应关系、租户信息等数据内容。nova-console和nova-consoleauth为Nova提供控制台服务。

Keystone为整个OpenStack所有组件提供身份认证和授权服务,同时管理用户、账号和角色的授权信息。Keystone主要包括两个组件,接收认证请求的keystone-api和后台处理的keystone-db。

Glance是OpenStack的镜像服务组件,为Nova提供了一个统一的接口,用以查询和存储虚拟机镜像。用户不必关心镜像到底是存储在文件系统上,在Swift上还是在Amazon S3上。在Glance中,glance-api接收外部的API;glance-registry用于存储、处理和获取镜像元数据;glance-db用于存储元数据。

Neutron用于提供网络连接服务,允许用户创建自己的虚拟网络并连接各种网络设备接口。Neutron通过插件的方式对众多的网络设备提供商进行支持,比如Juniper、Cisco等,同时也支持很多流行的技术,比如SDN[31]、OpenvSwitch[32]和OpenDaylight[33]等。在构成Neutron的组件中,neutron-server负责接收外部的API请求,并将该请求转交给合适的插件处理;neutron-plugin和neutron-agent用于创建虚拟网络及子网、管理端口、提供IP地址等;neutron-db用于保存网络配置等相关信息。

Swift主要负责构建一个高可用的对象存储系统,它能以低成本的方式通过RESTful API管理大量无结构数据。其功能类似于AWS的S3服务。在Swift中,proxy-server负责

国内最佳云计算虚拟化平台软件产品介绍

EASTED V5.0云计算虚拟化平台软件 北京易讯通科技有限公司 2011-11

目录 1、虚拟化改革的必要性 (3) 2、EASTED V5.0 (4) 2.1 应用虚拟化平台EASTED ThinApp (9) 2.2 桌面虚拟化平台EASTED View (10) 2.3 ECloud云计算数据中心建设解决方案 (12) 3、EASTED V5.0云计算虚拟化平台典型案例 (17) 教育典型案例 (17) 医疗典型案例 (20) 政府典型案例 (22) 企业典型案例 (23) 4、技术服务 (25) 5、关于易讯通 (26)

1、虚拟化改革的必要性 1)传统的网络状况及存在问题: ?服务器能力不足及网络存储容量不够服务器和应用系统剧增,很难有效管理 ?IT环境复杂,无法快速部署新系统。网管人员不能及时准确了解网络的运行状态,出现问题和故障不能迅速定位和排除,不能及时有效保障网络的正常运行。 ?缺乏高水平的安全保障。内网的机器比较容易受到来自网络黑客及病毒的攻击。尤其是服务器,一旦遭受攻击或中木马等,将会造成系统瘫痪甚至数据丢失等严重后果。?设备增加对机房环境需求迅速提升(电力,制冷,空间)成本上升。 ?硬件发展速度越来越快,单一应用无法充分利用服务器资源。 ?带宽不足及无出口流量控制设备,导致大部分上网用户感觉上网速度较慢。 ?由于系统的复杂性和多样性,应用实际上线通常会延时。 2)虚拟化变革后的优势: ?桌面和应用全部运行在数据中心,可更灵活、高效、集中部署维护;数据更加安全。?通过策略及其他技术手段,可以严格禁止涉密数据下载或保存到本地的客户端设备,有效保护用户知识产权,科研成果,机密文件,专利技术信息。 ?可从任何分支机构或任何节点远程访问桌面和应用,实现移动商务和移动办公。 ?运行在高性能的服务器上可以使桌面和应用的性能得到大幅提升而不受任何终端的性能限制,前端桌面可使用各种终端及瘦客户端。 ?可迅速部署最新的应用软件;C/S架构软件无需修改即可转化为B/S架构;还可适应不同类型用户的需求,如内部用户和公众用户,涉密终端和非涉密终端等。 ?降低维护桌面及软件的费用;延长原有硬件设备的生命周期,减低硬件采购成本IT 总投资成本(TCO)有效降低75%。 ?提供接近于本地应用的最终客户体验,并且最大限度保持原有的用户使用习惯。 ?大型软件在10KB/S的超低带宽下实现流畅运行。 ?通过流量监控分析系统帮助用户了解网络流量构成,使用情况,带宽占用,协议分布以及用户的行为;实现主动监控,控制。 ?通过视频及文件审计及上网行为管理等扩展功能综合实现高效监控管理及有效查实,大幅提升体系内安全级别,管理级别,工作效率及竞争力。 ?方案的可扩展性强,在业务规模增大时,可快速扩容部署,总体造价合理。

基于虚拟化技术的云服务平台的构建与管理

龙源期刊网 https://www.360docs.net/doc/b87503340.html, 基于虚拟化技术的云服务平台的构建与管理作者:何国民王代君 来源:《电脑知识与技术》2016年第23期 摘要:本文主要采用云计算虚拟化技术在开放式操作系统Linux下,就虚拟化平台基础服务端、虚拟化连接管理中间件和Web管理平台这三个主要组成部分的设计和配置,设计和构建一个针对高校实验室私有云服务平台,能动态分配实验室计算资源,高效率满足实验教学、开发、测试、管理等不同需求。 关键词:云计算;虚拟化技术;Linux;私有云 中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)23-0199-02 云计算是计算机科学和互联网技术发展的产物,也是引领未来信息产业创新的关键战略性技术和手段。它将带来工作方式和商业模式的根本性改变,对我国发展高新技术产业具有重要的战略意义。 虚拟化技术是实现云计算的关键技术,它是一种调配计算资源的方法,它将不同层面——硬件、软件、数据、网络、存储——隔离开来。它的运行完全像一台物理服务器一样,并在同一台物理服务器上运行多台虚拟机,可以节省硬件、存储空间以及能耗。近年来,云计算技术发展如火如荼,国外的亚马逊AWS云计算服务平台、微软的Microsoft Azure云以及Google 的Cloud Platform引领着云计算技术的先锋和浪潮。国内的各个互联网企业也纷纷推出各自的云服务,如阿里巴巴的阿里云,新浪的SAE平台,百度的BAE平台等。在计算机业界,云计算可以说是现阶段最热门的技术之一。整个社会已经进入到了互联网+时代。 本文是基于Linux内核虚拟化技术和Libvirt开源管理中间件以及Python语言开发,实现了在实验室机房环境中搭建私有云计算服务平台,从而实现服务器的硬件虚拟化,提供多台虚拟机给不同用户以运行不同的服务,给实验教学、资源的共享等带来了极为方便的应用场景。 1 虚拟化云服务器平台的主要功能设计 云服务平台的虚拟化环境构建采用基于Linux内核的QEMU-KVM虚拟化技术,服务平台的Web管理端使用Python编程语言和Django框架来开发,对于实验室云计算服务平台环境的搭建,主要完成以下的功能: 1)创建虚拟机,在创建时分配虚拟机的CPU、内存、磁盘、网络配置。 2)虚拟机的启动与关闭。在虚拟机系统出错无法正常关机的时候,能够对虚拟机的进行强制关闭。

什么是云计算管理平台

云计算经过十年的发展,现在已经进入纵深的领域,企业的基础设施不再是单纯的物理机或虚拟化平台,还包括私有云、公有云和混合云。并且有更多的企业选择云服务商提供的云服务,在带来很多方便的同时也产生了一系列的问题。在多云管理成为一种不可扭转的趋势的情况下,云计算管理平台也逐渐出现在大众的视野里,成为当前企业关注的重点话题之一。那什么是云计算平台呢,接下来跟大家一起来看一下。 云计算管理平台(CMP)是云计算管理的一部分,而云计算管理方法有三种主要的类型。云计算管理的第一种类型是服务级管理,它主要涉及应用程序编程接口管理和控制。第二类管理是云计算供应商们提供的本地管理系统,它是针对那些供应商的。而第三种管理则是云计算管理平台,它可提供更多的资源级管理以便于控制和管理诸如存储、计算、应用程序和开发等方面的工作。

通常来说,选择一家云计算管理平台供应商往往是一项困难的任务。每一家供应商所提供的参与者数量和广泛的功能似乎都遵循着以下模式中的一个或若干个:以开发运行为重点的、以运营为重点的或者以管理为重点的。 新一代云计算平台,能通过单一入口广泛各种超大规模公有云的统一监控、资源编排、资产管理、成本管理等管理功能,同时也支持私有云和物理裸机环境的统一纳管。平台具有统一门户、CMDB配置数据库、IT服务管理、运维自动化和监控告警等主要模块,支持客户自助在线处理订单、付款销账、申报问题、管理维护等商务运营流程,而且安畅网络对客户的管理、交付、技术支持也都完全在平台上运行,这极大提升了整体运营效率并大幅降低成本,业务交付速度更快、自动化程度更高、成本更具竞争力、用户体验更佳。

安畅网络是中国市场专业的云托管服务商(Cloud MSP),在数据中心和云计算领域有近十年的专业交付和管理经验,目前正服务于2000多家企业级客户并与全球多家超大规模公有云服务商建立了战略合作关系。在云计算驱动产业变革的今天,安畅以客户需求为驱动,积极投资于核心技术研发和团队组织的云原生技能,致力于成为IT 新生态和产业互联网的新一代连接器。为客户提供“云+大数据+AI”的咨询、集成和管理服务,以及数字化解决方案,帮助客户利用新技术进行业务创新,实现数字化变革。

云平台管理应用开发

准备环境 桌面版,vmware12 (注意打开虚拟化) 安装软件: apt-get install kvm apt-get install qemu-kvm apt-get install gcc apt-get install bridge-utils (配置网络) brctl addbr br0 brctl addif br0 eth0 brctl show

Virtio半虚拟化驱动的使用 1、分别制作安装了Virtio半虚拟化驱动的Linux磁盘镜像和Windows 磁盘镜像。 宿主机: 客户机:centos,windows系统 Virtio目前已经是一个成熟的技术了,宿主机中比较新的KVM都支持它,及以上的Linux内核版本都是支持virtio的。 客户机centos自带有virtio不需要重新安装。重点介绍windows xp 系统。 WindowsXP系统安装virtio步骤: 1)创建镜像文件 qemu-img create -f qcow2 50G 镜像名称为,镜像大小为50G 2)安装winxp系统到镜像文件中 qemu-system-x86_64 -localtime -smp 2 -vga qxl -m 2048 -drive file=,cache=writeback,if=virtio -cdrom ../ISO/ -net nic,model=virtio -net tap -boot order=d,menu=on -usbdevice tablet -device virtio-balloon-pci,id=balloon0,bus=,addr=0x5 --enable-kvm -vnc :11用VNC连入进行系统安装 3) 启动winxp系统,安装驱动 root@xp:~# qemu-system-x86_64 -localtime -smp 2 -vga qxl -m 2048 -hda -cdrom -net nic,model=virtio -net tap -boot order=c -usbdevice tablet -device AC97 -device virtio-balloon-pci,id=balloon0,bus=,addr=0x5 -vnc :5 --enable-kvm VNC连入进行系统安装virtio_ballon、virtio_net、virtio_serial:

河北经贸大学虚拟化与云计算作业及答案

河北经贸大学 虚拟化与云计算 作业1 1、简述什么是“互联网+”,“互联网+”时代的发展和建设有哪些特点? 答:互联网+:以互联网为主的一整套信息技术(包括互联网、移动互联网、大数据、云计算技术等)在经济、社会生活等有关环节的扩散及应用过程。互联网+的本质:就是传统业务的数据化、在线化。特点:在互联网的原有基础设施上增加了新基础设施:云网端(云计算、大数据基础设施强势突破;互联网、物联网基础设施快速渗透; 智能终端、APP应用异军突起。) 2、传统的数据中心存在哪些问题?采用虚拟化技术有哪些好处? 答:a. 资源利用率低b. 资源孤岛c. 自动化程度很低 好处:①更高的资源利用率②降低管理成本③提高使用灵活性④提高安全性⑤更高的可用性⑥更高的可扩展性⑦互操作性和投资保护⑧改进资源供应 3、什么是虚拟化?采用虚拟化的目标是什么?虚拟化包含了哪些方面的含义?有哪些类 型? 答:虚拟化是指对物理资源的逻辑表示(而非简单的抽象),通常是将一组物理资源虚拟为多组逻辑资源,或者将多组物理资源虚拟为一组逻辑资源。虚拟相对于真实,虚拟化就是将原本运行在真实环境上的计算机系统或组件运行在虚拟出来的环境中。核心理念:以透明的方式提供抽象的底层资源。 目标:对包括基础设施、系统和软件等IT资源的表示、访问和管理进行简化,并为这些资源提供标准的接口来接收输入和提供输出。降低了资源使用者和资源具体实现之间的耦合程度,让使用者不再依赖于资源的某种特定实现。 三层含义:a.虚拟化的对象是各种各样的资源b.经过虚拟化后的逻辑资源对用户隐藏了不必要的细节c.用户可以在虚拟环境中实现其在真实环境中的部分或者全部功能类型:完全虚拟化、半虚拟化、硬件虚拟化 4、什么是云计算?简述云计算的发展历程和关键技术需求。 答:云计算是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。发展历程:云计算是并行计算、分布式计算、和网格计算的发展,或者说是这些计算机科学概念的商业实现。云计算是虚拟化 (Virtualization)、效用计算(Utility Computing)、IaaS(基础设施即服务)、PaaS(平台即服务)、SaaS(软件即服务)等概念混合演进并跃升的结果。关键技术:面向服务、虚拟化、安全性、灵活性、易管理、易伸缩、高可用、On-Demand(提供与计费)。 5、简述云计算和虚拟化的关系。 答:虚拟化是一种综合技术,然而云计算它是一种商业模型,云计算可能会利用虚拟换技术,但本质上,它并不是一种技术。 6、Google云计算是如何发展而来?有哪些核心技术分别解决了哪些关键问题? 答:Google云计算应用(功能实现)在云端、存储在云端、计算在云端。 Google云计算的关键技术主要包括:Google文件系统GFS、分布式计算编程模型MapReduce和分布式结构化数据存储系统BigTable等。 其中:1)GFS提供了海量数据存储和访问的能力;2)MapReduce使得海量信息的并行处理变得简单易行;3)BigTable使得海量数据的管理和组织十分方便。 7、常见的PC服务器有哪些类型?

相关文档
最新文档