创建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年Q1云服务采用和使用趋势报告:40%都是微软!

    与2017年4月Netskope发布的最后一份报告中的排名相比,本季度前20的云服务排名有所变动,但整体说来,微软表现良好,在榜单中比例达到40%!其中微软Office 365 OneDrive for Business继续稳坐冠军。

  • 轻松几步搭建你的私有云

    私有云基础架构部署过程中的诸多细节会影响到企业的云存储规划,重要的是你需要理清各项方案的优劣所在。

  • 准备好面对下一个“WannaCry”了吗?

    面对层出不穷的恶意软件威胁,相信没有一家企业不想挺直腰杆说,尽管来吧,我知道我们的数据在哪里,已经实施了最佳的存储方式,而且保护极好,即使你能够加密一些数据,我们也可以轻松恢复。

  • 助力中国容器云落地 Rancher的表现打几分?

    容器服务,也有人习惯称之为“容器云”,它是在IaaS、PaaS、SaaS之外衍生出一种新的云服务类型。作为快速崛起的新兴市场,容器云领域吸引了大量的企业涉足,这其中就包括Rancher Labs。

相关推荐

  • OpenStack近期版本综述

    即将发布的OpenStack P(Pike)、Q(Queens)和R(Rocky)三个版本将包含许多重要的功能和更新,进一步优化用户界面并改善现有API的功能。

  • 使用对象存储应对勒索病毒

    数据带来了很多好处,但同时也带来了一些不好的事件,最近一连串高调的安全漏洞只是冰山一角。支持不变性或版本控制的对象存储可以确保你从勒索病毒攻击中恢复。

  • 对象存储成云价格战新战场

    随着竞争加剧,价格之战不可避免。最近,根据451 Research对云定价的分析,对象存储将成为云价格战的新战场。

  • 不要小看数据分类 它能帮你解决企业存储问题

    企业存储的灵丹妙药是什么?是超融合基础设施(HCI)?软件定义存储(SDS)?云存储?还是对象存储?其实,数据分类可以使你的数据变得足够聪明。

技术手册>更多

  • 数据销毁技术手册

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

  • 快照技术手册

    究竟什么是快照技术?主要有哪些类型?本手册中TechTarget中国的特约专家对其进行了详细的讲解,并在其应用中给出了指导性建议。 

  • 重复数据删除技术详解手册(升级版)

    当前,不管是权威机构,还是众存储厂商,都非常看好重复删除技术。重复数据删除通过有效地减少数据,消除备份成为降低数据存储成本的重要技术,成为大家关注的焦点。

  • I/O虚拟化及融合I/O基础入门

    这本技术教程介绍了I/O虚拟化及融合I/O的一些基础知识,包括什么是I/O虚拟化;为什么虚拟化I/O;什么是融合I/O等。

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