本文内容非商业用途可无需授权转载,请务必注明作者及本微信公众号、微博ID:唐僧_huangliang,以便更好地与读者互动。
在开始本文正式内容之前,先插播一段广告:)
今天这篇不是闪存峰会的内容,不过还是有一点来自FMS的更新,那就是全部的会议资料都放出来了。
打包下载(621MB):http://www.flashmemorysummit.com/English/Collaterals/Proceedings/2016/Proceedings_2016_all.zip
上述链接有个小问题,就是无法选择自己想要的内容,而且依照往年习惯解压缩之后只有一个目录,通过文件名又无法完全判别内容。因此我把另一个原始分类下载页面也分享给大家。
http://www.flashmemorysummit.com/English/Conference/Proceedings_Chrono.html
FMS闪存峰会应该也卖了不少赞助,来自厂商的演讲很多,会议资料内容丰富。这些资料每年也是分批放出来,最后加上一个完整的zip包。因此,如果想第一时间逐个分类下载整理也是个体力活(除非是最后用迅雷那样的工具一次性下载)。
http://pan.baidu.com/share/link?shareid=3962463780&uk=2720341819#path=%252Fflash%2520memory%2520summit
值得一提的是,上面的网盘共享是按目录分类好的pdf资料,来自我的一位朋友刘志旺。当前包括会议前2天(8、9日)的内容,后续应该会补全。
这位朋友目前在HGST做销售(如果还不认识的朋友可以找我要他的联系方式)。卖闪存组件看似产品单一,反而是销售人员对行业和技术的了解普遍较强,因为企业级SSD特别是PCIe产品的差异化不小。
“销售工程师/顾问” 一词大概就是这么来的。可能由于HGST目前还在捆绑大容量充氦硬盘销售一款4U 60盘JBOD,刘兄现在对RAID卡方面的一些资料和信息比整天看技术的我都要了解更多,不学习就落后啊:)
闲话不多说了,下面开始本文正题。
最近业内有本很火的书《软件定义存储:原理、实践与生态》,其主要作者叶毓睿(Peter Ye)先生现任VMware存储架构师,曾任职于EMC、Compellent和戴尔公司,在书中撰写了包括VSAN在内的多个VMware相关章节,以及“内存虚拟化与SDS及Dell Fluid Cache”。从这个技术背景来看,我觉得书中或许可以做些进一步的分析?比如VSAN与Dell SC(Compellent)之间有没有共通之处?软件定义存储与传统阵列之间有哪些互相借鉴等。而恰好我之前对这方面有过一点思考,在此整理下自己的心得,希望能抛砖引玉吧。
去年我们曾经撰写过《存储极客:自动分层存储 PK. SSD缓存》一文,算是个初步的讨论。前不久又看到有同行朋友在评价孰优孰劣,当然技术只是一方面,有时也会存在商业立场的因素。本文我想更多从设计取舍的角度来谈,每种技术都有其不足或者说代价,只看对具体的用户环境哪种更合适罢了。首先以VSAN为例,在它的SSD+HDD混合存储配置中,默认的读/写缓存比例为7:3。其中SSD写缓存也被称为日志,进入的数据除了被覆盖写入所合并的那些,最终都是要落到HDD层的。自动分层存储则会有个优先写入位置,比如像Dell SC为了保证写性能,会一直写入高性能Tire1分层的RAID 10区域,然后再生成Replay(快照)后台定期将数据转存为RAID 5/6或者移动到Tier2/3容量分层。这里还是先讨论SSD+HDD自动分层,Dell SC是个读写分离的设计,一旦数据“下沉”移动到Tier2/3,再有读操作访问就要依赖所在分层的磁盘性能。为了进一步实现冷热数据自动调度的智能,它还包含一个数据回迁的策略,也就是会长期统计页面(数据块)的活跃度。表面上看SSD缓存的机制相对简单,但也有不足之处——比如闪存容量不计入用户总存储空间,并且通常不能配置太大。自动分层存储在这些方面要好一些,而用户在实践中也有需要注意之处,特别是初次做配置应该听从专业人员的建议,这里也体现出存储顾问经验的重要性。而到了全闪存时代,有人说不再需要分层存储了,而我却看到自动分层的设计也可以因为All-Flash而变得更加简单高效。也许有读者朋友会问:一个是软件定义的分布式存储,一个仍属于传统双控阵列,它们之间有可比性吗?VSAN的第一个版本随同vSphere 5.5发布,从vSphere 6.0开始,新的VSAN正式支持全闪存配置。所有写入数据一律进入写性能/寿命相对较高的缓存层SSD,然后逐渐“下沉”至相对廉价的容量层SSD;由于两种SSD的读性能并没有明显的差距,因此不再需要专门设计读缓存,容量层的数据直接读就好了。讲到这里,如果是对Dell SC系列存储比较熟悉的朋友,估计也会有和我一样的感觉,是不是比较相似呢?上面这张图,冬瓜哥在《浅析固态介质在存储系统中的应用方式》一文中也曾引用,我在这里不做过多讲述,有兴趣的读者可以点击上述文章链接。Compellent数据分级的精髓在于和Replay(快照)技术紧密集成。当然Dell SC不只支持2个分层,在写密集型 + 读密集型SSD基础上还可以加入磁盘来存储更“冷”的数据。根据上图中的5种配置文件,在同一台SC阵列当中也可以混合使用不同的自动分层存储策略。比如第三种是比较常用的全闪存SLC+MLC(资料有点老了,现在的写密集型SSD不一定都用SLC);而像Oracle redo log这样的写密集型数据采用第二种配置(或者全硬盘RAID 10)不做数据调度显然更合适一些。至于VSAN呢,我觉得更多考虑的是简单易用,支持虚拟化环境中的大多数应用即可,因此目前全闪存还只能分层。不过也有同行朋友看了我当初写的这些之后,认为将来VSAN也可能支持“单一分层”的全闪存配置。类似的情况还出现在Peter在《软件定义存储:原理、实践与生态》一书185页所写:“全闪存配置中的持久化层是SSD,被频繁写的数据(也即热数据)仍然停留在缓存层,而那些较少访问的数据才会被刷进持久化层(也即提供容量的SSD)。”而就像我在《为什么说全闪存VMAX替代不了XtremIO?》一文中写的,Dell SC全闪存分层的建议是每天业务不繁忙时段执行一次数据迁移(时间和频率可调),将写密集型SSD分层中的数据尽量转移到读密集型SSD,从而保证第二天新的写入获得最好的性能。这里我们可以看到全闪存阵列与大多数Server SAN/超融合存储之间的设计理念有些不同。同样是数据在不同存储介质之间的“刷盘”动作,VSAN等的执行策略不算积极,这样在长时间持续写入压力后容
易出现与后台调度任务的性能争用;而Dell SC则会尽可能避免这种情况,可以说各有侧重吧。这一点,又让我想起了Dell SC存储的数据压缩和重删功能。与戴尔SC存储阵列相比,VSAN 6.2的数据缩减功能作为一款“软件定义”的双控存储阵列。戴尔在SCOS存储软件——Storage Center 6.7版本中引入数据压缩:除了单层、RI(读密集型)/ WI(写密集型)SSD分层全闪存阵列之外,在全HDD阵列和混合阵列配置上也可以打开压缩功能,如上图。而到了前几个月推出的SCOS 7.0软件版本,重复数据删除也成为一个选项。即打开重删时一定有压缩,而压缩则可以单独开启。除了“智能重复数据删除之外”,SCOS 7的增强特性中还包括Live Migrate – Federation(可以理解为建立在Live Volume双活基础上的存储联邦)、QoS和VVoLs;另外Dell Storage Manager统一管理平台加入了SC(Compellent)和PS(EqualLogic)之间跨产品家族的双向存储复制,而不只是一次性迁移。VSAN 6.2中的数据缩减特性,和戴尔SC阵列的增强型压缩有些类似,都是通过与自动分层存储(Tier)/缓存分层(Cache)机制相结合,其重删/压缩动作成为定期执行的后台任务,从而有效避免了数据写入高性能分层时的性能影响。VSAN 6.2为什么只在全闪存配置上支持重删和压缩?除了闪存更需要提高利用率之外,我觉得这个问题从技术原理上不难回答:因为传统SSD+HDD的VSAN配置中闪存和硬盘的容量配比官方建议1:10,由于读写性能都比较依赖SSD,缓存中读/写缓存默认比例又是7:3,此时SSD写缓存只有大约卷容量的3%。一旦占满导致数据向后落硬盘时,如果加入重删/压缩很可能会影响到性能体验。相比之下,Dell SC存储的配置灵活性要大许多,不同分层的盘数、容量比例可以按需设计,而且Tier1也是优先保证写入数据的。正如我以前表达过的,这些是产品定位和设计理念上的不同,没有绝对的好坏之分。总之,传统集中式存储也罢,分布式的软件定义存储也罢,为了应对需求而采用类似的技术是很正常的。站在这个角度来就会发现它们之间存在一些有意思的联系。
注:本文只代表作者个人观点,与任何组织机构无关,如有错误和不足之处欢迎在留言中批评指正。进一步交流技术,可以加我的QQ/微信:490834312。如果您想在这个公众号上分享自己的技术干货,也欢迎联系我:)
尊重知识,转载时请保留全文,并包括本行及如下二维码。感谢您的阅读和支持!《企业存储技术》微信公众号:huangliang_storage
长按二维码可直接识别关注