① 如何使用OpenStack,Docker和Spark打造一个云服务
从一项颠覆性的技术成果转化并衍生出一整套社区体系,Docker在发展速度上打破了一个又一个历史纪录。然而,Docker项目在采纳与普及方面表现出惊人态势的同时,也给我们带来了一系列疑问与困惑。在今天的文章中,我希望将注意力集中在朋友们最为关注的评论议题身上。随着Docker项目在人气方面的持续飙升,很快刚刚接触这一新生事物的读者在实践过程中不禁产生了这样的疑问:如果已经决定使用Docker,是否还有必要同时使用OpenStack?在给出自己的观点之前,我打算首先就背景信息入手为各位进行讲解,从而更为透彻地认清这个命题背后所隐藏的理论基础。背景信息从最为简单的构成形式出发,Docker实际上旨在提供一套能够在共享式基础设施之上对软件工作负载进行管理的容器环境,但同时又确保不同负载之间彼此隔离且互不影响。以KVM为代表的虚拟机系统所做的工作也差不多:创建一套完整的操作系统堆栈,通过虚拟机管理程序将与该系统相关的设备囊括进来。然而与虚拟机解决方案的区别在于,Docker在很大程度上依赖于Linux操作系统所内置的一项功能——名为LXC(即Linux容器)。LXC利用内置于操作系统当中的各项功能将不同进程的内存进行划分,甚至能够在一定程度上拆分CPU与网络资源。Docker镜像不需要像一套全新操作系统那样进行完整的引导过程,这样一来软件包的体积就能得到大幅压缩、应用程序运行在共享式计算资源之上时也将具备更为显著的轻量化优势。除此之外,Docker还允许工作负载直接访问设备驱动程序、从而带来远超过虚拟机管理程序方案的I/O运行速度。在这种情况下,我们得以直接在裸机设备上使用Docker,而这就带来了前面提到的核心问题:如果已经使用了Docker,我们还有必要同时使用OpenStack等云方案吗?前面的结论绝非信口开河,BodenRussell最近针对Docker与KVM等虚拟机管理程序在性能表现上的差异进行了基准测试,并在DockerCon大会上公布了测试结果。本次基准测试提供相当详尽的具体数据,而且如预期一样,测试结果显示引导KVM虚拟机管理程序与引导Docker容器之间存在着显著的时间消耗差异。本次测试同时表明,二者之间在内在与CPU利用率方面同样存在着巨大区别,具体情况如下图所示。红色线条为KVM,蓝色线条为Docker。这种在性能表现上的显著区别代表着两套目的相近的解决方案在资源密度与整体利用率方面大相径庭。而这样的差异也将直接体现在运行特定工作负载所需要的资源总量上,并最终反映到实际使用成本当中。结论整理·上述结论并不单纯指向OpenStack,但却适用于OpenStack以及其它与之类似的云基础设施解决方案。在我看来,之所以问题的矛头往往最终会被指向OpenStack,是因为OpenStack项目事实上已经在私有云环境领域具备相当高的人气,同时也是目前我们惟一会考虑作为Docker替代方案的技术成果。·问题的核心不在于OpenStack,而在于虚拟机管理程序!很多性能基准测试都将Docker与KVM放在了天秤的两端,但却很少将OpenStack牵涉于其中。事实上,前面提到的这次专项基准测试同时将OpenStack运行在KVM镜像与Docker容器环境之下,结果显示这两类技术成果能够带来理想的协作效果。考虑到这样的情况,当我们选择将OpenStack运行在基于Docker的Nova堆栈当中时——正如OpenStack说明文档提供的下图所示——那些资源利用率参数将变得无关紧要。·在这种情况下,云基础设施能够在容器或者虚拟机管理程序当中提供一套完整的数据中心管理解决方案,而这仅仅属于庞大系统整体当中的组成部分之一。以OpenStack为代表的云基础设施方案当中包含多租户安全性与隔离、管理与监控、存储及网络外加其它多种功能设置。任何云/数据中心管理体系都不能脱离这些服务而独立存在,但对于Docker或者是KVM基础环境却不会做出过多要求。·就目前来讲,Docker还不算是一套功能全面的虚拟化环境,在安全性方面存在多种严重局限,缺乏对Windows系统的支持能力,而且因此暂时无法作为一套真正可行的KVM备用方案。尽管正在持续进行当中的后续开发工作将逐步弥合这些差距,但抱持着相对保守的心态,这些问题的解决恐怕也同时意味着容器技术将在性能表现方面有所妥协。·另外需要注意的是,原始虚拟机管理程序与经过容器化的实际应用程序性能同样存在着巨大差异,而且下面这幅来自基准测试的图表清楚地说明了这一点。目前可能合理的解释在于,应用程序通常会利用缓存技术来降低I/O资源开销,而这大大影响了测试结果对真实环境中运行状态的准确反映。·如果我们将Docker容器打包在KVM镜像当中,那么二者之间的差异将变得可以忽略不计。这套架构通常利用虚拟机管理程序负责对云计算资源的控制,同时利用Heat、Cloudify或者Kubernetes等流程层在虚拟机资源的容纳范围之内进行容器管理。总结由此我得出了这样的结论:要想正确地看待OpenStack、KVM以及Docker三者之间的关系,正确的出发点是将其视为一整套辅助堆栈——其中OpenStack扮演整体数据中心管理方案的角色,KVM作为多租户计算资源管理工具,而Docker容器则负责与应用部署包相关的工作。在这样的情况下,我们可以汇总出一套通用型解决模式,其中Docker分别充当以下几种角色:·Docker提供经过认证的软件包,并保证其能够与稳定不变的现有基础设施模型顺利协作。·Docker为微服务POD提供出色的容器化运行环境。·在OpenStack之上使用Docker,并将其作用与裸机环境等同的运行平台。前面说了这么多,我确实亲眼见证过不少经过精确定义的工作负载实例,对于它们来说是否使用云基础设施仅仅是种自由选项而非强制要求。举例来说,如果我出于DevOps的目的而考虑建立一套小型自动化开发与测试环境,那么我个人更倾向于在裸机环境上直接使用Docker机制。而虚拟机与容器这两类环境之间,流程层将成为一套绝佳的抽象对接工具。将流程框架与Docker共同使用的一大优势在于,我们能够根据实际需求、随时在OpenStack以及裸机环境之间进行切换。通过这种方式,我们将能够选择任意一种解决选项——只要其切实符合我们流程引擎对于目标环境的具体需要。OpenStackOrchestration(即Heat)在最新发布的Icehouse版本当中已经明确表示支持Docker环境。Cloudify作为一款基于TOSCA的开源流程框架,原本适用于OpenStack以及VMware、AWS乃至裸机等云环境,而最近也开始将Docker支持纳入自身。谷歌Kubernetes主要面向的是GCE协作目标,但我们也能够通过自定义来使其适应其它云或者运行环境。
② 5岁的OpenStack为什么这么火
OpenStack的两面性
虽然OpenStack诞生不过5岁,如果用人类的标准衡量还是一名婴儿,但是它在简化云的部署、构建应用和服务、可扩展性、可管理性等诸多方面,都展现出了与其实际年龄不相称的强大力量。不久前,在遍布全球的169家机构和1500名开发者的集体贡献下,OpenStack刚发布了其第11个迭代版本kilo。除了大家耳熟能详的IBM、Rackspace、惠普、红帽等十几家IT巨头之外,就连VMware也成为了全球第一批通过OpenStack基金会官方互操作性测试认证的厂商。
作为一个新生项目,OpenStack为什么能够得到如此迅猛的发展?红帽大中华区总裁张先民博士一语道破:“因为众人拾柴火焰高。”
既然是做开源项目,那就绝对不能单打独斗,而是应该联合更多的合作伙伴通过建立生态系统来把市场做大做强。譬如红帽在中国就联合了英特尔、华为、联想、华胜天成等众多合作伙伴,一起来构建OpenStack生态系统。
③ openstack基金会是什么组织
概述
OpenStack基金会是OpenStack的全球独立家园,旨在推动OpenStack云操作系统在全球的发展、传播和使用。OpenStack基金会的目标是在全球范围内服务开发者、用户及整个生态系统,为其提供共享资源,以扩大OpenStack公有云与私有云的成长,从而帮助技术厂商选择平台,助力开发者开发出行业最佳的云软件。
OpenStack基金会它是一家非盈利组织,在2012年成立,SUSE的行业创新总监Alan Clark担任OpenStack基金会主席这一要职。OpenStack基金会分为个人会员和企业会员两大类。OpenStack基金会个人会籍是免费无门槛的,他们可凭借技术贡献或社区建设工作等参与到OpenStack社区中。而公司参与的会根据各司赞助会费的情况,分成白金会员、黄金会员、企业赞助会员以及支持组织者,其中白金和黄金会员的话语权最大,目前,OpenStack基金会的董事会有两名成员是来自于中国的公司,而整个基金会中黄金会员级别的公司中中国企业已经占据到3家,他们分别是华为、EasyStack和UnitedStack有云。
董事会成员选拔
OpenStack基金会董事成员包括24位,白金会员在董事会里的8名席位是固定的,不用参与竞选,而剩余的16位将是竞选得出,其中的8位要在所有黄金会员里进行角逐,方式是由黄金会员们在1天内投票决定,并且不对社区进行公开。另外的8位被称作个人独立董事,他们是由千万社区个人会员经过1周投票最终决定的。席位在基金会董事会里是可以影响OpenStack发展和建设方向的,重要性不言而喻,所以这也就成为了企业们对会员级别和董事会席位趋之若鹜的原因。
基金会企业会员的划分
说完了董事会成员的划分,再来看看企业会员都有谁,准确来讲,OpenStack基金会只允许最多8家白金会员资格和24家黄金会员资格。
白金会员仅限的8个席位已被AT&T、Canonical、惠普、IBM、英特尔、Rackspace、红帽和SUSE这8家囊括。
而黄金会员仅限24个席位,如下图所示包括了Aptira、CCAT、思科、戴尔、DreamHost、EasyStack、EMC、爱立信、富士通、日立、华为、inwinStack、Juniper Networks、Mirantis、NEC、NetApp、赛门铁克,UnitedStack 以及Virtuozzo这19家,目前尚有5个空缺位置。
OpenStack基金会主席Alan Clark告诉我们,社区对于个人会员而言是非常开放的,基本上向任何人敞开。但如果想要成为金牌会员的话,那么就必须要通过一系列的标准对后备公司进行审核,并且必须经由基金会、董事会成员批准。考核的首要一点就是要看他们是否对OpenStack社区做出了贡献。
④ Cloud Foundry是赢家吗
PaaS供应商Cloud Foundry已经正式从Pivotal分离出来,OpenStack背后厂商纷纷支持Cloud Foundry,甚至连OpenStack旗下的PaaS项目Solum主导者RackSpace也支持它,那么Cloud Foundry会是这场PaaS平台之争的赢家吗?
企业PaaS供应商Cloud Foundry 2月下旬已经正式从Pivotal分离出来,Cloud Foundry将通过Cloud Foundry基金会继续发展,旨在创建开源平台即服务(PaaS)产品,包括针对OpenStack和红帽的OpenShift平台开发的产品。Cloud Foundry作为一个开源项目已经获得Apache 2.0许可,这意味着Cloud Foundry的发展将会更加规范有序。
Cloud Foundry最近非常受欢迎,运行在OpenStack上,事实上其他一些PaaS系统也运行在OpenStack上,例如IBM的BlueMix PaaS解决方案是基于Cloud Foundry,而Cloud Foundry本身就是运行在OpenStack之上的。
现在OpenStack背后的重要支持者例如IBM、HP、Rackspace都加入了CF基金会,这是不是意味着OpenStack社区只满足于IaaS而不思进取了呢?——有趣的是Rackspace在不久前才宣布了自己的开源PaaS项目Solum。
有人认为Cloud Foundry基金会的发展,对于努力营造OpenStack PaaS的人而言就像是丧钟。OpenStack PaaS项目Solum成为这场争论的核心。Solum项目是由Rackspace推出的,但是现在连Rackspace也加入到了Cloud Foundry基金会中,因此,很多客户可能认为连Rackspace自己也支持Cloud Foundry,它的Solum项目会不会因此而废弃?
Rackspace副总裁John Igoe认为现在有两种类型的服务层受到我们客户的欢迎,关键取决于你是以PaaS为中心还是以IaaS为中心。以PaaS为中心的客户可能青睐Cloud Foundry的跨云可移植,而以IaaS为中心的客户可能看重Solum能够充分利用现有基础设施。
有意思的是,在众多厂商高调支持Cloud Foundry当中,唯独没有RedHat,Solum的命运对于Red Hat来说至关重要,Red Hat一直在推销自己的PaaS产品OpenShift,它希望借助Solum将OpenShift迁移到OpenStack,就凭这一点,Red Hat就是OpenStack的坚定支持者,所以这次它缺席Cloud Foundry基金会也就不足为怪了。
Piston的Josh McKenty建议Red Hat彻底关闭OpenShift加入Cloud Foundry。观察者认为Cloud Foundry基金会对它造成了威胁,由于Red Hat的OpenShift目前还没有获得任何大财团的支持,甚至有人推测RedHat最终将放弃OpenShift转投Cloud Foundry。因此与开源竞争对手OpenShift相比,Cloud Foundry现阶段无疑是PaaS项目中的赢家。
但众商围绕PaaS平台之争,归根结底都是受到商业利益驱使,OpenStack的PaaS项目Solum并不会因为CloudFoundry的剥离而停滞不前,RedHat的Openshift项目也不会因此被抛弃,直到荒芜,相反,它们还将继续向前发展,PaaS市场的竞争将更加激烈、更加多元,在这场竞争中唯一决定胜负的就是真正打动客户的产品。就像OpenStack的成员之间很难有真正的朋友,围绕在OpenStack和CloudFoundry两个生态系统之间的关系也是爱恨交加。
转载,仅供参考。
⑤ 重启openstack需要先关闭所有虚拟机吗
在Cloud领域,我们讨论最多的就是VMware与OpenStack的对比。事实上,这也是那些想使用OpenStack的人们热议的话题。我已经在SF Bay OpenStack会议中多次针对这个话题做了讨论,会议中很多朋友都希望我把这些讨论写下来。为了让读者能够更好地了解本文的内容,我决定通过两大云计算产品在数据中心应用的关键点对比的方式去完成本文的内容,内容可能包括:开放与非开放的软件系统,企业级传统应用与云计算应用,自由软件与授权软件,通过严格功能测试的产品与开放性功能的产品等。
本文中内容具体包括以下几个部分:设计、功能集、客户用例和价值,每点都以十分来评价,最终我们将以总分来决定赢家。
第一回合:设计
VMware软件套件是自底向上的架构,下端边界为虚拟机管理器。像VMware的vSphere和vCloud director产品都是依赖于免费的ESX(i) 虚拟机管理器, ESX(i)虚拟机管理器为他们提供了非常优秀的部署架构。本身VMware的软件套件也是经过全面测试过的,并且都有单一部署框架。总的来说,VMware的产品由于其架构的健壮性,很多高规格用户在多数据中心规模的环境中都有使用。换句话说,VMware的软件系统是封闭的,并且软件的发展路线是完全遵循VMware自己的发展目标,用户或消费者在此方面没有任何控制权。
OpenStack作为一个开源系统,没有任何一家单独的公司在控制OpenStack的发展路线。本身OpenStack是年轻的,还不满三周岁,但是他却具有巨大的市场动力,与此同时,很多大公司都在支持OpenStack发展(详见:OpenStack支持者)。有了如此多公司的资源投入,OpenStack的发展是多元化的。然而这也带来了问题,就是OpenStack部署和架构的实施和维护成本较比VMware有了陡然提高,与此同时,由于相对快速的版本更新速度,技术支持文档不能跟上产品的脚步。
设计评分
设计 功能 用例 价值
OpenStack 7
VMware 8
VMware在设计方面稍占优势,这源于它优秀的文档资料以及便捷易用的部署和管理接口。OpenStack在这个方面也在紧追不舍,并且在硬件和虚拟机管理层其保持了它自身的灵活性,更是提供了多厂商支持。
第二回合:功能
VMware vMotion
vMotion是vSphere DRS、DPM和主机维护三大功能的合集。其中虚拟机动态迁移允许将一台虚拟机在零关机的情况下由一台宿主机迁移到另一台上,这原本是需要共享存储的支持的,但在vSphere 5.1中,VMware已经不需要通过共享存储实现动态迁移了。当一台虚拟机由一个宿主机迁移到另一个上时,虚拟机的内存状态和数据都要同步迁移过去。如果是共享存储的情况,实际上数据是不需要进行迁移的,只需要变化指向数据存储的链接而已。这在加速了迁移速度的同时也减少了在复制过程中网络的负载。
OpenStack 动态迁移
KVM动态迁移允许一个虚拟机由一个虚拟机管理器迁移到另一个,说的详细一点,你可以来来回回将一台虚拟机在AMD架构主机与Intel架构主机上进行迁移,但是需要注意的是,64位的虚拟主机只能被迁移到64位的宿主机上,但是32位的则有32位和64位两种选择。在动态迁移过程中,不能再对虚拟机进行操作,但是虚拟机内的用户还是可以在虚拟机内部继续进行工作的。KVM主要还是依赖于共享存储,某种程度上,这相对来说是需要一些资金投入的。
动态迁移需求:
虚拟机存储需要放在分布式文件系统之上,如NFS或在GlusterFS
Libvirt必须要开启listen flag
每一个计算节点(虚拟机管理器)都必须在同一个网络/子网当中
计算节点间的认证必须提前完成配置
DFS的挂载节点在每一个计算节点必须保持一致
OpenStack块存储迁移
在OpenStack当中,KVM支持块存储迁移,这也就是说虚拟机迁移不是必须需要共享存储的支持的。在块迁移的场景下,虚拟机的内存状态与数据都将被迁移,但是迁移操作也需要消耗两端的CPU资源并且操作花费时间较比共享存储来说要长一些。在某些用户场景当中,如果我们比较关注于主机的可维护性,并且不想花费过多经费,那么应用块存储迁移将是好的解决方案。同时,如果在没有共享存储的环境中,我们想对计算节点进行内核维护、安全升级,那么保证虚拟机服务不被打断,块存储迁移也是理想选择。
用户场景:
用户没有分布式文件系统,可能是由于企业的资金支持或者网络延迟,但是却想实现虚拟机的高可用性。
VMware DRS 和 DPM
基于vMotion,DRS可以动态监控虚机机及宿主机的当前使用状况,并且为宿主机的负载均衡提供支持。
用户场景:
部署阶段:可以对监控虚拟机执行自定义自动化脚本
监控阶段:DRS可以在ESX(i)主机上分布式部署虚拟机,并且持续监控活跃虚拟机和可用资源,以动态迁移虚拟机来实现资源利用率最大化
基于vMotion, DPM将虚拟机从低负载宿主机迁移掉,并且关闭以达到减少电能损耗。当负载增长,DPM将宿主机重启,并且部署新的虚拟机以满足负载需要。
OpenStack 调度器
OpenStack包含了对于compute和volume的调度器,通过一系列的管理员设定的规则参数和过滤器,OpenStack调度器将虚拟机部署到合适的宿主机上。在过滤器方面,调度器是非常灵活的,用户可以自己完成JSON格式的过滤器,并且过滤器还包含很多预定义的过滤器。虽然OpenStack调度器非常灵活,但是还是不能完全替代DRS,原因如下:
调度器用于选择哪个宿主机进行虚拟机部署的静态参考数据来源于Nova的数据库。换句话说,就是发现宿主机已经有了4台虚拟机了,那么我们需要选择一个新的宿主机去部署下一台虚拟机。
调度器只能在虚拟机部署阶段影响部署的位置,一旦部署完成,虚拟机运行后则无法挪动虚拟机了。如果需要基于动态数据进行调度,那么调度器需要与外部监控解决方案如Nagios合作。总而言之,目前OpenStack调度器将只会对部署虚拟机环节有影响。
VMware High Availability(高可用)
在vSphere中,虚拟机级别的高可用性是允许在虚拟机或者ESX(i)主机出错时,在不同宿主机部署相同的虚拟机。这里不要和容错(FT)机制混淆,高可用的意义在于当有一些东西出错了,可以在一定时间内自我修复。高可用是在硬件出问题的时候保证虚拟机的正常个工作,如果真的出错了,那么只能在不同的ESX(i)主机上启动虚拟机,这也可能造成服务的中断。
OpenStack High Availability(高可用)
目前并没有官方声明OpenStack支持虚拟机级别的高可用性,这个特性在Folsom版本被提出,但是后续又被放弃了。目前OpenStack有一个孵化项目Evacuate, 其作用是为OpenStack提供虚拟机级别高可用支持。
VMware Fault Tolerance(容错)
VMware容错机制是通过监控虚拟机的状态和所有变化,将这些变化同步到第二台备份ESX(i)服务器之上。容错的概念在于无论是主还是从宿主机出现问题,只要一方能正常工作,那么宿主机上的虚拟机都保持正常工作。抛开营销中的噱头,这种机制还是无法解决虚拟机中的应用程序崩溃,因为一旦一方崩溃,则这个变化也会同步到从节点,当你停止虚拟机的服务去修复它,从节点也会同样停止服务。所以这个机制只能保证单点失效的问题不再出现,而真正的应用层面的容错则需要MSCS或者WCS来解决。考虑到其他方面如最高资源使用、内存、硬盘、CPU、带宽的容错,这些方面都有局限性,并且是使用量相对比较小的功能。如实现这些则这需要双倍的内存,由于内存不能跨主机复制,并且还需要CPU lockstepping去同步每一个CPU指令。这将导致只有单独一个虚拟CPU被容错机制所监控。
OpenStack Fault Tolerance(容错)
在OpenStack中没有针对于容错的功能,并且截至目前也没有计划去完成这些功能。未来,KVM也不再支持镜像操作功能。
功能评分
设计 功能 用例 价值
OpenStack 7
6
VMware 8 9
我们可以看到,在功能的支持方面和功能细节,OpenStack与VMware还是有差距的,但是这对OpenStack还是有优势的,因为较比VMware的昂贵价格,OpenStack免费、开放的优势显现出来。VMware高投入带来的功能,OpenStack大部分可以免费提供给客户。
从VMware在功能方面的领先可以看出,VMware还在继续研发除了vMotion、高可用、容错以外其他的新功能去保护他们的虚拟机;OpenStack一方面跟随VMware的脚步,另一方面他们投入精力在支持更多硬件厂商解决方案的上面。
第三回合:用例
在我们评价上述功能的价值之前,首先我们需要考虑用例问题。在云计算生态系统中,有两种类型的用户需要使用云计算资源:传统型和云计算应用型。云计算应用型用户将自己处理HA和DR策略,而传统型用户将依赖于云平台提供的HA和DR。看下面出自VMware云计算架构文章的图表。
云计算型应用共同特点
分布式
无状态、软状态
失效切换在应用端
扩展性在应用端
传统型应用共同特点
客户端-服务器架构
难以横向扩展
失效切换在服务端
扩展性在服务端
传统型应用将需要如FT、VM级别的高可用性、自动病毒扫描等功能,而云计算型应用则不需要,当一台虚拟机出问题后,新的一台虚拟机将替代它。
Pet vs. Cattle
换一种思路去想这件事,那就可以从微软 William Baker的出名文章 Pets vs. Cattle 的比喻看出OpenStack和Vmware的关系。
比喻是这样说的:在传统服务模式下,你可以想象你的主机就是你的宠物,你给他们取名字,比如sty、cern等等,他们被精心抚养长大。当他们生病了,你得修复他们。在云计算型应用服务模型中,虚拟机被看做是农场中的公牛,他们的名字通常都是编号,牛和牛长得也差不多,当他们生病了,你就杀掉他,用一头新牛代替。
未来的云应用架构应该像对待农场中的公牛一样。VMware的保养、保护虚拟机的各种功能较比云计算型应用模式变得越来越不那么重要了。
用例评分
设计 功能 用例 价值
OpenStack 7
6 8
VMware 8 9 6
在这轮比赛中,OpenStack追了上来,虽然VMware有很多OpenStack所不具有的功能,但是针对云计算型应用,这些功能变得不那么重要。未来,你很可能为那些你用不上的、不可控的VMware添加功能买单。
第四回合:价值
现在是最后一回合,我们将决定比赛结果。虽然,OpenStack还是VMware更有价值,这个问题并没有很清晰的答案,并且答案也取决于部署规模。虽然OpenStack是免费使用的,但是他需要有大量工程资源和领域专家才行,并且他还需要很多架构和搭建方面的工作,因为它支持很多部署场景,并且安装过程都不尽相同。VMware则需要花费一些经费购买权限,并且相对来说更加容易安装和运行,另外较比命令行,VMware则学习成本更低一些。
总得来说,OpenStack入门门槛较高,但是随着项目规模的扩大,你将从中受益,因为不必支付高额的版权费用。VMware虽然在小规模安装时相对容易,但是随着规模扩大,事情就变了。这就是说,随着云应用大规模化,大家也更加熟悉OpenStack,那么OpenStack的入门门槛就低得多了。
⑥ 华为 fusion cube 存储虚拟化用的是什么技术
OpenStack峰会在法国巴黎如期举行,各界共商云软件的未来。OpenStack会执行总监Jonathan Bryce提到“被动的技术应用已经成为历史,取而代之的是由软件定义的存储、网络及数据中心”。这一简短有力的发言引起了强烈的共鸣和反响。
Jonathan Bryce的主题发言的指出了一个不可否认的事实,即:越来越多的企业使用了按需分配资源的云系统。软件带来了经济的不断发展,创新不再是掌握所有权的大型机构的专利了,而真正的创新是来自不同国家的数百家公司成千上万的人一起合作的成果。
Openstack提供开源软件的框架,简化了基于云系统的管理模式。虽然只有短短四年,但无论是从齐聚巴黎分享优秀实践的峰会创下与会人数的历史记录——4,600开发者及用户,还是将首个Superuser大奖授予了CERN——World Wide Web的创始者,用3000个服务器7万核组成了全球最大的OpenStack集群,这些无一不证明了OpenStack的成功。显然,企业用户已经认识到了这一点,并利用OpenStack来实现企业规则的改革。
基于OpenStack的FusionSphere
华为是应用OpenStack架构的公司之一,而且OpenStack已经被深度融合进华为的一系列IT产品。 OpenStack满足了云时代这类公司针对日益灵活的IT系统的管理需求。在步入云计算领域时面对系统日益灵活的管理需求。
华为云计算产品线营销总监张建华提到“随着计算能力、存储及网络对硬件的依赖性下降,我们正在创建我们自己的软件来满足基于软件定义资源的需求。”
他指出,Openstack虽然可以像胶水一样将整个系统粘合在一起,但它只是个基础。华为FusionSphere云操作系统产品在OpenStack框架的基础上还增加了不同的安全级别,并且使用户能充分利用OpenStack提供的互通特性最新的FusionSphere 5.0还允许私有云用户连接像亚马逊这样的公共云。
通过使用OpenStack,华为FusionSphere能够管理来自不同厂家的虚拟服务器、存储、网络资源以及虚拟安全与负载均衡等设备。FusionSphere可以兼容作为云计算基础的异构虚拟化层,且物理服务器虚拟化使FusionSphere能够根据企业当前的需求完成不同的任务。如hypervisor,一个虚拟化多个物理系统的虚拟化层软件,可以由不同供应商提供,使FusionSphere能够很好地与已有设备或软件配合完成相应任务。
软件定义的基础设施
和传统的基于硬件的系统相比,软件定义的数据中心具有很多优势。软件定义数据中心可以分解为软件定义计算、软件定义存储和软件定义网络。例如,软件定义网络将网络的管理和只能路由功能抽取到软件实体中,并且提供API供用户按照应用的需要对网络进行编程,从而实现业务驱动网络;而实际数据交换功能则交付给专用的数据交换硬件设备,交换设备只专注于数据交换,这样大大提高了数据交换的效率。软件定义的数据中心具备很强的系统自愈能力。
那些对上述云计算的保障机制需求强烈的企业,软件定义的数据中心无疑具有强烈的吸引力。张建华还提到了电信运营商,“通常,这些公司很依赖硬线技术,但是目前的大量流量都不是通过传统的电信网络传输。运营商需要改变来提供更多的IP服务”。Openstack与FusionSphere提供了像互联网一样的架构,从而能够解决这些问题。他还补充到“运营商需要一个既懂得传统架构又懂得新模式的合作伙伴才能迈进新纪元。他们还需要开放架构的解决方案,以避免受限于某一单一模式。”
OpenStack实现电信NFV变革
Telefonica意识到华为正是这样的合作伙伴。因为这个原因,电信巨头Telefonica决定采用华为FusionSphere集中管理其软件、硬件以及数据中心。鉴于FusionSphere的统一调度与管理优势,Telefonica在英国的运营商O2,在部署FusionSphere后的TCO大幅降低了约30%。FusionSphere通过三个方面实现客户价值:运营维护(O&M)、业务管理、以及业务控制。另外,FusionSphere架构也将支持Telefonica的后续升级。
另外一个电信巨头,沃达丰,也部署了FusionSphere来管理其基于PLEX系统的数据中心,以便管理不同厂商的资源和未被充分利用的资源,降低操作维护费用。公有云和私有云都在以这种模式进行管理,资源按需求动态分配,必要时业务也可以跨云迁移。
除了电信领域外,OpenStack也为其他领域带来了好处。汇港资讯有限公司采用华为OpenStack连通了香港经纪人与上海证券交易所。中国的一些政府部门的业务系统也通过部署华为云产品,体验到了这种IT架构的优势,华为的云产品可以为其消减成本、提高效率。
在OpenStack 峰会最后,华为的云计算产品线首席技术官,王海鹰,上台分享了华为成为OpenStack会金牌会员的前景。他讲到“从长远看,华为将会继续促进OpenStack与NFV的融合。我们也希望与所有领域伙伴合作构建一个健康的OpenStack系统”。我们正在进步。OpenStack已经有17,141个个人会员,432个支撑公司,以及两千万行代码,这也证明了企业已经准备好迎接更敏捷的IT方案。这个方案将不仅能够满足当前需求,而且能够灵活地控制未来的方案。华为FusionSphere,FusionCube(软硬件云管理一体机)以及其他的云产品正是这样一套既适应今天又能管理未来的强大的工具。
评论
请先登录,再发表评论
敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。
OpenStack开发云计算
OpenStack目标:解决实施中的瓶颈问题
OpenStack Neutron:云服务中的开放网络
Salesforce或“登陆”OpenStack
Gartner分析师再次抨击OpenStack“太嫩”
红帽:Havana增强OpenStack的开发动力
云计算疆场烽烟:OpenStack叫板Amazon
OpenStack你了解生态系统的价值吗?
企业对OpenStack Havana热情高涨 期待Icehouse
OpenStack是否已为IPv6做好准备?
OpenStack Havana新增云网络功能
企业部署OpenStack:该做与不该做的事
DIY云计算:OpenStack当积木
OpenStack私有云满足高IO需求
OpenStack互操作驾到:开源云平台选择更自由
失败案例!OpenStack没你想的那么简单!
SUSE OpenStack Cloud 5简化私有云管理
如何构建OpenStack存储云
企业用户为何选择OpenStack
使用OpenStack能开发企业私有云吗?
OpenStack在混合云战略中位置在哪?
OpenStack云功能激发厂商支持
云计算开源运动:厂商争先公开源代码
OpenStack私有云DR的益处比其TCO更显而易见
OpenStack企业~~进程举步维艰
EMC收购Cloudscaling对OpenStack应用意义何在?
红帽1.75亿美元收购Inktank
红帽 9,500万美元收购eNovance
思科收购Metacloud
惠普1亿美元收购Eucalytpus
EMC 5,000万美元收购Cloudscaling
2014 OpenStack收购案盘点
华为持续重磅投入OpenStack 巴黎峰会全面展示开放云
谁还敢于挑战OpenStack的权威?出列!
预测到2018年OpenStack市场规模将达到33亿美元
网易OpenStack部署运维实战
红帽公司发布 OpenStack Platform 5
开源云平台:顶级OpenStack厂商一览
OpenStack为技术宅提供了“拯救世界”的平台
OpenStack之小企业使用技巧
OpenStack现状:四年后仍“不温不火”
小型企业如何成功牵手OpenStack?
OpenStack:叫好不叫座
IBM Cloud Manager将OpenStack与服务器关联
OpenStack现在可配置NoSQL
云计算战争OpenStack vs VMware:设计与功能
云操作系统OpenStack:优势与问题并存
Riverbed加入OpenStack社区:协作开发基于开源标准云解决方案的优化先锋
Rackspace将拆分开源云计算软件OpenStack
如何使用Puppet安装OpenStack Nova云?
Cloud.com将要合并OpenStack代码库
如何建立高可用OpenStack云?
OpenStack里的三种存储
OpenStack Grizzly发布 推进可扩展性和高可用性
OpenStack最新版本Grizzly新增部分功能一览
面对云锁定的抉择:OpenStack还是专有云平台?
四种方案将OpenStack部署到Hadoop
如何成功实施OpenStack和CloudStack项目
Mark Collier:OpenStack API兼容AWS
三载风雨铸就Openstack今日辉煌
⑦ 关于OpenStack的未来,你还会继续看好吗
不会继续看好了,OpenStack基金会成立,专门有一个TC,技术委员会,负责OpenStack的技术方向,经过几年的发展,基本已经成为的养老院和老油条。从2015搞的big tent,大帐篷项目,就是信心过于膨胀,项目从10个暴涨到50多个,不到1年的时间,问题就暴露出来。一直到今天,OpenStack项目还是在不断增加,项目参与人手在不断减少。大量的僵尸项目,没人愿意站出来当丑人,直接把项目砍掉。对比CNCF基金会,目前据说有500多个项目在排队等待孵化批准,批准进入孵化阶段门槛都是非常高,更别说毕业。
⑧ openstack为什么需要整合ceph
Ceph 是一个符合 POSIX (Portable Operating System for UNIX®)、开源的分布式存储系统,依据 GNU 次通用公共许可而运行。该项目最初由 Sage Weill 于 2007 年开发,该项目的理念是提出一个没有任何单点故障的集群,确保能够跨集群节点进行永久数据复制。
与在任何经典的分布式文件系统中一样,放入集群中的文件是条带化的,依据一种称为 Ceph Controlled Replication Under Scalable Hashing (CRUSH) 的伪随机的数据分布算法放入集群节点中。
Ceph 是一种有趣的存储替代方案,这得益于它实现的一些概念,比如元数据分区,以及一种复制或放置组策略(将一系列对象聚合到一个分组中,然后将该分组映射到一系列对象存储后台进程 (OSD))。
这些特性支持自动扩展、恢复和自主管理集群,因为他们使用以下绑定(在不同的级别上)提供了与您的 Ceph 集群的交互方式:
Reliable Autonomic Distributed Object Store (RADOS) 网关是一种 RESTful 接口,您的应用程序可与其通信,以便将对象直接存储在集群中。
librados 库是一种访问 RADOS 的便利方式,它支持 PHP、Ruby、Java™、Python 和 C/C++ 编程语言。
Ceph 的 RADOS 块设备 (RBD) 是一个完全分布式的块设备,它使用一个 Linux® 内核和一个 Quick EMUlator (QEMU)/基于内核的虚拟机 (KVM) 驱动程序。
原生 CephFS 是一个分布式文件系统,全面支持 Filesystem in Userspace (FUSE)。
如 图 1 中所示,Ceph 生态系统可分解为 5 个组成部分:
librados 库
RADOS 网关
RBD
CephFS
集群中的各种节点
图 1. Ceph 生态系统
Ceph 生态系统原生支持许多与其交互的方式,这使得在已运行的基础架构中集成它变得既轻松又便捷,即使它执行的是一个在统一项目文件中提供块和对象存储功能的复杂任务。
接下来我们来看一下组成 Ceph 的各个部分以及它们在 Ceph 中分别扮演的角色。
RADOS 对象存储
图 1 表明 RADOS 对象存储是存储集群的基础。对于通过众多客户端或网关(RADOSGW、RBD 或 CephFS)执行的每个操作,数据会进入 RADOS 或者可以从中读取数据。图 2 显示了 RADOS 集群,它包含两个后台守护进程:Ceph 对象存储后台进程 (OSD) 和维护集群映射的主要副本的 Ceph 监视器。
图 2. The RADOS 对象存储
集群映射描述了对象块的物理位置,以及一个将设备聚合到物理位置的 “桶” 列表。该映射由 Ceph 的高级放置算法控制,该算法在物理位置上建模逻辑位置。图 3 描绘了集群内的 “池”,即存储对象的逻辑分区。每个池被动态映射到 OSD。
图 3. RADOS 位置分组
现在让我们看看第一组后台进程 OSD,然后再看看监视器,最后看看属于 CephFS 分布式文件系统的 Ceph 元数据服务器。
回页首
OSD
OSD 是访问文件系统并向其中写入数据的后台进程,它提供了通过集群网络访问文件系统的能力。要让集群正常运行,Ceph 开发人员建议使用 XFS(Silicon Graphics 日志文件系统)或 B 树文件系统 (Btrfs) 作为用于对象存储的文件系统。也可使用第 4 代扩展文件系统 (ext4),但它未提供 XFS 和 Btrfs 为 Ceph 提供的功能。
在本示例中,XFS 部署在所有存储节点上。图 4 演示了 Ceph OSD 如何与物理存储交互。
⑨ 在openstack虚拟机和swift什么关系
OpenStack其实有三个与存储相关的组件,这三个组件被人熟知的程度和组件本身出现时间的早晚是相符的,按熟悉程度排列如下:Swift——提供对象存储(ObjectStorage),在概念上类似于AmazonS3服务,不过swift具有很强的扩展性、冗余和持久性,
⑩ 为什么容器对 OpenStack 来说很重要
容器化不是一个革命性想法——容器技术已经存在很多年并且被大量应用程序所使用,但现在,容器几乎不考虑系统体结构。
今天,相信很多人都听说过Docker。一年多以来,很多公司都在评估Docker,也有很多公司想要使用Docker,但是很少公司真正把Docker应用在生产环境中。那这一年发生了什么变化呢?
Docker让容器化变得更加简单。
在Docker出现之前,运行容器需要成群的骇客,需要对整个系统有深入的理解,还需要一定的勇气。进程隔离或者网络堆栈是存在已久的一些技术,想想FreeBSD中的Jails或者其他类似的工具。但现在有了Docker,只需要使用( docker)命令就能在几秒钟内让一些东西运行起来。
即时满足感不是Docker成功的唯一原因。大量免费应用程序的镜像能够吸引很多想要快速部署微服务以达到更大体系架构的人,但这些人不希望每次都重新部署虚拟化堆栈。
事实上,避免了虚拟化堆栈,相对于虚拟机几分钟的启动时间,容器能够在数秒之内启动,这加快了整个基础设施的部署。
当然,容器也不是完全没有问题,例如安全性和其他一些不够成熟技术带来的问题。在关键系统上运行容器之前这些问题都需要被解决,但容器化对于所有人来说都是一种期待。
容器是什么,容器的结构是什么,它们和虚拟机的关系是什么 很多人将容器比作虚拟化,但是容器并不能运行所有的东西。例如,你不能在一个容器中设置iptables的防火墙规则;因为容器共享了宿主机的内核,它们不像虚拟机一样抽象化了硬件层。由于缺乏经验,在你开始使用容器之前,将容器看成一种“简单虚拟化”工具会给你的业务层埋下潜在的危险。
显然我们需要花时间更好地理解容器,那他们是什么?
容器是一种技术,这种技术让开发者下载一些基础镜像,载入他们的应用程序,拆分成几个组件,在持续集成系统上一一部署和测试,然后将这些组件注册到仓库中,让系统工程师在现存的基础设施上进行部署,然后发布给外界使用。
一个容器是操作系统层虚拟化特征的一种抽象。通过开拓这些特征,容器系统能够将进程和网络隔离成类似于系统沙盒的东西,因此将一个应用程序载入一个容器就好像把它从操作系统上隔离出来一样:在容器中的进程是独立的;它们看到的是自己的文件系统,也能够与外界进行通信等等。很多能够跑在虚拟机里的应用程序也能够跑在容器里面。
容器和虚拟机的不同在于解耦了虚拟化堆栈;虚拟机将内核到用户空间二进制文件与库文件再到应用程序本身的一切都压入了堆栈中进行隔离和独立存放。而容器管理程序则让容器使用相同的内核,共享相同的用户空间二进制文件,共享其他的库文件,然后让应用程序直接运行在这些层上。
一个镜像可以作为其他镜像的Base。在Docker中,在一个镜像之上构建新镜像来获得功能结果非常正常。你也许会在一个Ubuntu镜像上添加Apache 2.4 web服务器来构建一个基于Web的微服务,然后生成新的镜像。
镜像是容器运行的基础,你需要在镜像(building block)上启动一个容器(runtime)。镜像中包括了容器的应用程序,类似于一个快照但是还具备两个额外的特征。首先,它们在用户空间文件系统之上进行构建,能够进行堆叠和共享一些内容。其次,它们可移植。这就允许用户在不同的系统上使用相同的镜像,重新利用这些镜像或者通过公共仓库提供给其他用户使用,并且能够轻松地更新这些镜像,然后存放到任何地方。
容器类型 最开始的时候是chroot。Chroot()是*NIX操作系统内核的一个系统调用,用来改变当前运行进程的root目录。进程运行在chroot jail(环境名称)上并不知道真实文件系统的root目录,但知道user choice的表层root目录。
这个函数能够让你隔离应用程序,让进程将其他目录视为根目录,例如将 /mnt/root视为 /。这就意味着应用程序只能看到 /mnt/root上的文件,因此构建一个完整的环境来运行这个应用程序需要 /mnt/root目录下构建软件完整目录树的操作权。包括存放二进制文件的 /bin目录,存放用户空间程序与库文件的 /usr目录,存放配置的 /etc目录等等。这些操作没那么容易,特别是对于更加复杂的应用程序来说,就更难了。
LXC是历史上第一个试图普及容器化技术的工具。和Linux容器生态系统的其他工具一起,LXC成为了容器化系统中被广泛采用的工具。它完成了一套系统API让Linux内核的容器特征能够被用户层使用:在不脱离Linux标准下通过共享内核,LXC在chroots和虚拟机之间构建了一个体系结构。
Docker Docker是最具有吸引力的一种容器技术,它易于理解,可快速启动,运行方式简单,同时带来了容器编排工具的一个巨大生态系统。
从工程角度,Docker通过API实现,它有自己的服务端(daemon),命令行客户端以及从注册中心到精美UI界面等大量可以使用的工具。
Docker的强大在于之前提到的chroot、进程分组、进程隔离等功能都可以通过它的一些命令来实现。在其他容器化技术中开发人员或者管理人员需要频繁手动操作的一些事情,例如拉取补丁、工具与部署等,在Docker中已经不在需要,因为所有的操作都封装在了命令行客户端工具 docker中。
客户端和REST API都是与Docker服务端进行交互,它是可以远程访问的一个标准可接入守护进程,用来接收和处理所有的请求。这个守护进程负责在Docker宿主机之上操控镜像和容器,并已经通过IANA官方确认,将端口绑定到tcp/2375和tcp/2376。
Docker最初基于LXC,但现在放弃了LXC,而使用Libcontainer。Libcontainer通过GO完全重写了用来抽象Linux内核虚拟化机制的基础库和API。
Open Container Initiative的细节 随着Docker的成功,引发了更多类似产品的出现:CoreOS的Rkt、亚马逊的容器服务(Amazon Container Service)、Apcera的Kurma等等。这种分化发展不由让人担心容器技术领域的分裂,好在通过今年在旧金山举办的DockerCon15,这些组织已经开始共同努力,期望为容器创建统一的格式。这就是 Open Container Initiative的由来,它基于Linux基金会,致力于为容器镜像和容器的运行制定标准化。通过Open Container规定格式创建的容器可以在不同的生态环境中共存。Open Container Initiative的成员包括了所有的容器参与者,例如亚马逊(Amazon)、CoreOS、谷歌、Oracle等等,当然也包括Docker。
Open Container的规格说明书(github地址为 https://github.com/opencontainers/specs)还在制定过程中,鼓励所有的组织或者个人都可以参与其中。到目前为止依据不同平台和内容、工业级别交付流程以及自动化最小需求,规格说明书已经定义了一些容器的统一接口和标准。支持Open Container的所有企业将完全依赖这些规格说明书来制作容器。
同时,开发RunC运行库(github地址为 https://github.com/opencontainers/runc)也是为了给各种容器提供统一运行库命令行工具的顶级封装器(而不是使用专有的命令,例如Docker的 docker或者Rocket的 rkt)。
微服务 随着云计算的不断发展该利用容器做什么?在云计算中我们能看到的的微服务的不断发展。
在云上,整体的应用程序开发已经是过去的事情了,新的范例称为微服务体系结构。利用微服务,庞大的应用程序可以根据其诸多的功能进行解耦,分成多个微小且只有单一目的的服务,这些服务之间通过规定的接口进行通信,例如API。微服务被称为云计算中的乐高积木玩具。
在许多方面,容器都是实现微服务的一种杰出的技术:每一个容器化的微服务具有唯一的角色(数据库、队列、web服务器),然后使用容器编排工具(在许多容器开发生态系统中是非常有用的)使所有的容器相互通信来组装成整个应用程序。
上述方式有很多好处:可组合性、更快的工作流、功能的分离、可维护性和可升级性。进一步来讲,对微服务框架进行扩容变得更加容易。在不影响系统其他功能的前提下,微服务能够更加快速、更加容易地置换到更加高效的对等服务上,或者是当遇到问题时进行回滚处理。多种不同的技术都可以用来分离微服务,不同的团队可以根据自身手头上的任务来选择更加合适的技术。
一些大公司,像Amazon或者Netflix,在生产环境中已经有了一些基于微服务的应用程序。
因此,我们所具备的是借助容器技术能够在云环境上实现一种完美的程序设计范式,即微服务。
总结 对于软件程序和依赖关系来说,容器是一种轻量的可移植的工具。这么说看起来有些繁琐,但是容器真的改变了我们开发、部署和运行软件程序的方式。