科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网存储频道EMC XtremIO技术释疑

EMC XtremIO技术释疑

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

EMC终于揭开了XtremIO全闪存阵列的神秘面纱,一些待解的疑问,直到正式发布时才由EMC XtremIO首席技术官任宇翔给出了解答。这里集中把之前列出的“疑点”做一个针对性的回答,涉及问题包括XtremIO的物理规格、存储容量分配,还有人们最为关心的性能…

作者:张广彬 来源:ZDNet存储频道【原创】 2013年11月18日

关键字: XtremIO EMC 全闪存 重复数据删除 VDI

  • 评论
  • 分享微博
  • 分享邮件

上周四,EMC终于揭开了XtremIO全闪存阵列的神秘面纱。在此之前,国外媒体已经做了一个小揭秘,但其中还有一些待解的疑问,直到正式发布时才由EMC XtremIO首席技术官任宇翔给出了解答。这里集中把之前列出的“疑点”做一个针对性的回答,整个发布的情况请看ZDNet存储频道的专文报道

物理空间与UPS

疑问:两台X-Brick需要占用12U机架空间,但四台却只需占用22U。

解答:信息有误。目前的XtremIO支持四节点集群,每节点包括双主动1U控制器(共2U)、包含25个SAS接口400GB eMLC固态盘(SSD)的2U盘柜和UPS。第一套节点为6U,其后的每套节点为5U。也就是说,两台X-Brick(译为“砖块”)11U,四台21U,正好半个机柜的空间(以42U计)。将来扩展到8个节点(X-Brick),一个机柜也可以放下。

造成这个差别的关键是1U的UPS。在只有一个节点的情况下,如果UPS只有一个,那UPS就成了单点故障(SPOF),所以必须要有两个。之后每增加一个节点,只需要有一个UPS即可。

EMC XtremIO技术释疑

UPS主要是保护控制器内存中的元数据,不会因突然掉电而丢失。内存中的元数据,包括缓存里的元数据和数据块必须每隔几秒就写到SSD上,而且为进一步保护硬件控制器,所有没有写到SSD的数据,都通过InfiniBand网络在其他节点做备份。这样如果是控制器节点、软件或者SSD出问题,都能得到保护,但唯一没办法保护的是整个数据中心掉电,所有的节点同时没有电,无论内存做多少备份,过去几秒做的元数据改变都丢失了。有了UPS,万一掉电的话,可以保证有足够多的电量,让每个节点内存中未做保护的内存数据改变写到SSD中,把节点逐个有序关掉。

EMC也知道备用电源不是一个理想的方案,因为占用空间,电池也非常笨重,大家都不喜欢。今后会很快采用其他的办法,可以在下一步的硬件平台用更新的技术来取代UPS。

可用存储与冗余度

疑问:X-Brick原始容量为10TB,可用空间为7TB……XtremIO数据保护(XDP)属于一套“自我修复”方案,能够在只额外“占用8%容量”的前提下同时实现两种第三方数据保护机制。

解答:系统征用的空间既没有30%那么多,也没有8%那么少。

首先,除了8%的空间用于数据冗余,还有4%的空间——也就是400GB,相当于一个固态盘——隐藏起来,以备在一个固态盘失效的时候,用来重建。XtremIO的XDP技术可以在一个固态盘损坏的时候,快速利用这些预留空间完成数据的重建。如此往复,据称可允许多达5个固态盘失效。但是从上面的分析来看,这些固态盘不能同时失效,特别是当X-Brick的可用空间被数据写满(这种情况在实际应用中极少出现),没有足够的预留空间来完成数据重建。

其次,进制不同。任宇翔表示,10TB是10进制,而7.5TB(不是7TB)的可用空间是2进制(1024)。这样一来,10TB减去各种系统占用空间,还有保存元数据的空间(实际数据的1-2%,7.5TB的实际数据换算下来,大约是100GB),再乘以约0.91的系数(1000的4次方除1024的4次方),大约就是7.5TB。

:上面说的都是未经重复数据删除的物理容量。

SSD与性能一致性

疑问:任宇翔认为,很多人看全闪存阵列的切入点就是性能,而性能只是一个纬度,关键在于不同的使用环境下如何保持性能的一致性。XtremIO在百分之百写满的情况下,还可以维持写操作性能,也不会随着时间的推延、内部可用空间减少,对性能造成很大损耗。但是,像这里所涉及到的碎片收集、写满性能下降的问题,都是单个SSD就会碰到并能够解决的情况,如果选了好的SSD,再配合TRIM等指令,XtremIO的XIOS不用做太多就可以获得很好的一致性;反之,选了不好的SSD,控制器再怎么折腾,结果也不会好……所以,只要选对SSD的供应商就行了?

