SPC-1评测有“黑幕” 5百万IOPS你信吗?

日期: 2016-07-12 作者:Shirley Xie 来源:TechTarget中国

6月份,一家寂然颇久的美国存储公司DataCore突然刷屏了:最新的SPC-1测试结果显示,DataCore打破纪录,创5百万 IOPS!

SPC-1评测有“黑幕” 5百万IOPS

(图片来自于DataCore官网)

所有的存储阵列厂商真的只能望其“数”背了……

spc-1

datacore spc-1

(图片来自于The Register网站)

DataCore在国外媒体上大量发布这个数据,仿佛已经在宣布传统阵列的末日。国内也有存储自媒体人发表解读,题目很惊悚: “500万IOPS, SPC-1已经被DataCore玩坏,高端存储们,咱们撤”。

DataCore属软件定义存储(SDS)阵营,本来应该为这新兴存储阵营的同志叫好,但是这个结果实在是惊愕之余,匪夷所思。本着存储人应有的谨慎精神,我们想重新看一下这个测试结果,是不是错漏了什么“黑幕”?

庞大内存:是助力还是在“搅局”?

DataCore在本次测试中提供的是DataCore Parallel Server(两节点,光纤通道SAN),硬件为两台联想服务器。

所有的秘密就在于:两节点的服务器,每台都配置了1,536GB的庞大内存!

虽然DataCore的CEO声称,影响性能的主要原因是CPU,而不是这个大内存。但是,国外媒体在后续报道中,大家的争论焦点已经变成了——“把所有测试数据放在缓存里算不算作弊”,认为大内存对这个测试结果而言,还是很重要。

DataCore又争辩说,内存的造价比SSD和硬盘高,所以多使用内存会使造价升高。但是,使用这么大内存的DataCore方案仍然比存储阵列便宜呀!

内存和SSD、磁盘有何区别?除了性能和价格以外,还有一点万万不能忽略,就是内存的易失性。通俗点说,一断电,内存里面的数据就没了。虽然一般而言,服务器对内存有电池保护等手段,以确保内存在断电后还能坚持一下。但是这么大的内存,应该说几乎不可能从一次断电中幸存。

正因为此,几乎所有的存储阵列提供的内存还是在一个相对合理的范围内。DataCore显然是占了它是软件的便宜,反正搞两台Windows服务器,内存配置到头就是了,不需要考虑这么多。是不是这个配置就是一个专供跑评测分数的奇葩配置,而与实际的企业应用无关呢?

“镜像数据保护“是靠谱还是离谱?

数据都保存在内存里,还存在一个严重的问题,即高可用怎么做?

SPC的配置表中说DataCore采用了镜像的数据保护。但是镜像只能在SSD和硬盘上实现,内存的数据是不是也镜像了呢?

在Windows内核的系统上实现内存镜像保护是一件非常有技术含量的事, 能够解决这一难题的厂商如凤毛麟角,最多只有两三家,而且都是巨无霸型的存储公司,在专用的封闭系统上实现。DataCore采用的是Windows 内核,我们对DataCore是否解决了这一难题深表疑虑。退一万步说,我们假设DataCore真的技术水平大爆发,实现了采用了镜像的机制来保护数据。从SPC的配置信息中看到,两台服务器之间采用了光纤连接。我们简单计算一下,5百万IOPS,假设每个IO为4KB,每秒的数据传输应该会高达20GB,也就是160Gb,那么无论什么样的网络都是不可能支持这样的IO。也就是说,两台DataCore服务器之间的内存不可能一直处于同步的状态。

这意味着什么?一旦出现服务器故障,则一定会出现丢数据的情况!因为每当数据写入缓存,应用服务器就会认为这个写操作已经完成;而一旦发生数据丢失,轻则出现数据错误,必须手动恢复;重则会发生数据库崩溃。仅仅为了追求高性能而付出这样的代价,是绝对不值得的!作为企业级的存储方案,一切性能的追求必须以保证数据不丢作为最基本的前提。而这种完全抛弃基本要求而去追逐性能指标,与其说是制造没有价值的新闻吸引眼球,不如说是完全不负责任地愚弄大众。

【Windows系统】是锦上添花还是不伦不类?

此外,DataCore所采用的操作系统是Windows。 Windows作为存储的操作系统,其优点和缺点同样突出。优点就是Windows的操作系统功能已经十分完备,甚至已经包括了NFS、备份、快照等高级功能,因此作为存储管理软件,只需要做一个定时机制和界面就可以满足低端用户的需求了,开发成本非常低。

但是,缺点也很明显,即在Windows上能做的管理非常少;对重要的资源,比如内存和CPU的管理,都几乎无法实现。这样作为存储管理软件,能够进行定制和调优的空间就没有了。因此,业界一般认为Windows只适合做低端存储的平台。

此外,更严重的是,Windows系统的稳定性也广受质疑。作为存储阵列的封闭系统还勉强可以用,要作为虚拟化网关就需要经常更改配置,连接新系统,支持新应用。我们已经连续听到很多DataCore以及它在国内的OEM合作伙伴的产品发生崩溃丢失数据,以致无法恢复的事故。因为无法触碰到系统内核,这类问题软件厂商可能根本无法解决,只能祈祷微软可以快速修复bug。听说国内的这些事故最后也没有找到故障的根本原因,因此也没有解决,只是采用各种息事宁人的危机公关手段掩埋了消息。Windows另一个存储缺陷是实现不了真正的双活,只能是主备形式的高可用。市场上标榜自己是双活的Windows内核方案无一例外都是挂羊头卖狗肉,都是两台设备互为主备各自跑独立的应用来实现的,而不是真正意义上的双活。

另外,一直被业界诟病的EMC中低端阵列VNX最近推出新一代Unity平台,不惜放弃多年的技术积累,也终于抛弃Windows平台,转而投向Linux。DataCore的SPC测试显然在标榜自己是有能力与高端存储竞争的企业级解决方案,但是采用Windows这种不伦不类的平台是否有些过于儿戏了?

企业级存储厂商,请坚守最基本的底线!

初看到DataCore的SPC测试数据,的确很诧异,细看起来却发现,这是以数据可靠性为代价的噱头。SPC在测试标准上设置了一些企业级可靠性的要求,但是还是被DataCore钻了空子。我们认为,企业级存储市场上的厂商需要坚持对用户的数据安全负责的基本底线,虽然市场宣传经常需要有意夸大自己的优势,但有些底线还是不应该突破。

DataCore在国内是采用OEM的合作方式,其国内OEM伙伴也在各种场合宣传自己的高性能,也不知到底是否明其真理?希望他们还能坚守住作为一个负责任的存储厂商的底线。

结语

不过,令人欣慰的是,无论怎样,我们也看到了软件定义存储(SDS)的实力正在逐渐加强。虽然这次看到的测试数据有些掺水,但是SDS对传统存储的冲击仍然可见一斑;传统存储以性能为武器阻挡SDS的防卫策略已经有些力不从心了。随着服务器配置和性能的逐步提高,SDS软件的快速迭代更新,SDS赶上甚至超过传统存储阵列的日子已经指日可待。

本来到这里已经写完,突然发现DataCore在回应业界质疑时,已经承认了自己的测试结果是不满足企业级高可用性的要求的,而满足高可用性要求的配置只能达到150万左右IOPS(详见《Datacore dominating SPC-1 benchmark on price-performance》)。暂时还没有仔细研读达到这个指标的配置有何漏洞,但是,承认错误,就是好孩子。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