订阅云计算RSS CSDN首页> 云计算

Nexenta产品副总裁Bradley Stone:NexentStor intergration wtih OpenStack Nova

发表于2012-08-11 13:53| 次阅读| 来源CSDN| 0 条评论| 作者CSDN

摘要:8月11日,首届OpenStack亚太技术大会(OSAC)进入第二天。作为OpenStack社区在亚太区的首次技术大会,地区覆盖中 国、日本和韩国,数十位国外的OpenStack核心企业及国内前沿开发者将齐聚OSAC。此次大会由全球最大中文IT技术社区CSDN和中国 OpenStack用户组COSUG联合举办,CSDN将对大会做全程报道,进入直播专题。...

8月11日,首届OpenStack亚太技术大会(OSAC)进入第二天。作为OpenStack社区在亚太区的首次技术大会,地区覆盖中 国、日本和韩国,数十位国外的OpenStack核心企业及国内前沿开发者将齐聚OSAC。此次大会由全球最大中文IT技术社区CSDN和中国 OpenStack用户组COSUG联合举办,CSDN将对大会做全程报道,进入直播专题。

Nexenta产品副总裁 Bradley Stone

在8月11日北京站第二天演讲中, Nexenta产品副总裁Bradley Stone 带来了主题为《NexentStor intergration wtih OpenStack Nova》的精彩演讲。

非常感谢各位来听我的演讲,希望大家能从中听到一些有意思的东西。想跟大家谈一下存储,尤其是开放存储的演变,以及现在的一些发展,给大家举一些我们在OpenStorage方面做的一些例子。接着会谈一下Nexenta。

今天存储占到一个企业IT预算40%,很多投资都投到了存储上,很多人都在提广义上的云,但企业需要存储才能实现云,比如有一些市场上的领导者,像EMC、IBM、NetApp,还有一些企业存储的供应商,在过去十年左右发生了很多的变化,在存储以及用户获取需求和以前有所改变,现在有更多的解决方案,比十年前多的多。

 

几年前我们预测出了这样一种趋势,现在企业存储也有这样的趋势,我们有很大的需求,快速的增长。传统存储使用发展很快,同时现在也有新的存储使用。大家知道云和OpenStack,这个技术本身显示了企业和IT组织怎么基础它的基建和架构,从而创立新的商业模式、新的商机、新的智能商业,并且能够使用不同方式收集数据。几年之前,可能有人说在未来三年收集的数据会比过去很多年都要多,展示了现在周围有多么大规模的数据。这一部分是因为现在的商业化让人们能够更容易的获取数据、获取信息,同时是因为现在新的API,新的开源技术,也让我们能够更好的把东西粘到一起,并且能够创造新的方法,从这些数据和信息中受益。

所谓存储趋势,虽然现在世界处于经济危机中,在很多方面都有不好的影响,但说到企业存储是一个优势,因为让人们可以重新反思一下架构,想一下那些大公司的计划,除了这些之外还有没有其他一些选择,所以人们可能会有一些新的选择,他们没有什么其他的选择,因为他们预算很紧,所以只能选择其他一些方法。

 

例,以数据为中心有很多新的用例,我们如何获取信息,如何组织这些大的数据。Nexenta它的IPO刚一上市就有30亿美元,在中国有一些监测,都需要很大的存储设备,所以可以反思一下你的架构,反思一下自己的部署,我们就会有很多新的商机,看什么构架才是正确的,什么样的基建让这些成分都组织起来。

我们需要选择OpenStorage,当我们在使用底层技术时,我们需要使用OpenStorage,它是一个解决方案,不需要部署在任何供应商中。数据格式本来解决开放的,能否把这些数据格式重新部署,放到其他的供应商解决方案中。我的回答就是在OpenStorage中,这些都非常重要,他们也都是一些我们需要注意到的属性和标准。

