创建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年以上。早期的职业生涯始于大型机领域,然后进入存储和系统编程领域,专注于开放系统存储和目前流行的虚拟化和云技术。

云存储>更多

  • 企业文件同步和共享魅力大调查

    企业文件同步和共享为企业提供更安全的文档共享与协作方法,帮助解决了许多业务问题。越来越多的企业在已经拥有某一类型的文件共享与协作系统之后,正在寻求另一种企业文件同步和共享工具。

  • 亚马逊、谷歌和微软提供的云存储服务有何不同?

    亚马逊、谷歌和微软是主要的公有云供应商,让我们看一看这些领先的公有云服务提供商提供的功能——包括备份与恢复、归档、混合云存储以及云分析,有何不同?

  • 以正确的方式实现混合云

    混合云存储既省钱又方便扩展,感兴趣的人越来越多。但是在接纳它之前,有一些关键问题要理清楚。

  • 企业数据保护策略:别忘了磁带与云

    云计算在短期数据存取与保存方面能够发挥巨大作用;同样,在数据的长期归档存放应用领域,它同样颇具价值。

相关推荐

  • 切换云供应商如芒刺在背 如何应对?

    云存储带来诸多便利,例如提高灵活性、按需付费以及近乎无限的扩展,但还有一件事没有解决。即便在理想状况下,你或许仍然需要花上近一天的时间来切换云存储服务商,这或将成为一种不堪重负的过程。

  • 是你吗?!细数2017年数据存储领域最值得关注的潜力股(十四)

    SearchStorage发布本年度存储领域最有前途的创业公司排行榜,印证了我们在与数据中心管理员和供应商们的讨论中感受到的趋势。我们评选出的存储新人最终名单中的大多数都是在过去一个日历年年诞生的。虽然这些初创公司形势看好,但未来的路仍然艰辛难料。

  • 是你吗?!细数2017年数据存储领域最值得关注的潜力股(十二)

    SearchStorage发布的今年存储领域最有前途的创业公司排行榜,印证了我们在与数据中心管理员和供应商们的讨论中感受到的趋势。我们评选出的存储新人最终名单中的大多数都是在过去一个日历年年诞生的。虽然这些初创公司形势看好,但未来的路仍然艰辛难料。

  • 是你吗?!细数2017年数据存储领域最值得关注的潜力股(十一)

    SearchStorage发布本年度存储领域最有前途的创业公司排行榜,印证了我们在与数据中心管理员和供应商们的讨论中感受到的趋势。我们评选出的存储新人最终名单中的大多数都是在过去一个日历年年诞生的。虽然这些初创公司形势看好,但未来的路仍然艰辛难料。

技术手册>更多

  • 硬盘基础知识手册

    在恢复数据时,存储管理员会涉及到硬盘的一些相关知识,如硬盘的盘片、扇区、接口与LBA等,这本技术手册就来讲解硬盘的这些基础知识。

  • 数据销毁技术手册

    由于法规所要求的数据的存储和保留,数据增长不可避免。当备份的数据被删除时,它们真的找不会来了吗?数据销毁是什么,怎样进行?

  • 统一存储技术手册

    统一存储,或称为多协议存储,是一种集中化的磁盘阵列。在一个统一存储环境中,数据存储变成了一个共享的资源池,来存储块的或者文件数据,并根据应用需求来配置。多协议的阵列使得在一个磁盘阵列将各种不同的存储资源进行池化,而日后业务增长所需的存储空间也可以池化后为所有的存储所共享。

  • 灾难恢复技术手册

    本手册讲解灾难恢复策略,在如何有效的进行制定灾难恢复策略时TechTarget中国特约专家给出技巧性的建议。

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月刊:即时恢复,欢迎下载阅读!