EMC XtremIO技术释疑

解答:我讲的碎片收集和内部性能的一致性其实有两个不同层次,一个是SSD层次的碎片收集和内部性能的维护,一是系统存储阵列层面也需要讨论碎片收集和性能维持的过程。但XtremIO就完全像您说的,很多时候你要决定做什么,还有同样重要的是你决定不做什么。我们当时做了一个非常关键的决定,在硬件系统上我们不需要做垃圾收集,企业级SSD已经解决了这个问题,但三、四年前XtremIO刚开始的时候并不是这样,大家四年前有用第一代闪存盘的话,非常贵,而且用了六个月之后性能不行了,要换一块,就是这个原因。

过去几年中,SSD的控制技术有很大的发展,这对我们来说是关键的技术,我们的竞争对手是借用现有架构,或是借用传统阵列思维方式,所以每个架构都有系统层的垃圾收集和碎片收集过程,所以他们会在系统层次上有垃圾收集,就会造成延迟。即使SSD可以帮助解决这个问题,上层系统改不了。有人会问他们,为什么不和XtremIO一样,不做系统层次上的垃圾收集?这个不是想改就能改的,比如快照、去重化配置都是基于基本架构,这些架构是改不了。

戏问:就是说四年前你需要乔布斯,现在只需要库克(管好供应链)就行了?

任宇翔:可以说有时候少做比多做好。

XtremIO的性能问题

XtremIO的性能参数出来之后,普遍的感觉是大大低于心理预期。不算UPS,每个X-Brick为4U规格,不算2个1U控制器,2U的全闪存阵列,有些竞争对手的产品也能达到百万级的IOPS,而XtremIO的4KB随机读取性能只有25万IOPS。

这里的关键就在于多出来的控制器。XtremIO为线内(Inline)重复数据删除而设计,它利用了闪存存储随机访问性能出色的特性,把I/O全部随机化。大部分全闪存阵列除了IOPS,还有顺序传输时的带宽(Throughput)指标,这通常取决于单个SSD的顺序传输带宽、SSD的个数和控制器的内部端口聚合带宽。

目前看来XtremIO只有随机IOPS,每个X-Brick有25个SSD,25万IOPS,分摊到每个SSD就是1万IOPS,乘以4KB数据块,折合40MB/s,这与6Gb/s SSD能达到的550MB/s顺序传输带宽还是有较明显的差距。

任宇翔表示,线内重复数据删除的算法很消耗CPU,所以XtremIO的带宽瓶颈不在闪存盘上,而是在CPU上,这也是拔掉5块盘性能不受损失的原因。因此,今天用的是6Gb/s的SAS盘,换成12Gb/s的SAS盘,性能基本不会改变。

XtremIO采用全局重复数据删除,目前最多可以在四个X-Brick的八个控制器中非常均衡的分配,每个平均承担12.5%的工作量。性能跑满的时候,CPU占用率可以达到百分之八九十,可见CPU性能确实是瓶颈。出于成本平衡和横向扩展(Scale-out)的原则,XtremIO不会使用四路处理器,而是依靠摩尔定律,即Intel至强E5处理器的换代获得性能提升。

在横向扩展、四路集群的同时,XtremIO还要保证亚毫秒级的延迟,关键是X-Brick控制器之间的Infiniband高速互连。依靠RDMA直接写到内存,把内存划成很多块,不需要CPU干预,达到节点间无阻碍、无延时通讯。真正的保证还是Infiniband的低延迟,虽然以太网也支持RDMA,但延迟要高很多。

任宇翔表示,使用Infiniband,RDMA在XtremIO两个节点间一个来回是7微秒,而一个I/O的预算是500-600微秒,这是实现整个架构最关键的地方。如果不是7微秒,而是70微秒,整个架构就完全垮掉。如果用以太网,没办法把延迟严格控制在一个非常窄的范围里。

换言之,用Infiniband,重点也是在于其低延迟,而非高带宽,这一点与Oracle的Exadata数据库一体机有异曲同工之妙。

补录在中国的具体上市时间

任宇翔:理论上是全球同时上市,但像iPhone一样,说是在中国上市,不意味着今天就可以买到,特别是要某种配置或颜色。我们在全球有统一的安排,硬件供应量有限,工厂要上新产品,有一个磨合阶段,上海研发中心已经有好几台了,估计一、两个月就可以和中国客户见面。

编者按:总的感觉,XtremIO是一款特色十分鲜明的全闪存阵列产品。相对于裸的硬件性能,XtremIO更强调软件功能。完全围绕线内重复数据删除的设计,使得XtremIO很适合VDI等重度虚拟化应用。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章