我们发现人们使用开源软件的原因主要是以下一些点:不想被一个供应商锁定,想降低成本,想要有竞争优势,想要提升存储,同时还有一些变化,这也是开源的第一层面,最初初衷就是想要降低成本,而不想被锁定。现在不止这些,人们认为它是有竞争优势的,我能够接触到基础的技术,能够利用社区,使用各种方面的技术。之前可能人们会说要用开源的话,只能牺牲掉质量,才能推动这个技术,但现在恰恰相反。现在人们认为它有更高质量的服务,如果用开源也完全不会牺牲质量,因为现在我们的社区远远比个人的力量要大。

OpenStack和云这个产业本身很新,但如果我们用商业的产品也没有什么优势,从私有的软件和开源软件相比,也没有特别多的优势,这是我对于OpenStorage的简要回顾,当然有一些我个人的看法在里面。

在Linux成为一个核心的技术,让人们能够建设一些Linux的解决方案是在1991年,2004年谷歌发布了MapReduce,怎么样能够向外拓展数据分析,OpenStack本身有一定的特征,Nova发展之后,人们认为Swift是进行存储的,但Nova本身也有存储功能。OpenStorage峰会,围绕OpenStorage一些峰会和组织,推动OpenStorage,在2010年,第一届OpenStorage峰会在美国举行,让这方面的人们都能够汇聚在一起,很多公司都进行了演讲,还有其他一些后续的在美国、欧洲的会议。2013年1月份,会在中国深圳有OpenStorage峰会,会让整个OpenStorage社区能够关注存储方面的问题。

 

刚才提到了OpenStorage,也简单介绍了一下Nexenta。Nexenta是一个专注于OpenStorage的私有公司,我们也给大家简单介绍一下我们是怎么样使用OpenStorage。Nexenta有一个核心部件叫NexentStor商店,和传统的不一样,不仅有文件,同时也会组织一些访问,各种各样的Block设备都能进入这个系统中,不管是什么样的协议,我们还有标准的硬件。我之前提到的OpenStorage是一个概念,没有锁定在某一个设备商中,因为我们有不同的一些格式,需要把它从不同环境中拿出来,放到同样的环境中。有不同的组件和解决方案,也是基于开源的技术,还有NFS。我们有超过128b的架构,我们还有Nova、Swift等等,也都在这些基础架构中,有可拓展性。同时我们还有同步和非同步的复制。虽然有传统的存储系统,但也可以有像OpenStack或Swift界面这种新型的云的存储方式。而且我们是一个私有的公司,今年4月份在北京成立了办事处,现在正在招聘,所以如果大家对这个社区感兴趣的话,我们招募各方面人才。

Storage存储池。一开始是寻找磁盘,然后放到不同的存储池中,池化的方法就意味着你可以把一些不同的保护层面东西放到不同的池中,比如有A池和B池,A池用NFS,而B池使用的是RAID容量,让大家能够更高效的使用存储,所以你可以选择自己如何创造这些池,然后监管它们。在这些池中会创造不同的数据集,而一个存储池可以同时支持不同的协议。有趣的是这些池中有不同的属性,但它们可以同时进行存储。一旦在这些池中创立了数据集,就可能有不同的一些属性,A和B可能使用的是不一样的。

 

具体谈一下这些特性。我们避免重复数据的删除,看一下有没有一个数据的块,如果你们是用一种In-line方式做数据删除,我不知道用这个怎么样提升你的性能,人们可能认为我们所做的事情是线性的,所以会比较慢。但如果看一下这张图,发现你创造的这个存储池其实有不同的目标,有一些想要复制的快,所以你想要写一些数据池,如果这个方法是正确的,有一些数据就会被复制,如果你做的是对的,就会有一些更好的性能,即便这些数据在写入时是线性的。我们要把重复数据删除放到不同池中,看有什么样不同的变化。我们还有线性压缩的能力,你可能认为这会使写入的速度变慢,其实现在速度已经非常快,而且从系统的I/O直接到磁盘,所以其实性能并没有降低。我们认为你可以从中获得性能的提高,同时还有压缩重复数据的删除。所以这两点意味着可以使用的文件和块,如果我们有一些架构的话,就可以使用不同的存储。

