如何构建OpenStack存储云

日期:2015-1-22作者:Chris Evans

OpenStack   存储云   开源云   

【TechTarget中国原创】OpenStack的存储组件—Cinder和Swift—让你在你的私有云里构建块和对象的存储系统。Chris Evans对这些技术给出了一些深入的阐述。

在向web规模计算的转型中,虚拟化,x86架构的迁移和DevOps的快速应用这样的关键技术已经转变了整个IT的生态系统。随着部署到IT的系统数量的持续增大,下一个挑战将变成以更有效和高效的方式来编排和管理计算,存储和网络资源,为私有云提供服务。

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

评论
yuntui 发表于:2016-10-24 01:30 回复
查看更多评论

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者>更多

Chris Evans
Chris Evans

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

云存储>更多

  • 谷歌云存储降价:与Glacier竞争冷存储市场

    随着谷歌对自己的云存储产品重新分了类,最近又新增了一个冷存储层级以吸引企业客户,该公司正在回归价格才是决定因素的这一云战略。

  • OpenStack对象存储评估:Swift对阵Ceph

    两种最常见的OpenStack存储选项分别是作为OpenStack项目一部分的Swift,以及独立的开源系统Ceph。这两个选项都提供对象存储,并且可以免费下载。

  • AWS冷存储成本知多少

    专用高速网络连接,如AWS Direct Connect,可以在数据中心和AWS云设备之间建立专用连接。以太网连接绕过了公共互联网,避免了瓶颈和拥塞,这往往降低了带宽,也降低了数据传输性能。

  • 联想企业网盘:只做数据的搬运工

    联想企业网盘是基于云存储的企业文件协同与管理平台,企业借助该平台可以为员工提供个人数据存储、分享服务,保护数据安全;也可以按照企业组织架构组建企业级、部门级、项目级的协同工作服务,提高数据处理效率。

相关推荐

  • OpenStack中国十大用户:谁竟独占五成

    1月9日,由云计算开源产业联盟(OSCAR)指导的首届“寻找2016年度中国OpenStack十大用户暨中国OpenStack卓越案例推荐”跨年活动最终揭晓。

  • OpenStack技能短缺:部署成为挑战

    随着企业云实施的增加,OpenStack不断获得市场关注。但是,随着企业试图部署开源云平台,他们遇到了一个共同的问题:寻求拥有OpenStack技能的 IT专业人员。

  • 纠结:为什么OpenStack有辣么多版本?

    为了确保你所安装的OpenStack可以与你想要运行的软件兼容,那么确定当前使用哪一版本的OpenStack是最重要的。然而,找出这些信息却并不轻松。

  • OpenStack部署运维如何SaaS化?

    在中国,OpenStack持续升温,包括物联网用户、国内高校以及部分大小企业,都开始通过将其引入到企业内部以实现对原有IT基础设施的改造和升级,并基于OpenStack架构的灵活性,结合自身独特需求建立云计算环境

技术手册>更多

  • 初识云计算

    云计算的概念越来越流行,Amazon、Google和IBM是第一批将云计算引入公众视线的公司。云计算就是新的Web2.0,一种既有技术上的市场绽放。

  • 云存储市场求生指南

    云存储对于一系列的存储需求是一种有效的选择。理解各种云存储系统的关键特性有助于识别合适的用例,并避免潜在且昂贵的错误。在这本技术手册中,我们将着重关注云存储市场动态,以及目前的价格情况,同时关注企业在选择云存储服务时需要注意哪些问题,有哪些可供参考的内容。

  • 云计算服务水平协议SLA教程

    服务等级协议是关于网络服务供应商和客户间的一份合同,其中定义了服务类型、服务质量和客户付款等术语。SLA概念已被大量企业所采纳,作为公司IT部门的内部服务。大型企业的IT部门都规范了一套服务等级协议,以衡量、确认他们的客户(企业其他部门的用户)服务,有时也与外部网络供应商提供的服务进行比较。目前,许多IT经理正在考虑把许多应用及服务迁移进云端。一部分人因为经济原因被迫考虑云计算,而另外一部分人考虑提供一些新的IT服务。不管怎样,IT经理目前以及不久的将来不得不面对服务等级协议(SLA)。

  • 智能云网络分析技术手册

    随着云计算、虚拟网络的普及,接入网络的设备不断增加,新型应用需求的也在不断增长,网络监控的复杂性已经成为企业面临的重要IT挑战,网络性能监控工具也面临更大的挑战。云计算和大数据这样的新技术理念的出现,导致网络中的流量不断增长,而且流量的类型也在不断改变,如涵盖了更多的视频和语音数据等,不断增强的保护网络的意识也促使企业采用监控和分析工具。本技术手册将会着重介绍云计算时代,作为瓶颈的网络如何保障自身安全,以及网络分析技术对于云计算的影响。

