OpenStack 实现云计算和存储.docx

上传人:b****5 文档编号:4487105 上传时间:2022-12-01 格式:DOCX 页数:7 大小:98.25KB
下载 相关 举报
OpenStack 实现云计算和存储.docx_第1页
第1页 / 共7页
OpenStack 实现云计算和存储.docx_第2页
第2页 / 共7页
OpenStack 实现云计算和存储.docx_第3页
第3页 / 共7页
OpenStack 实现云计算和存储.docx_第4页
第4页 / 共7页
OpenStack 实现云计算和存储.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

OpenStack 实现云计算和存储.docx

《OpenStack 实现云计算和存储.docx》由会员分享,可在线阅读,更多相关《OpenStack 实现云计算和存储.docx(7页珍藏版)》请在冰豆网上搜索。

OpenStack 实现云计算和存储.docx

OpenStack实现云计算和存储

InfrastructureasaService(IaaS)云平台种类繁多,例如像Nebula和Eucalyptus这样为人熟知的解决方案。

而此领域的一个新来者已展示了其不俗的增长,不仅包括用户数量的增长,还包括支持公司的数量的大量增长。

在本文中,我们将了解这个开源平台OpenStack,发现它是否真的是一种开源云操作系统。

云和公共InfrastructureasaService(IaaS)背后的理念并不算很新。

实际上,AmazonElasticComputeCloud(AmazonEC2)到今年已经有六岁了。

有所改变的是,现在已经主要将IaaS作为一种私有云计算,以满足具有敏感数据的企业计算。

私有云计算将IaaS的理念应用到私有基础架构。

虽然这么做缺少公共云(现收现付服务)的经济优势,但它充分利用了云计算的核心原理,使企业数据中心内有了可伸缩和弹性的基础架构。

让我们先来快速介绍一下IaaS及其基础架构,然后再深入研究这个领先的开源解决方案:

OpenStack。

IaaS和云基础架构

云计算架构常常都着重于虚拟化后按需向用户公开的一组公共资源。

这些资源包括功能各异的计算资源、持久的存储资源,以及将这些资源组合在一起并将它们有条件地公开到互联网的可配置联网资源。

IaaS实现的基础架构(参见图1)就遵循了这样的模型,并添加了其他元素,比如计量(为计费的目的来说明使用的情况)。

物理的基础架构则通过由各种技术(包括系统管理程序(用于平台虚拟化)、虚拟网络和存储)实现的虚拟层提取自应用程序和用户。

图1.IaaS的高级视图

虽然OpenStack是如今最为流行的一种可用的开源云解决方案,但它当然不是最早的一个。

实际上,OpenStack是在公共和私有领域开发的两种旧解决方案的综合。

由位于圣巴巴拉市的加州大学的一个研究项目开发的ElasticUtilityComputingArchitectureforLinkingYourProgramsToUsefulSystems(Eucalyptus)是更早的一种开源IaaS解决方案。

其他的解决方案还包括OpenNebula(一种开源的云计算工具箱)和Nimbus(另一种面向IaaS云的开源工具箱)。

OpenStack集成了美国国家航空和航天局(NASA)的部分Nebula平台和RackspaceCloudFiles项目(云存储)。

云计算的新来者:

OpenStack

OpenStack是IaaS空间的一个新来者,在2010年末首次发布。

尽管此解决方案成熟度不够,而且面市还不到两年时间,但是OpenStack现已成为了使用最为广泛的云堆栈之一。

OpenStack不是单一的解决方案,而是一个不断成长的开源解决方案套件(包括核心以及新孵化的项目),并共同形成了一个强大成熟的IaaS堆栈。

如图2所示,OpenStack构建自几个核心技术(多于这里所展示的,但这里所展示的代表关键方面)。

左侧是Horizon仪表盘,显示了一个可为用户和管理员用来管理OpenStack服务的用户界面。

Nova提供了一个可伸缩的计算平台,用来支持大量服务器和虚拟机(VM;以一种系统管理程序不可知的方式)的配置和管理。

Swift实现一个具有内部冗余、可大量伸缩的对象存储系统。

在底部的是Quantum和Melange,二者实现了网络连接即服务(networkconnectivityasaservice)。

最后,Glance项目为虚拟磁盘映象实现了一个存储库(映像即服务(imageasaservice))。

图2.OpenStack解决方案的核心和附加组件

如图2所示,OpenStack是一个项目集合,整体提供了一个完整的IaaS解决方案。

表1展示了这些项目及其起作用的方面。

表1.OpenStack项目和组件

项目

组件

描述

Horizon

Dashboard

用户和管理员仪表盘

Nova

Compute/blockdevice

虚拟服务器和卷

Glance

Imageservice

VM磁盘映像

Swift

StorageasaService

对象存储

Quantum/Melange

Networks

安全虚拟网络

