近几年的数据中心领域可谓风起云涌,一些新的技术、解决方案接连而至。对于用户来说,开展数据中心建设时,要解决数据量暴涨下所面临的诸多问题,核心在于三点:“快、简、稳”。但在实际应用中,传统数据中心往往显得力不从心,用户也会面临许多新的问题。从哪些方面具体体现出来的呢?
第六届中国云计算大会已邀前Facebook的存储负责人,OCP创始成员PerBrashers为数据中心的融合架构与存储专题论坛演讲嘉宾,给我们分享相关内容。点击报名!
PerBrashers,现Yttibrium公司创始人。2012年1月至2013年8月,Per任DataDirectNetworks公司存储解决方案部门的总技术架构师。2011年5月至2012年11月,Per总管Facebook的整个存储部门。
Per曾在EMC任职11年。2010年6月至2011年5月,Per担任EMC公司备份和数据恢复领域的高级技术专家,为客户的复杂难题设计了解决方案。2006年11月-2010年6月,Per作为EMCNAS工程设计部门的总监,率领MPFS开发团队实现了1亿美元的营收。2000年1月-2006年11月,Per担任EMC公司美国西部面向客户的技术商务顾问。
Per是一位极具远见的存储战略家。他发明创造了若干对业界具有深远影响的存储平台,其中包括用于Facebook引领的OpenComputeProject系统下的OpenVault及ColdStorage解决方案。他设计了多个适用于数据中心中的互联系统。Per还是pNFS-Block的作者,也是现今最快的Hadoop存储阵列系统的架构师。Per还将传统的3X复制策略转化为纠删码(erasurecode)的存储方案,从而最大化使用效率。
Per的名下共拥有21项(含待发)专利发明,多数在存储领域,擅长解决存储及存储网络连接、数据块、文件及对象存储等方面的问题,并擅长于利用纠删码来实现数据分布,弹性调度及提升效率。Per在删除重复存储以降低存储成本方面也是专家。他善于将用户的需要转化为切实可行的执行方案,专长于在Hadoop及BigData应用领域的性能改善。他身兼数任,工作在NAS、SAN、IP网络连接、备份及恢复方案、应用性能分析等多个领域,并兼负标准起草/编辑、难题专家、发明人等多重身份。
Per的兴趣与关注点还不仅限于此,他竭力为了改善人们的居住环境献计献策,如为住家提供空气效能方面的的相关发明作出了不懈努力。Per的业余爱好之一是有机种植,同时也是一位家庭啤酒酿造师,曾获得UCDavis酿酒科学的荣誉硕士学位。同时,Per还在不断学习改进其葡萄酒酿造技艺!
OpenCompute项目创立时的初衷是什么?
OCP的目标很简单:最大化创新,降低运营复杂度,并将数据中心客户与解决方案的供应商连接起来。通过将硬件设计开源化,我们力争作出契合需求的解决方案,而不仅仅是满足合同规定的产品。开源的其他好处还包括可以从多个来源来获取组件,降低供应链的风险,通过采用开放的标准来平衡模块化与定制化两方面的需求。
作为OCP的创始人之一,你认为眼下OCP是在遵循当初的设计路线在发展吗?
答案是肯定的。尽管管理层有一些变动,但是以超高效计算和存储的终极目标作为设计者群体的指导原则,这一点依然是核心宗旨。
迄今OCP已经取得了哪些进展?
OCP已经在许多领域取得了进展,有制造商在提供更好的产品,也有用户直接采纳了OCP原有设计或者适当改动以满足自己需求等等。同时,OCP提交方案的品质也有了转变,早期大家认为硬件是某些公司的“秘密武器”,因此只提供一些产品规格。但是现在市场已经成熟起来,出现了一些真正可量产方案并在市场上形成竞争。。开源软件和开源硬件之间的区别也很有意思。在软件的世界里,个人是提交贡献的主体,因此软件开发的质量差异巨大。在开源硬件领域,则是以公司为主导,由于这些公司已经具备了全面的质量保证体系,因此提交的设计方案总体而言经过了良好的测试,可以直接采用。
我们看到中国有服务器定制化的趋势。你了解中国的天蝎计划吗?你对天蝎计划怎么看?
有关天蝎计划的公开信息很少,但看上去大家的目标是相近的。部件的分离解耦合,通用构建块驱动的复用,有效消减运营成本,以机架作为基础设施等等。这些都是与OpenCompute共同的元素。
据你观察,Google,Facebook和Amazon等超大规模数据中心当前最大的数据存储方面的挑战是什么?
有几种途径来解决因规模大而产生的数据挑战。但是,首先必须先就要解决的问题达成共识。如果把问题分解成三个独立的部分,逐个研究,我认为会简单许多。第一个部分我们称之为前端,其中包括用户将会直接接触到的所有服务。第二个部分我们称之为决策支持,即前端服务所依赖的那些服务。第三个部分我们称之为后端,包括了企业试图从前端服务获利而做的所有工作。
前端主要要求高性能和实时的反应。视频等多媒体是一个例外,因为在已归档的富媒体应用中,可能访问第一个字节需要等待,但只要该应用能够将剩下的内容顺畅无阻碍地播放就可以接受。这一层的主机主要是基于闪存,包括数据库到高速缓存到网页浏览等。
在决策支撑层面,采用的主要是分析及广告服务。这些服务可能是实时任务,或者因公司商业模式而异的批量处理服务。通过使用Hadoop,所有的数据都可以利用特定的工作模式产生出及时的响应,就像流水线的加工系统。还有诸如站点之间的复制等其他业务都在此进行,因此公司的资金投入有一大部分用在这一层。
在后端则是公司实现盈利的一环,包括帐务、审计等此类平凡而重要的业务都产生于此。数据到达这一层时,大部分加工处理的工作都已经完成,都已经预先打包成了容易理解消化的报告、指标等,因此,这一层的关注点是核实数据的完整性,并为网络的其他合作方提供相关的数据。
这些公司采取了什么举措来应对这些挑战?
早年我们的目标很简单,基本上是“将任务移向数据”。随后我们见证了规模庞大的数据的产生,数据变得无处不在,结果是移动任务实际上成为了在多个节点上复制任务。从效率的角度来看,这是一场灾难,因为这意味着远多于从前数量的CPU、内存和网络都用来做这些工作了。后来,我们改弦更张,“从节点选择数据再缓存”的想法出现了。早期主机都带有几个硬盘以及很多CPU/内存,所有节点都差不多。而今,我们看到有很多形态各异的设计,数据节点带有很多盘、基于小处理器,而请求节点则基于闪存、只管数据处理。这些崭新而庞大的节点将结果传送到一个独立的存储中,以备将来上报或分析。特定节点配备特定功能的趋势引发了许多发明,也减轻了基础设施方面的很多负担。举例来说,传统的数据保护的三重备份用了三份CPU、内存、网络以及存储资源。而今天的纯数据节点在本地就得到了保护,纠删码则用来应对一切临时断电,只需一半的设备,就可以提供更佳的可用性、降低成本、提高数据耐久性。
在中国的数据中心里,冷存储是一个更受到关注、更引发讨论的话题,你对处理冷数据和成本控制方面有何建议?
冷存储有很多不同种类,也有很多各异的访问模式,我们需要对此达成一致。比如说,你要将三个备份中的一份设为下线状态,并且该备份只有当其他两份备份全部失效时才能被访问。如果你采用的是用户可以访问到的数据(让我们采用长尾应用作为例子),这些数据不再被访问后将会下线,那么访问头一个字节和流化的时间问题就凸显出来。还有数据只能周期性地访问到,可能是每月/季度/年末尾等。这些数据存放在一个批量系统中,因此访问头一个字节的时间微不足道,但是总吞吐量就十分可观。其他冷存储的方式还包括我未接触过的科学计算冷存储,当研究人员不在超级机前面时,数据就被移除,当研究员回到电脑前数据就被重载。还有我未接触过冷闪存,与应用层集成在一起的技术,以及在过去时间点的快照恢复的文件系统,或者是一次写入的数据但被重复读出千万次、从写角度而言是冷存储的技术。
不同的存储介质适用于这些迥异的应用案例,例如磁带已经成为了一种广受信任的解决方案,而光盘则大有取而代之之势。对于长尾数据而言,很有可能蓝光技术将最终挺进这个市场,但是它对数据流的数量限制会阻碍其发展,因此我认为SMR硬盘将很快长驱直入,席卷整个市场。至于在批量系统中只会周期访问的数据,近期,降速SMR盘和光盘将会在此一决雌雄。
在采用纠删码来处理数据方面,你做过什么具体工作?有过什么贡献?中国数据中心的工程师对这个话题也很有兴趣。
我有很多客户都向我介绍过纠删码领域的产品,在Facebook工作时,我推荐了该项技术,作为降低成本和增加可用性的一种途径。我们因此发现并解决了重建带来的高昂费用的问题,因为当一个盘片出错时,会为网络和周边盘造成十倍于本身容量的影响。该解决方案有两个层面。一是在重新布局时采用的信息更为有效,因为那些依然能工作的节点参与提供了重建所需的数据,并且在重新布局中依然有效。这样可以将磁盘及网络运行的消耗减半。第二点是采用了一个具有本地保护的节点。这与多年前我们采用RAID上的RAID来实现PLAD配置类似,当时的结果是超快的速度和超级耐用的系统。你可以用一个简单的带30张盘的RAID5节点,在其中12(10,2)张盘上运行纠删码。该例中单个盘片失效不会对任何其他节点或网络造成任何影响。只有当一个节点上出现多个并行故障时,上层重建才会发生。因此,该设计实现了资源的最佳利用,并大大减少了所需的网络和计算资源。
在软件架构方面,Hadoop是中国多个数据中心的首选。假设不是所有数据中心都适合采用Hadoop,那么数据中心需要满足什么条件才能长期适用Hadoop构架呢?
Hadoop对于可以并行化的负载而言是优异的选择。但有一点是确定无疑的,Hadoop需要改变数据中心的布局设计。对于大多数应用而言,采用Hadoop,网络必须要承担多得多的节点间的流量。由于任务已经在所有节点间并行化,节点间必须要可以互相推送和获取内容。另外一点差异在于服务器设计本身,CPU的运算要求很繁重,但是JAVA存在内存限制,因此服务器的设计偏向于减少内存,而增加CPU、盘片和网络。
Hadoop的生态系统完全成熟了吗?
通过将任务流水线化,且将namespaces在单个Hadoop集群中隔离,架构师如今可以创造出定制化程度大大增强的架构。用一个零售应用的例子来说明,头一个namespace负责客户隐名,其中包含造假检测及其他的客户保护机制。工作流中这个部分限制只允许特定几个雇员来访问和查看。这些数据减除了敏感信息后再升级到下一层,用于库存决策。下一步则是将数据升级到一个趋势统计的可供全店访问。将特定工作流和namespace捆绑在一起可以实现更加精准的增长及安全控制,这些带来的好处也不需要多少成本和人力,开发人员可以专注于核心技术,而管理人员则专注于商业需求。
Hadoop有什么优缺点?
Hadoop运行多个、并行的任务表现超群。然而,有些负载并不能并行化,会对Hadoop资源带来巨大的消耗,应该尽快将其找到并移除。对此类任务而言,传统的DB或者ERP解决问题会快得多、好得多。
鉴于设计人员已经开始负责集群设计,namespaces也可以允许不同节点的配置(比如,一个namespace内单个CPU带60个盘片作存档,在处理namespace则每个CPU带15个SSD),应用设计人员不得不担负硬件配置工作的负担自然就减轻了。
除了是一名存储战略师,你看上去还有很多业余爱好,比如种植有机蔬菜和自制酿酒。你在个人爱好中也同样倾注了创新精神吗?有什么可以和我们分享吗?
是的,我热衷于将超高效数据中心的设计理念带到公众生活中运用。比如说,数据中心中使用挥发式冷却系统,为什么我们不能做一款经济好用的在家里或办公室里使用呢?农业方面,我最感兴趣的是养耕共生,即在一个系统中养鱼养虾,同样也种植蔬菜。其优点在于运行起来产生的废物极少,耗能极低,也无须接触地面,因此可以在有些无法种植的地方实施。这些系统的挑战在于水的化学成份监测,如果氧气太少,什么都无法存活;氨太多,藻类生长过盛等等。所以,我在尝试着设计一款“手电筒”,由特殊波长的LED和一个CCD照相机组成。使用时,将LED照向试管中的水样,给水样品照张“照片”,再把照片上传到图片处理网站,从而确定每个波长的密度。从每个波长传送的光量可以确定各种有意思的成份的浓度。可以把它当成一个分离式的分光光度计。最终的结果将为用户提出一系列建议,告诉他们怎样做才能将自己的系统调整到最佳状况。这个技术能让社区级别的农夫也享受到超大规模农场种植者相当的优越手段,让产出的食物质量更好、产量更大。
作为《数据中心的融合架构与存储专题论坛》的演讲嘉宾,Per Brashers带来的主题是“未来数据中心的关键技术―智能、能耗、安全”,他认为数据中心降低成本的趋势是由规模、技术上的革新、开放标准的风潮以及在部件层面提升效率,将系统作为一个整体来考虑,在降低成本的同时运行时间也可以得到改善。本演讲涉及三个核心领域:数据中心在提高效率方面的趋势、考察IT系统中各个分离部件的发展方向,并讨论大规模部署环境中数据保护和可靠性的问题。通过聆听本演讲,听众应能了解设计适合大规模、低成本部署系统时要面对的一些核心决策问题。大家期待吧!点击报名!