TechTarget

最新资源
  • 安全
  • CIO
  • SOA
  • 虚拟化
  • 网络
  • 数据中心
【TechTarget中国原创】OpenStack的存储组件—Cinder和Swift—让你在你的私有云里构建块和对象的存储系统。Chris Evans对这些技术给出了一些深入的阐述。

在向web规模计算的转型中,虚拟化,x86架构的迁移和DevOps的快速应用这样的关键技术已经转变了整个IT的生态系统。随着部署到IT的系统数量的持续增大,下一个挑战将变成以更有效和高效的方式来编排和管理计算,存储和网络资源,为私有云提供服务。

OpenStack是一个开源的云计算平台项目,最初是由NASA和Rackspace Hosting在2010年联合发起的一个项目。源代码是由OpenStack基金会管理并且以Apache的许可证发布,允许免费分发和修改代码,只要保留初始的版权声明。OpenStack作为一个对外扩展应用的部署平台而获得普及性。很多服务提供商使用它来提供公有云服务,还有一些大型组织使用OpenStack希望实现私有云基础架构。很重要的一点需要指出,OpenStack是被设计成用于那些大规模扩展的应用,对于部属传统的单一应用程序诸如Microsoft Exchange或者那些构建在类似Oracle的数据库上的应用不是特别适合。

OpenStack软件包括许多不同的模块,针对云环境中各个方面:
随着每一个OpenStack的代码发布(目前是第九个版本,叫做IceHouse),新项目被创建或者从已有的项目上“分支”出来或者开一个全新的分支,包括用于裸机管理的Ironic以及会在OpenStack的Juno版本中发布的Sahara,用于弹性MapReduce。

数据服务由以上的五个组件来提供。Swift是一个子项目,为OpenStack基础架构提供对象存储的功能。块存储由Cinder提供,使用标准的象iSCSI和NFS这样的IP存储协议。Glance为VM镜像提供一个知识库,使用底层的基本文件系统或者Swift作为存储。Trove提供数据库即服务 (DBaaS) 的能力,而Sahara提供弹性MapReduce的功能,后者也被称为Hadoop集群存储。这篇文章,我们将着重讲述Cinder和Swift这两大主要的存储平台。

Cinder块存储

块存储是虚拟基础架构中必不可少的组件,是存储虚拟机镜像文件及虚拟机使用的数据的基础。直到2012年OpenStack Folsom的发布才引入了Cinder,VM镜像是短暂的,它们的存储只维持在那台虚拟机的生命周期。Cinder提供对块存储的管理支持,通过使用iSCSI, 光纤通道或者NFS协议,以及若干私有协议提供后端连接,展现给计算层(Nova)。

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

许多厂商在他们现有的硬件平台上提供对Cinder块的支持,通过使用一个Cinder驱动将Cinder API转换成厂商特定的硬件命令。提供Cinder支持的厂商包括了EMC(VMAX和VNX),惠普(3PAR StoreServ和StoreVirtual),日立数据系统,IBM(跨所有存储平台),NetApp,Pure Storage和SolidFire。还有一些基于软件的解决方案,比如EMC(ScaleIO)和Nexenta。

另外,许多软件存储实现,包括开源平台,都可以用于提供对Cinder的支持,这些软件中包括红帽的Ceph和GlusterFS。Ceph已经被集成到Linux内核中,使其成为最简单的一种为OpenStack部署环境提供块存储的方法。

NFS的支持是在2013年OpenStack的第七个版本引入的,又叫Grizzly,尽管之前Folsom有提供“试验性的”技术支持。在NFS的环境中,VM磁盘分区被当作单个的文件,这和在VMware ESXi虚拟程序或者微软的Hyper-V的VHD所使用的方法相似。将VM磁盘分区封装成文件可以实现类似快照和克隆这样的功能。

存储功能已引入Cinder的后续版本,之后一直被存储厂商们支持。支持的各种厂商平台和功能的完整列表可以在OpenStack的关于OpenStack块存储驱动器的Wiki页面找到。

Swift对象存储

OpenStack中的对象存储通过Swift来达成,Swift实现了分布在OpenStack的集群节点的横向扩展的对象存储。对象存储将数据以二进制对象的方式存储,没有特别的格式要求。Swift使用简单的类似PUT或GET(基于HTTP网络协议,也被称为RESTful API)的命令对对象进行存取操作。