其他重要的方面还包括Keystone,它实现了对企业私有云十分关键的身份识别服务(对计算服务器、Glance内的映像以及Swift对象存储区的访问方面的管理)。

OpenStack架构

OpenStack用三个核心开源项目(如图2所示)来表示:

Nova(计算)、Swift(对象存储)和Glance(VM存储库)。

Nova(或OpenStackCompute),提供了跨服务器网络的VM实例的管理。

它的应用程序编程接口(API)为试图无知物理硬件和系统管理程序提供了一种计算编排方法。

请注意,Nova不仅提供了用于管理的OpenStackAPI,还为那些习惯该界面的人提供了一种AmazonEC2-兼容API。

Nova支持组织所使用的专有系统管理程序,但更为重要的是,它支持像Xen和KernelVirtualMachine(KVM)这样的系统管理程序,也支持像Linux®Container这样的操作系统虚拟化。

出于开发的目的,还可以使用QEMU这样的仿真解决方案。

Swift(或OpenStackObjectStorage)项目可通过配置了普通硬盘的标准服务器提供可伸缩的冗余存储集群。

Swift并不代表一个文件系统,它实现的是一个更为传统的对象存储系统,可用于主要是静态数据(一种关键的使用模型是静态VM映像)的长期存储。

Swift不具备集中式控制器,它能改善整体的可伸缩性。

它在内部管理跨集群的复制(无需独立磁盘冗余阵列)来提高可靠性。

Glance(或OpenStackImageService)为Nova能够使用(此选项存储在Swift内)的虚拟磁盘映像提供了一个存储库。

Glance提供了一个API来注册磁盘映像,此外还提供了通过一个简单的RepresentationalStateTransfer(REST)界面的发现和交付。

Glance很大程度上对虚拟磁盘映像格式不可知,支持各种标准,包括VDI(VirtualBox)、VHD(Microsoft®Hyper-V®)、QCOW2(QEMU/KVM)、VMDK/OVF(VMware)以及原始格式。

Glance还提供了磁盘映像校验和、版本控制(和其他元数据)以及虚拟磁盘验证和审计/调试日志。

此核心OpenStack项目(Nova、Swift和Glance)是使用Python开发的,它们都可以在ApacheLicense下使用。

演示OpenStack

因为有大量独立项目需要安装并配置以便能够相互协作,安装OpenStack可能会非常耗时(参见参考资料获取完整安装的更多信息)。

但是对于好奇的读者来说,有其他一些选项可以极大地简化OpenStack的启动和运行。

阅读过我之前文章的读者都知道我是一个VM映像迷,热衷于基于Linux软件的简化使用。

VM允许您轻松地创建一个新实例来尝试或演示软件。

此VM是一个自包含的Linux实例(有时称作虚拟设备),可以用必要的软件预安装并预配置以供使用。

以这种方式配置的软件可极大地简化其使用,让您得以试验那些否则很难掌握或掌握起来很耗时的软件。

参阅参考资料获取满足您特定的硬件和基础操作系统需求的安装选项。

对于本次展示,我决定使用最新的Ubuntu发布版(12.04)和OpenStackEssex发布版。

Essex的ISO版本可以使用uksysadmin安装程序进行安装(参见参考资料)。

在UbuntuPrecise上成功安装了OpenStackEssex后,使用一个外部的Web浏览器能够登录OpenStack仪表盘。

图3显示了具有两种容器格式的来宾(Guest)VM映像的SystemPanelImages选项卡界面。

图3.可用来宾映像的OpenStackDashboard视图

此映像可用来创建一个演示实例,正如图4所示,创建已经开始。

这个实例现在就可以使用了。

图4.计算实例的OpenStackDashboard视图

现在,有了运行于OpenStack之上的计算映像,我可以通过一个简单的SecureShell(SSH)会话使用其IP地址(172.16.1.1)对其进行访问(参见清单1,用户输入以粗体显示)。

清单1.通过SSH访问OpenStack计算实例

$ssh-iDownloads/demo.pemubuntu@172.16.1.1Theauthenticityofhost'172.16.1.1(172.16.1.1)'can'tbeestablished.

RSAkeyfingerprintisdf:

0e:

d0:

32:

f8:

6d:

74:

49:

ea:

60:

99:

82:

f1:

07:

5d:

3b.

Areyousureyouwanttocontinueconnecting(yes/no)?

yes

Warning:

Permanentlyadded'172.16.1.1'(RSA)tothelistofknownhosts.

WelcometoUbuntu12.04LTS(GNU/Linux3.2.0-23-virtualx86_64)

*Documentation:

Systeminformationdisabledduetoloadhigherthan1.0

0packagescanbeupdated.

0updatesaresecurityupdates.

GetcloudsupportwithUbuntuAdvantageCloudGuest

TheprogramsincludedwiththeUbuntusystemarefreesoftware;

theexactdistributiontermsforeachprogramaredescribedinthe

