创建OpenStack的存储云

日期:2016-3-16作者:Chris Evans

OpenStack   公有云   Cinder   Swift   对象存储   块存储   

【TechTarget中国原创】在转向大规模网络运算中,关键技术如虚拟化,向x86系统迁移和采用快速的DevOps方法已经改变了IT的生态系统。随着存储卷在IT系统中的部署量不断增加,下一个挑战将会是使用最有效的方式来规划和管理计算、存储和网络资源以及向众所周知的私有云提供服务。


OPENSTACK内部


OpenStack是一个开源的云平台项目,是由NASA发起,Rackspace在2010作为一个项目进行主导。源代码是由OpenStack基金会管理并在准许Apache许可下发布,Apache许可允许自由分发和修改,但需要保留原有的版权声明。OpenStack作为一个大规模部署应用平台而深受欢迎;它被许多服务商用来发布公有云平台,一些大型组织用它来搭建私有云基础设施。需要明确的是,OpenStack适用于大规模部署的应用,而对于像微软Exchange和oracle数据库等传统的单一应用程序则是不太适用的。

OpenStack软件包含许多不同的模块,对应云环境的各个方面:

Swift:对象存储

Cinder:块存储

Nova:虚拟机(VMs)/计算

Neutron:网络

Horizon:仪表盘

Keystone:身份识别服务

Glance:镜像服务

Ceilometer:遥感侦测

Heat:业务流程

Trove:数据库即服务(DBaaS)

每个OpenStack的代码发布(目前是第九个版本,冰室(Icehouse)),新项目被创建或者来自现有的项目或作为新项目启动,包括针对裸设备供应的Ironic和针对弹性的MapReduce的Sahara,都是基于OpenStack的Juno发布。

数据服务有其中五个组件来提供。Swift是OpenStack基础设施发布的对象存储的子项目。块存储由Cinder提供,它是基于标准的IP存储协议,例如iSCSI和NFS。Glance提供VM镜像的存储库,它使用基于文件系统的底层存储或者Swift。Trove提供数据库即服务(DBaaS)的能力,而Sahara提供弹性的MapReduce能力,也被称为Hadoop集群存储。在本文中,我们将重点放在Cinder和Swift这两个主要的存储平台。

块存储CINDER


块存储是虚拟化基础架构的重要组成部分,是存储虚拟机映像和使用的虚拟机数据的基础。Cinder在2012 Folsom版本的OpenStack发布中被介绍,而在Cinder出现之前,虚拟机是短暂存在的,它们的存储只在虚拟机生命周期内存在。Cinder提供块存储管理的支持。这是到了计算(Nova)层使用iSCSI,光纤通道或NFS协议,以及一些提供后端连接的专有协议。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

作者>更多

Chris Evans
Chris Evans

Chris Evans已经在IT行业工作了25年以上。早期的职业生涯始于大型机领域,然后进入存储和系统编程领域,专注于开放系统存储和目前流行的虚拟化和云技术。

云存储>更多

相关推荐

  • 企业对象存储准备好了吗?

    相比云端,对象存储的优势对于作内部存储使用的企业而言更为诱人,供应商正在克服其缺点。

  • 主流对象存储厂商大解析

    在对业内知名对象存储系统评选时,你需要重点考虑哪些产品能够最好地支持你的应用场景,满足站点内的特定需求。

  • 对象级存储正准备替代企业中的NAS

    文件服务接口已经成为许多供应商的可大规模扩展对象存储产品的标准功能,这就让对象储技术的使用变得更简单,也让对象存储越来越容易替代传统NAS存储。

  • 企业存储系统新旧大比拼

    传统的外部存储系统主要有两种类型:网络连接存储(NAS)和存储区域网络(SAN)。而云计算和对象存储的兴起促成了软件定义存储的出现。

技术手册>更多

  • 企业闪存应用与采购

    固态存储技术正获得越来越多的关注,同时这种技术提供用户在不同环境中不同的固态存储部署方式。固态存储所展现出的高性能对于用户应用来说无疑是充满吸引力的,然而你还需要对其部署在何处、所需要的具体容量及使用模式作出具体评估和判断。

  • 固态存储技术选型

    企业部署固态存储一般用于解决特定应用性能问题。但随着闪存价格的不断走低,它正在被越来越多的市场认可。今天,大多数企业数据中心都部署有固态存储。固态存储能够以传统磁盘方式部署于存储阵列,可作为全闪存阵列,单独的缓存设备,还可以是服务器端的PCIe卡等等。​

  • 给闪存新手的部署指南

    近些年来,闪存存储的可用性有了明显的提高,并且提供了多种部署选择。当然,对最终用户来说有选择是好事情,但是部署闪存的无数种方式却带来了困扰。

  • 融合基础架构专刊

    在这本专刊中我们将为您介绍融合基础架构方案的优势、融合架构如何处理存储服务和数据传播、专家对融合架构的看法,并为读者分析了几个已经推向市场的融合架构。