我提到我们如何用块访问,包括我们有多渠道的协议,包括存储、压缩、克隆,对于虚拟机镜像很重要。我们有不同的存储池,而这些存储池都有不同的属性,当你为自己的镜像创造池的时候,就需要知道怎么样去选择把你的数据放到哪一个池中。

 

为什么想用这种开放式存储?如果想做云的解决方案来处理存储,比如用非常大的云的存储,如果只有一个开源技术的话是不够的,因为你会发现其实有很大压力,你货币其需要有一些其他的特性来支持这种开源的技术,需要这么一个架构,在这样的架构之下能够支持相应的一些规模,比如文档数目都可以得到支持。

为什么现在人们云里面放数据?因为希望他们的数据有一份备份,其实他们可能自己有一些合规的原因或其他原因,会把一些数据很长时间之内存储起来,所以数据完整性非常重要。你不用老是去查这个数据,也不希望每个人都能看到这个数据,除非是你有时候想复制或备份时。有时候你需要把这些数据找出来的话,可能有一些其他原因,比如你需要追溯当时一些记录等等。

关于数据备份和数据追溯的一些功能。首先是这个数据的自我修复,区域检查这个数据的完整性。比如有人想进到存储里,就可以用镜像,系统中就会选择一个东西看这个数据,找到这个数据,把这个数据进行提取。一般存储里面会把这个数据直接退给客户,但这是一个云存储,可能这个数据在这个云里呆了好几年,这个数据已经有所破坏,这个数据送回到客户的话,客户的系统可能会被当掉。如果你是一个聪明的IT师,就没有什么诊断工具也会想我知道为什么这个系统出了问题,它出问题是因为我们访问了某个区域,把这个数据隔离起来,再去做一下测试,发现在这个镜像另一面,这个数据是没有问题的,所以我们知道其实是某个数据出现了问题。这是存储方面的问题,因为问题是不可预知的。所以我们要把数据进行检查,通过检查要知道这个数据是不是有冗余的备份,是不是有问题的,溶液有冗余备份的话,就用它来恢复本来被损坏的镜像,这就是自我修复的机制。同时这也是一个防止数据被损坏的一种机制。如果你不做这件事情的话,可能这个数据在里面呆那么长时间,变成垃圾了,客户都不知道。

三方RAID,对于云来讲非常重要,因为人们一般会把数据在云里放很长时间,而且量非常大。为了真正最大化利用云系统,我们就会发现规模也越来越大。现在这个磁盘非常大,如果出现问题的时候,要想恢复,时间非常长,在他们恢复时间之内,其实更容易受到其他一些攻击,所以有一个RAID组,比如五个磁盘的RAID组,想把其中大的磁盘进行恢复,结果会发现你可能会读到很多数据,所以说其实你只是有一个地方出了故障。为了重新恢复磁盘过程中又出现了第二次故障,这样故障会越来越麻烦。从统计学角度来看,有时候你在做恢复的时候,甚至会接受到第三次攻击和第三次的故障,这样一来你的数据就彻底的失去了,所以这就是为什么我们需要三方的RAID。我们看大的磁盘和大的存储时,需要这样一个三方机制。

还要注意存储,特别是云里面的存储和在虚拟机上的一些存储,这些存储系统本身是基于一些技术进行数据的测试,但你需要一个解决方案能够取得快照,这个快照跟系统是保持一致性的,如果这个快照是独立性的,比如星期三做了一个快照,这对系统恢复来说没有任何意义,和你本身的虚拟机也不保持一致。

