如何基于openstack管理配置数据

如何基于openstack管理配置数据,第1张

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

Swift:对象存储

Cinder:块存储

Nova:虚拟机计算

Neutron:网络

Horizon: 仪表盘

Keystone:认证服务

Glance:镜像服务

Ceilometer:遥测

Heat:编排

Trove:数据库即服务

随着每一个OpenStack的代码发布(目前是第九个版本,叫做IceHouse),新项目被创建或者从已有的项目上“分支”出来或者开一个全新的分支,包括用于裸机管理的Ironic以及会在OpenStack的Juno版本中发布的Sahara,用于d性MapReduce。

数据服务由以上的五个组件来提供。Swift是一个子项目,为OpenStack基础架构提供对象存储的功能。块存储由Cinder提供,使用标准的象iSCSI和NFS这样的IP存储协议。Glance为VM镜像提供一个知识库,使用底层的基本文件系统或者Swift作为存储。Trove提供数据库即服务 (DBaaS) 的能力,而Sahara提供d性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的概念来管理数据的d性。一个zone是一个ring的子部件,用于提供数据的一个拷贝,多个zone则用来存储冗余的数据拷贝,被称为replica(默认最少3个)。Swift能用一个单独的磁盘或者服务器来代表一个zone,包括数据中心之间的数据地理分布。

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

与块存储的同步复制提供高级别的可靠性功能相比,最终一致性也许看起来会更具风险。但是,在可扩展性,性能和d性中总是得做出取舍。最终一致性使得一个记录归档比在一个基于块存储的系统更容易具备可扩展性,就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环境中的数据进行保护。

OpenStack覆盖了网络、虚拟化、 *** 作系统、服务器等各个方面。它是一个正在开发中的云计算平台项目,根据成熟及重要程度的不同,被分解成核心项目、孵化项目,以及支持项目和相关项目。每个项目都有自己的委员会和项目技术主管,而且每个项目都不是一成不变的,孵化项目可以根据发展的成熟度和重要性,转变为核心项目。截止到Icehouse版本,下面列出了10个核心项目(即OpenStack服务)。

计算(Compute):Nova。一套控制器,用于为单个用户或使用群组管理虚拟机实例的整个生命周期,根据用户需求来提供虚拟服务。负责虚拟机创建、开机、关机、挂起、暂停、调整、迁移、重启、销毁等 *** 作,配置CPU、内存等信息规格。自Austin版本集成到项目中。

对象存储(Object Storage):Swift。一套用于在大规模可扩展系统中通过内置冗余及高容错机制实现对象存储的系统,允许进行存储或者检索文件。可为Glance提供镜像存储,为Cinder提供卷备份服务。自Austin版本集成到项目中

镜像服务(Image Service):Glance。一套虚拟机镜像查找及检索系统,支持多种虚拟机镜像格式(AKI、AMI、ARI、ISO、QCOW2、Raw、VDI、VHD、VMDK),有创建上传镜像、删除镜像、编辑镜像基本信息的功能。自Bexar版本集成到项目中。

身份服务(Identity Service):Keystone。为OpenStack其他服务提供身份验证、服务规则和服务令牌的功能,管理Domains、Projects、Users、Groups、Roles。自Essex版本集成到项目中。

网络&地址管理(Network):Neutron。提供云计算的网络虚拟化技术,为OpenStack其他服务提供网络连接服务。为用户提供接口,可以定义Network、Subnet、Router,配置DHCP、DNS、负载均衡、L3服务,网络支持GRE、VLAN。插件架构支持许多主流的网络厂家和技术,如OpenvSwitch。自Folsom版本集成到项目中。

块存储 (Block Storage):Cinder。为运行实例提供稳定的数据块存储服务,它的插件驱动架构有利于块设备的创建和管理,如创建卷、删除卷,在实例上挂载和卸载卷。自Folsom版本集成到项目中。

UI 界面 (Dashboard):Horizon。OpenStack中各种服务的Web管理门户,用于简化用户对服务的 *** 作,例如:启动实例、分配IP地址、配置访问控制等。自Essex版本集成到项目中。

测量 (Metering):Ceilometer。像一个漏斗一样,能把OpenStack内部发生的几乎所有的事件都收集起来,然后为计费和监控以及其它服务提供数据支撑。自Havana版本集成到项目中。

部署编排 (Orchestration):Heat [2] 。提供了一种通过模板定义的协同部署方式,实现云基础设施软件运行环境(计算、存储和网络资源)的自动化部署。自Havana版本集成到项目中。

数据库服务(Database Service):Trove。为用户在OpenStack的环境提供可扩展和可靠的关系和非关系数据库引擎服务。自Icehouse版本集成到项目中。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9606310.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存