TechTarget

最新资源
  • 安全
  • 虚拟化
  • 网络
  • 服务器
  • 数据中心
【TechTarget中国原创】在转向大规模网络运算中,关键技术如虚拟化,向x86系统迁移和采用快速的DevOps方法已经改变了IT的生态系统。随着存储卷在IT系统中的部署量不断增加,下一个挑战将会是使用最有效的方式来规划和管理计算、存储和网络资源以及向众所周知的私有云提供服务。


OPENSTACK内部


OpenStack是一个开源的云平台项目,是由NASA发起,Rackspace在2010作为一个项目进行主导。源代码是由OpenStack基金会管理并在准许Apache许可下发布,Apache许可允许自由分发和修改,但需要保留原有的版权声明。OpenStack作为一个大规模部署应用平台而深受欢迎;它被许多服务商用来发布公有云平台,一些大型组织用它来搭建私有云基础设施。需要明确的是,OpenStack适用于大规模部署的应用,而对于像微软Exchange和oracle数据库等传统的单一应用程序则是不太适用的。

OpenStack软件包含许多不同的模块,对应云环境的各个方面:

Swift:对象存储

Cinder:块存储

Nova:虚拟机(VMs)/计算

Neutron:网络

Horizon:仪表盘

Keystone:身份识别服务

Glance:镜像服务

Ceilometer:遥感侦测

Heat:业务流程

Trove:数据库即服务(DBaaS)

每个OpenStack的代码发布(目前是第九个版本,冰室(Icehouse)),新项目被创建或者来自现有的项目或作为新项目启动,包括针对裸设备供应的Ironic和针对弹性的MapReduce的Sahara,都是基于OpenStack的Juno发布。

数据服务有其中五个组件来提供。Swift是OpenStack基础设施发布的对象存储的子项目。块存储由Cinder提供,它是基于标准的IP存储协议,例如iSCSI和NFS。Glance提供VM镜像的存储库,它使用基于文件系统的底层存储或者Swift。Trove提供数据库即服务(DBaaS)的能力,而Sahara提供弹性的MapReduce能力,也被称为Hadoop集群存储。在本文中,我们将重点放在Cinder和Swift这两个主要的存储平台。

块存储CINDER


块存储是虚拟化基础架构的重要组成部分,是存储虚拟机映像和使用的虚拟机数据的基础。Cinder在2012 Folsom版本的OpenStack发布中被介绍,而在Cinder出现之前,虚拟机是短暂存在的,它们的存储只在虚拟机生命周期内存在。Cinder提供块存储管理的支持。这是到了计算(Nova)层使用iSCSI,光纤通道或NFS协议,以及一些提供后端连接的专有协议。

Cinder接口提供了一些标准功能,允许创建和连接块设备到虚拟机,例如创建卷、删除卷和附加卷。更多高级的功能支持卷扩展,快照和虚拟机镜像克隆。

许多厂商在他们现有硬件平台上提供Cinder块存储的支持,它是通过使用Cinder的驱动将Cinder的API转换成厂商特定硬件的命令实现的。提供Cinder支持的厂商包括EMC(VMAX和VNX),惠普(3PAR StoreServ和StoreVirthul),HDS,IBM(所有存储平台),NetApp,Pure Storage和SolidFire。也有一些软件定义的方案提供支持,像EMC的ScaleIO和Nexenta。

此外,许多软件存储平台,包括开源平台,也能用来提供Cinder支持;这其中包括RedHat的Ceph和GlusterFS。Ceph已经集成到Linux内核中,使它成为OpenStack部署块存储最便捷的方式。

在2013发布的第七个OpenStack版本(Grizzly)支持NFS,虽然“实验”版本在Folsom这一代中就已经支持。通过NFS,虚拟机的卷被看做是一个独立的文件,这类似于VMware ESXi和微软Hyper-V的VHDs的实现方式。封装的虚拟机卷作为文件允许诸如快照和克隆的高级功能。

存储特性随着新版本的发布被引入到Cinder中,随后得到了各个存储厂商的支持。一个全面的厂商平台和功能列表能够在维基百科的OpenStack块存储驱动页中被发现。

SWIFT支持对象存储


OpenStack内部的对象存储是通过Swift来交付的,它实现了通过分布在OpenStack集群节点来实现横向扩展的对象存储。对象存储的数据存储为二进制对象,没有具体的参考格式。对象从Swift中存储和取出,会使用简单的命令如PUT或GET,这些命令是基于HTTP(Web)协议,也称之为RESTful API。