看看云方面,在亚洲云的客户,今天有人已经提到过了,KT(韩国电信)也使用云的存储,我们在那边部署非常大,同时还有一些其他的亚洲公司也在用我们一些存储技术。但想告诉大家不是我们客户有多少,而是这些客户现在在做云存储。我们其实是为云提供存储,而不是提供云存储,所以很多人想到云的时候,都会想到一些云的服务。他们都会说这个云背后存储的是什么,Nova就是非常好的例子,它是OpenStack的compute组件,但这里还有很多VM,这样就可以提供一个存储的服务。人们一想到云存储的时候,一般都会想到非常明显的存储的东西,但其实在云里面是有不同种类存储的,比如compute这部分的存储是一种,可能客户的存储又是另外一种。

OpenStorage开放存储过去五年当中在我们公司是怎么应用的?首先大学里进行应用,我们认为快速存储就是开放源,同时就是开放的架构,这样以来进行了一些相应的研发。然后我们开始进行性能方面的一些改善,为什么我们比别人都要早呢?因为云还是一个非常新兴的领域,至少在2010年的时候还是一个新的领域,当时在云的层面,还有保护云的存储方面,没有一些成熟的标准和实践,跟现在不太一样。我们觉得这个比较好,风险比较低,可以很容易的进行尝试,可能开放存储是比较好的解决方案。

云意味着大规模,对这种大规模的部署,就可以给它提供额外的云服务,比如VDI,可以给大家代理高性能。在过去几年中,我们也进行了VDI的部署,之前成本非常高,在云的部署中,我们采用VDI,可能解决它的性能问题。既然我们现在性能非常高、规模非常大,就需要关注一下企业的治理和我们的财务。

我们公司跟OpenStack有什么关系?之前讲到我们开源的历史和开放存储的历史,而且讲了我们在OpenStack社区里也非常活跃。现在要看一些云存储的案例,它是对云应用提供一种存储。云里存储时会做很多事情,比如文本的复制,作为一种数据的备份,或是作为一种电源的备份,或还有其他的原因,比如在不同地方团队当中可以共享一些数据。其实云存储有很多案例,它和Nova也息息相关。在座各位都是开放云应用的开发者,所以你们了解比我多,我就不多讲了。但特别提的是,在Nova方面,历史上一直在用。

Nexenta公司把OpenStack很多存储的功能带来出来,我们还有一些其他的公司,其实就是把这种技术和OpenStack社区进行了映射,用他们自己的专家和专业知识来真正做这种支持,这样应用边和存储边能够真正联系在一起。Nova主要是集中在云的compute上面,同时也牵涉到存储方面。所以Nova方面对卷的提供进行编配,比如要提供一个核心,都会用到这一点,同时也会和存储的系统进行互动。而且Nova还会把这个卷配到每个计算节点上。当然有时候可能会把同样一个LUNs分配到不同的虚拟机上。我讲虚拟机部分和之前讲的开放存储的性能应该能够联系在一起了,因为现在我们已经完全有能力把所有的企业存储的性能放在我们Nova环境里去,所以Nova现在支持一些功能,而不是那么简单的功能。

关于Nova简单的梳理,特别是在存储环境之下。比如Nova里有很多组件,Nova的网络发生了多么大的变化,以及Quantum一些项目。在这里一些组件有Nova compute等等。

在控制方面我特别提出一点卷的控制,有这样的控制之后就可以有更多的一些Nova的驱动器,不同的VM就可以和社区进行对话。现在还有一些限制条件,就是怎么能够通过Nova进到存储里面去,但这个概念非常简单。给大家展示一下Driver怎么和这个系统联系起来的。

首先我们想创造一个讯项,就提出一个要求,通过API,把要求传到Volumb Controller,它就要看看找什么样的存储,让存储系统做这个存储,这样Volubm Controller就会用Nova Driver,Nexenta提供了这样的系统。通过API作为一种沟通,而且可以通过API去创造一个卷,把这个卷进行沟通,并且进行进一步映射,这都是在Nova的数据库里实施的。