individualfilesin/usr/share/doc/*/copyright.

UbuntucomeswithABSOLUTELYNOWARRANTY,totheextentpermittedby

applicablelaw.

 

Torunacommandasadministrator(user"root"),use"sudo".

See"mansudo_root"fordetails.

ubuntu@demo1:

~$

ubuntu@demo1:

~$hostnamedemo1

ubuntu@demo1:

~$psPIDTTYTIMECMD

835pts/000:

00:

06bash

948pts/000:

00:

00ps

ubuntu@demo1:

~$

所有这些层都运行后,可能很难想象所发生的事情。

图5展示了整个堆栈,希望能帮助解释清楚。

在这个演示中,运行MacOSX的Mac提供了基础平台。

VirtualBox运行于MacOSX之上,提供了OpenStack的执行平台(运行于UbuntuLinux上)。

注意,VirtualBox是一个类型-2的虚拟化管理程序。

在OpenStackLinux层,QEMU被用作一个来宾系统管理程序,从硬件角度来看,这很理想,但缺乏真正的产品设置所需的性能。

图5.在普通硬件上运行的OpenStack演示堆栈

没有了对嵌套虚拟化(在另一个系统管理程序之上有效运行一个系统管理程序)的支持,我依赖于QEMU作为我在OpenStack上运行的来宾系统管理程序。

这让我能够在一个来宾系统管理程序上运行一个来宾VM,该来宾VM在一个类型-2的虚拟化管理程序上运行。

虽然这种设置可能会很慢,但它充分展示了一个在普通计算机系统上运行的IaaS堆栈。

注意,如今某些AMD处理器可提供一种有效的支持嵌套虚拟化的方式。

虽然使用QEMU对于性能而言并不理想,但它与KVM(Linuxasahypervisor)极为兼容,因而很容易在两个系统管理程序之间迁移(除了在这两者之前兼容的VM映像)。

在这种情况下,让QEMU之所以理想的原因是它可以在未提供虚拟化支持的硬件上执行。

注意,我的平台在这个例子中是具有虚拟化功能的,但是由于我在VirtualBox(一个凭借自身力量的虚拟化管理程序)上运行,嵌套虚拟化的缺乏让我不得不使用一个不依赖虚拟化扩展的来宾系统管理程序。

不管在哪种情况下,我都使用libvirt来管理VM(启动、停止、监视等),所以,在一个有虚拟化功能的硬件上迁移到KVM简单至极,只需在OpenStack配置文件内进行两行修改即可。

使用OpenStack的其他方式

即便您没有自己的集群,也可采用其他选项来享受OpenStack带来的益处。

OpenStack的创作者之一Rackspace,就提供了它寄予厚望的云的Linux。

Rackspace的OpenStack云平台提供了OpenStack在公共云基础架构的灵活性和可伸缩性方面的优势。

为了简化OpenStack面向私有云的安装,很多公司都关注于简化OpenStack在私有集群内的使用。

比如,PistonCloudComputing公司就提供了PistonEnterpriseOS这种基于OpenStack的私有云操作系统。

Mirantis则向企业提供了专业的构建OpenStack基础架构的服务。

OpenStack的前景

OpenStack将继续集成新的功能,提高了IaaS解决方案的定义。

OpenStack旗下有许多其他项目可用,但还有很多仍在孵化进程中。

Keystone项目提供的身份识别服务统一了跨OpenStack组件的身份验证,同时又集成了现有的身份验证系统。

还存在目的各异的社区项目,比如负载均衡即服务(Atlas-LB);云安装和维护系统(Crowbar);云可配置和可伸缩的关系数据库(RedDwarf);面向云编排的基于REST的API(Heat);以及涵盖了监视、计费等的云管理工具(Clanavi)。

在OpenStack项目内外还有无数其他项目正在开发当中,只要OpenStack的构建势头不减,这个列表每天都在增长。

OpenStack并非没有竞争,随着旧项目的不断发展,新的项目也会出现。

例如,CloudStack(在2009年首次发布)具有几个产品安装,但缺乏OpenStack所具备的开源贡献者支持的级别。

结束语

继Linux发展成为能符合所有使用模型的通用操作系统之后,OpenStack也正在向代表云操作系统的方向前进。

与管理有限集的核心和本地资源不同,OpenStack管理的是包含计算和存储资源的庞大的服务器网络,以及将它们连接在一起的虚拟网络胶。

自它在2010年末首次发布以来(Austin),OpenStack项目已经又发布了四个版本,最新的一个版本在2012年4月发布(Essex)。

对于每次发布,OpenStack都继续推动新的、改进了的功能,这也提高了其他IaaS解决方案的竞争门槛。

如今,在Apache旗下,OpenStack成为云堆栈内的标准实在不足为奇。

文章出处:

IBMdeveloperWorks

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 文化宗教

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1