Swift架构分为多个逻辑服务,包括对象服务器,代理服务器,容器服务器和客户服务器,放在一起归类为一个环。数据存储在对象服务器上,其他的组件用来存储元数据,元数据用来跟踪每个存储对象和管理数据的访问。

Swift中的数据弹性的管理是使用分区(zone)的概念。一个分区代表环的一个子组件,它用来提供数据的一份拷贝,多分区用来存储冗余数据拷贝(默认至少三个)。Swift可以使用一块磁盘或一台服务器来代表一个分区,也可以包括分散不同地理位置数据中心之间的数据。

同许多对象存储一样,Swift使用最终一致性的想法来实现数据的恢复。这意味着在一个OpenStack集群内,数据复制不是以同步模式来实现的,而使用块存储则可以实现。相反,数据复制是在分区之间以后台进程来实现的,所以如果系统在高负荷情况下,它可能被暂停或失败。

相比于块存储使用同步复制作为一种用来提供高水平的可用性特征,最终一致性看起来似乎是更危险的。然而,在可扩展性,性能和弹性方面需要有一个权衡。最终一致性允许一个档案系统在对比使用块存储时扩展更加容易;在使用Swift情况下,代理服务器要保证获取当前数据的最新副本,即使在集群中一些服务器无法被访问。

如同所有的OpenStack项目,Swift随着每个版本的发布,会陆续发布新功能和增强功能。Grizzly版本的OpenStack介绍了更加精细的复制控制,使环具有可调节的副本数。通过基于时间的对象服务器的排序方式,对象读取性能同时得到了改善。这允许将数据能够从最快的响应对象服务器中取出,在通过广域网络进行扩展的情况下这是十分重要的。

由于SWIFT使用HTTP协议,在OpenStack对象存储中使用第三方的存储解决方案将是非常实用的,这些产品包括来自cleversafe,scality或公共云,例如亚马逊的Web服务——简单存储服务(S3)。

SWIFT或者CINDER?做正确的选择


很显然,Swift和Cinder提供不同类型的数据服务。对象存储(Swift提供)设计用来存放有高扩展性需求的对象数据,例如媒资、影像和文件。这些系统关注的焦点是他们海量数据的扩展能力,这些能力不同于传统存储的特性,例如RAID。然而,他们的最终一致性特性意味着Swift不适用于存储类似虚拟机应用的数据。

虽然Swift使用元数据来追踪对象和它们的版本,对象存储仍然需求额外的逻辑关系来追踪被存储的对象的用户元数据。这就需要用户将它内置于应用程序中。

Cinder提供块存储组件,用来存储持久对象,例如虚拟机和需要定期更新的数据如数据库。块存储功能可以通过OpenStack集群内置的功能组件来实现,如逻辑卷管理器(LVM)或NFS来提供存储资源。另外,开源解决方案,如Ceph和GlusterFS提供OpenStack代码主体内的一揽子OpenStack存储交付能力,同时还能保持开源软件的灵活性。

Cinder得到广泛的支持,现有的传统存储解决方案可用来为OpenStack部署提供存储服务。对于已经具备传统IT技能和硬件的平台来说,这可能是最合适的。现有存储平台已经经历了很好的发展,并且支持存储可选的高级特性,如自动精简配置,重复数据删除和压缩。许多现在提供的服务质量(例如惠普3PAR的StoreServ和SolidFire),使它们适合用于混合工作负载而不是单纯的专注于OpenStack的部署。作为一个结果,还有一个显著的好处是将繁重的任务卸载到外部存储阵列中。

在决定使用一个特定的平台时,系统架构师需要权衡使用OpenStack“免费”方案(仍然需要硬件)或受益于专用硬件提供的功能的风险和成本。

备份OPENSTACK存储


最后需要思考的是,我们应该考虑备份OpenStack数据的必要性。备份OpenStack环境关键配置组件的细节都有详细的文档;然而,一个OpenStack集群内的数据备份被视作用户的责任。通过使用外置存储,备份很容易被实现。例如,SolidFire提供备份完整集群到亚马逊S3或Swift对象存储中的能力。另外,用户需要看现有的支持OpenStack应用的备份产品。

Raksha是一个新的项目建议,它会把备份即服务(BaaS)功能集成到OpenStack框架中。这将包括完整和增量备份虚拟机到Swift“终点”,提供应用一致性的能力。Raksha是一个单独的项目,它并不是OpenStack核心部分。它需要将一些有意义的工作集成到普通虚拟平台,如vSphere和Hyper-V,但是可以集成更多的解决方案为OpenStack环境提供数据保护。


文章选自存储经理人2015年2月刊:即时恢复,欢迎下载阅读!