和Volume在一起的话还有一个需求,这个需求就会走到VM里去。同时我们这里还有快照,它可以通过这些快照创造一个卷。这是一个非常简单的数据流,就是给大家大概梳理一下你怎么Volume你的供给,怎么和数据库进行沟通。但还有一些额外控制和额外灵活度,比如之前讲过延展只有一家,但以后会有更多的协议。这种存储池的概念是Nova将进行新的一个领域,这样可以让你们和OpenStorage进行沟通,可以让存储进行压缩。另一个Volume主要用于性能的提升。这种应用是现在才发布的,现在只有两种,Netap和Nexenta。

云的存储是传统的概念,提供一个对象存储的服务,有很多定义,我们都非常熟悉了。对象存储的好处是可以有更多的延展性,延展能力更强,根据需求也可以进行一些迁移,同时数据的访问也比较方便,在任何地方都可以进行数据的访问。Nexenta在OpenStack、OpenStack Swift上也非常的积极,我们在这方面也作出了一些贡献,主要打的一些补丁。

首先我们对于Swift的融合,之前有技术整合可以在网站上看到,可以知道如何把开放存储的技术和之前其他一些存储结合起来。同时我们还对Swift做了一些贡献,包括本地文件系统,也就是把所有自我修复的能力用在底层建筑方面。对于文件和块中也提到,那些协议可以使用重复文件删除等等。但我们想把标准统一起来,有统一的存储,只是有文件块和其他一些选择,所以我们要让Swift也能够比其他一些数据更高一筹。当然你可以通过各种不同方法进入到你的存储中去。从企业角度来说或可能有一些偏见的看法,我们都说下一代的存储是什么样的?你应该怎么样做?但你们要记住一个问题,即便相信所有新的应用,所有新的存储都应该被写入API或其他存储,还有很多之前留下来的应用。我们怎么样让存储也能适应其他那些应用。我的意见就是如果有一个使用之前存储的话,就能够高效的利用存储,更好的融合起来,把文件更好的进行交换。

 

为了忙我们能够理解我们对Swift打的补丁,首先要看一下Swift本身是什么。我今天不特别想谈Swift工作原理,但为了吸引大部分观众,Swift有很大规模的数据,它在数据修复和数据保护方面进行了三层备份,如果有一些故障出现,Swift就会说我现在有两个备份,所以会使用其中一个去替代第二个备份,也就是说不会在复制中产生过多的流量。为什么有三个单独独立的系统,每一个都没有很强的数据整合能力,你可能很想要这样的系统,你可以说可以把存储和Swift放在一起,Swift给你带来好处。我自己的系统本来就可以修复和保护,如果你想给我写一个存储的话,为什么有两个复制,而我的存储系统会自我负责其中一些数据的完整性,所以这也是我们对Swift做的一个贡献,我们认为要让Swift和存储系统打交道,看看它的容量是多少,如果能够比存储更好提供容量服务的话,不需要三个,可能需要两个就可以,最后也能节省很多的带宽,因为只有两个复制。如果出现问题的话也很好,因为就不需要再进行替换。所以Swift其实就像代替一个磁盘那样简单,而不是要动用整个存储。

OpenStorage容量方面有什么作为,我们在Nova方面做了哪些工具,大家可以下载一些工具。我们Swift方面做的工作,现在有第一个版本,后续版本也会在未来几个月发布。我们未来的方向是什么?现在投资很多用于OpenStack的社区,我们相信这对于云存储来说是一个正确的平台,我们也会在其中保持活跃,找到方法消除一些OpenStack的限制,同时如何更好的开放、存储,摆脱文件的限制,而且我们也看了一些其他形式的拓展,尤其是在Nova中,我们如何能够在卷提供方面交出一些限制。

我们之前有一些限制,我们在防止数据重复方面有一些容量,但Nova本身并不会主动的选择你想用哪样的存储容量,我们希望大家能够对开放存储有一个简单的理解,我们做的贡献是什么,我们怎么样推动OpenStorage的发展。

更多OSAC及OpenStack相关信息,请关注@CSDN云计算微博,也欢迎加入国际云计算技术交流群OpenStack中文社区进行交流讨论。

0
0
Nexenta产品副总裁Bradley Stone:NexentStor intergration wtih OpenStack Nova