Swift架构被分割成一些逻辑服务,包括对象服务器,代理服务器,容器服务器和帐户服务器,整个一起被称作一个ring。数据同其他用于追踪与每个存储对象相关的元数据和管理数据访问的组件一起存储在对象服务器上。

在Swift中使用zone的概念来管理数据的弹性。一个zone是一个ring的子部件,用于提供数据的一个拷贝,多个zone则用来存储冗余的数据拷贝,被称为replica(默认最少3个)。Swift能用一个单独的磁盘或者服务器来代表一个zone,包括数据中心之间的数据地理分布。

同许多对象存储一样,Swift使用最终一致性的思想来实现数据的弹性。这意味着数据不是象块存储那样以同步的方式在整个OpenStack集群里复制,而是在zone之间以一个后台任务的形式进行复制,这在系统高负载的情况下也许会挂起或者失败。

与块存储的同步复制提供高级别的可靠性功能相比,最终一致性也许看起来会更具风险。但是,在可扩展性,性能和弹性中总是得做出取舍。最终一致性使得一个记录归档比在一个基于块存储的系统更容易具备可扩展性,就Swift而言,代理服务器会确保取得最近一次的数据拷贝,即便在该集群里的一些服务器无法访问的时候。

和所有的OpenStack项目一起,随着每个版本的发布,Swift不断被开发出新的功能和功能增强。OpenStack Grizzly引入了更细粒度的replica控制,允许ring能够调整replica的数量。另外,通过基于对象服务器的时间排序的思想,改善了对象读取的性能。使得数据能够通过最快响应速度的对象服务器传递,这对于扩展到广域网很重要。

由于Swift使用HTTP协议,这样在OpenStack里使用第三方存储方案,包括Cleversafe,Scality的产品或者类似于Amazon Web Service简单存储服务(S3)这样的公有云,进行对象存储的做法会非常实用。

Swift还是Cinder?做出正确的选择

很显然Swift和Cinder为完全不同类型的数据需求服务。对象存储(通过Swift)被设计成专门针对诸如媒体,镜像和文件之类的对象型数据的高可扩展性存储。这些系统的重点在于能够大量扩展数据而不依赖于那些类似RAID的传统存储拥有的特性。但是,最终的一致性模型意味着Swift不适合存储像虚拟机这样的数据。

尽管Swift使用元数据来追踪对象和他们的版本,对象存储仍然需要额外的逻辑来追踪所存的对象上的用户元数据。这部分将需要用户自己来构建到应用程序中去。

Cinder提供块存储组件来存储持久化对象,比如虚拟机和定期在数据库中更新的数据。块存储的功能可以在整个OpenStack集群中实现,通过一些商用组件,使用内置的工具,如服务器逻辑盘管理器或者NFS,来传输存储资源。另外,开源解决方案如Ceph的和GlusterFS,提供从OpenStack的主代码中单独打包OpenStack存储模块的能力,同时仍保留可以使用开源软件的灵活性。

随着Cinder的广泛支持,现有的传统存储方案可以用到OpenStack部署环境中来提供存储服务。当一个IT组织已经具备了这种技术并且硬件平台也到位的情况下,这也许是他们更愿意采用的方式。现有的存储平台技术已经很发达,并且支持一些存储优化的高级功能,比如精简配置,重复数据删除和压缩。许多现在还提供服务质量(比如HP的3PAR StoreServ和SolidFire的平台),让它们适合在混合工作负载下而不是单纯的用于OpenStack的部署。其结果带来的一个显著的益处就是,可以将“繁重”的任务卸载到一个外部存储阵列。

在做出使用一个特定平台的决策中,系统架构师们需要权衡风险与使用OpenStack“免费”方案(仍然需要硬件)或者使用专属硬件提供的功能所花费的成本。

OpenStack存储备份

最后,我们应该考虑在OpenStack里备份数据的需求。备份OpenStack环境中的关键配置组件的具体细节已经有很好的文档描述,但是备份在一个OpenStack集群里的数据被视为用户自己的责任。备份可以通过使用外部存储供应商来轻松实现,比如说,SolidFire提供将整个集群备份到AmazonS3或者Swift兼容的对象存储中的功能。或者,用户将需要查看现有的支持他们的OpenStack虚拟机管理程序的备份产品。

Raksha是一个新的项目提议,将备份即服务的功能集成到OpenStack的框架中。会同时支持完全及增量的虚拟机备份到一个Swift“端”,并能让应用保持一致性。Raksha目前是一个独立的项目,不属于核心OpenStack框架。要将它集成到一般的类似VSphere和Hyper-V这样的虚拟化平台中会需要花一些功夫,但是至少可以提供一个更整合的解决方案来对OpenStack环境中的数据进行保护。