存储极客
这是一群存储偏执狂
为存储而生,跟存储死磕
各具独家秘笈
有观点,有碰撞,有干货
从今日起
做客存储极客栏目
与你分享存储里的那点事儿
本期话题:
自动分层存储PK. SSD缓存
有人说Tier和Cache这两种技术,有各自适合的场景,但我更倾向于认为它们解决的是同一类问题。在传统单层磁盘阵列的基础上,添加SSD缓存相对容易实现,而自动分层存储要想把效果做好则是一件不太容易的事情。在本文中,我们将从几个角度全面地比较自动分层存储和SSD缓存,究竟有没有一种相对完美的实现呢?
从目前看,固态混合阵列的出货量仍远超出新兴的全闪存阵列市场。一方面7200转硬盘的单位容量成本,与SSD相比仍有巨大优势,对于想兼顾高IOPS和大容量存储需求的用户,选择带有自动分层存储或者闪存缓存的阵列还是一个不错的选择。
对于传统使用高转速(特别是15K)硬盘的企业存储市场,戴尔等厂商已经开始以硬盘的价格为用户提供全闪存配置。当前全闪存阵列市场还处于发展阶段,MLC(或者企业级MLC)闪存逐渐成为主流,尽管它的性价比更好,但一方面写入性能比SLC相差不少,另外仍有人担心MLC的寿命问题。因此,在SLC和MLC闪存之间的智能分层也不失为一个理想的解决方案。
在混合阵列的优化技术路线上,有些厂商选择支持自动分层存储(Tier),有些厂商则提供SSD缓存(Cache)功能,还有对两种技术都支持的。我们曾遇到过一些用户不知该如何选择,也遇到过在项目采购招标中指定其中一种,从而使部分产品处于有利地位的。
今天,我们从以下7个维度来比较相关技术,前6项规定满分为5分,由于站在每个特性对整体影响的角度来看,故最低得分设为3。最后一个附加考量项目,允许+2的加分。
1.只读加速?
还是读写加速?
对于SSD缓存技术而言,大部分只是Read Cache,也就是将热数据的副本放到SSD中,只加速读操作。这样有一个好处,就是不用太担心SSD或者闪存卡故障,最多是性能下降但不会丢数据。当然也有支持SSD写缓存的,这种情况下一定会对闪存盘做RAID保护,因为在数据没有写入硬盘之前,它们在闪存write buffer中是唯一的。开始时,厂商为了减少性能损失选择RAID 1多一些;也有希望容量利用率高的厂商支持了RAID 5。
存储阵列上的SSD读/写缓存,可以理解为DRAM高速缓存的一个大容量补充
闪存与传统机械硬盘的一个明显区别,就是它的读性能比写性能好。如果将有限的SSD容量同时用于缓存加速读和写,有时候效果并不是很好。所以,尽管SSD读写缓存某种程度上类似于自动分层存储,但它们之间的区别还是不小的。
相比之下,在这一点上自动分层存储不怎么纠结,只要是位于SSD高性能分层的数据读写都一样加速。不过我们认为,不同的分层技术对SSD和HDD之间的调度算法还是有许多不同之处。请继续往下看…
✎本项评分
SSD缓存:3.5分
一般自动分层存储:5分
戴尔Data Progression:5分
注:由于特点突出,在本文中我们将戴尔Data Progression与其它自动分层存储分开对比。
2.只是“傻快”吗?
还有数据生命周期管理呢
SSD缓存无外乎是两种用法:read cache和write buffer,都是用于加速,而且只区分2种性能等级的存储介质——SSD添加到HDD存储池,对于在硬盘上的数据来说,没有进一步的数据管理功能。
对于自动分层存储技术,有些只能支持2个分层,因为这样的数据迁移规则和算法最简单。当在SSD之外还配置高转速和大容量两种硬盘时,在一个层中混用将无法充分发挥它们的性能。
能够支持3个或以上Tier的自动分层存储一般是中高端产品,戴尔SC(Compellent)阵列的Data Progression便是其中的代表。而且戴尔SC还提供一些独特的功能,可以将快照后的只读数据在同一存储层中由RAID 1转换为RAID 5或6存放,一方面节约了存储空间,同时还能保证读写性能不下降。
注:得益于底层原生块级虚拟化技术,戴尔SC存储支持将新数据永远写入到高速RAID 1中以保证写性能,对已经迁移到RAID 5/6的数据块也不会原地修改。
✎本项评分
SSD缓存:3分
一般自动分层存储:4分
戴尔SC Data Progression:5分
3.闪存能hold住多大?
数据移动精度如何
对于SSD缓存技术来说,它的容量不会累加到存储池,也就是说实际可用空间还是HDD RAID的容量。自动分层存储的总可用容量,则是来自多个分层,包括SSD RAID和HDD RAID之和。
SSD Cache只是把数据当做临时空间,最终还是要写进永久存储层的,并不能减少IO,以及优化数据在磁盘上的位置。而自动分层存储是把SSD当做真正数据的家。
也许有人会说这个影响不大,因为SSD缓存容量平均只有存储池的3-5%。因为,SSD缓存管理的元数据,需要占用阵列控制器的内存资源,缓存页面的粒度比较细,例如有的产品是4KB。因此,带有闪存缓存的阵列能够管理的SSD Cache容量上限,通常为数TB级别。
自动分层存储对SSD的容量通常没有限制,有些厂商SSD数量的限制通常是人为的,主要是超过这个数量无法得到应有的性能提升。
自动分层存储可以分为LUN和sub-LUN迁移粒度。其中根据数据访问频率在硬盘和SSD之间迁移整个LUN是早期有的厂商比较初级的做法;目前主流的都是迁移LUN中的数据切片,一般厂商能做到16MB-1GB的水平,而戴尔Data Progression则能达到512KB-4M的迁移粒度。这个粒度影响到对闪存的利用率,而且迁移不必要的数据也会带来额外的I/O。
戴尔SC阵列虚拟页大小有512KB、2MB和4MB三种,即Data Progression自动分层存储的迁移粒度。
下面这项的评分,是结合这一小节的两点给出。
✎本项评分
SSD缓存:3.5分
一般自动分层存储:3分
戴尔SC Data Progression:4分
4.反应快慢
数据迅移一触即发?
对于需要高I/O性能的存储访问,我相信每个用户都希望能尽快地被闪存“命中”,这是所有固态混合阵列都要面对的。
对于SSD读缓存,有的算法是数据块读取一定次数(比如3次)之后被复制到闪存中,Cache使用达到一定比例再淘汰其中的不活跃数据,通常对热数据的响应速度还是比较快的;SSD写缓存则是先放到闪存,再根据一定规则后台刷新到磁盘。
自动分层则不同了,有不少产品是将数据先写到低性能分层,按照预定或者设定的周期统计它们的活跃度,再把热数据迁移到SSD高速分层。这样实现比较简单,但是只要是写入的数据块还没有被迁移到SSD,那它的性能就无法提升。
在这种情况下,数据移动的频率就比较重要了。尽管有的产品支持1小时统计周期执行一次,但考虑到白天可能影响到生产存储的性能,还是在每天夜间执行的更多。
对于另外一些自动分层存储技术,则是将数据先写入SSD高速分层以获得最好的性能,再根据某种策略向“下”迁移,比如戴尔Data Progression。读写分离是戴尔SC(Compellent)的关键,默认每天一次执行Replay(快照)数据迁移不加重控制器的负担,并最大程度减少对生产数据访问的影响。
针对这种情况,统计周期和分层操作的频率就显得不太重要了,因为绝大多数应用环境都不会在较短时间内就把SSD分层的容量写满。而且戴尔SC阵列还支持在同一分层内,将快照数据由RAID 1转化为RAID 5/6,在保证读/写性能的同时提高闪存利用率。
✎本项评分
SSD缓存:5分
一般自动分层存储:3分
戴尔SC Data Progression:4分
5.区别对待
最大发挥SLC/MLC/TLC闪存价值
如果是同时支持读和写加速的SSD缓存,有的是按比例划分容量;也有少数产品建议用SLC做写缓存/MLC做读缓存的,比如ZFS文件系统。但ZFS的写缓存只是当作小容量日志来使用,更多目的是用来做缓存掉电保护。
绝大多数自动分层存储技术,不会对SLC和MLC闪存做区别对待,所以通常只能使用一种类型的SSD。
而戴尔“闪存优化型”Data Progression分层还有一项“读写分离”技术。有些厂商的全闪存阵列(AFA)只是为了炒作而成的产品线,而戴尔则是真正扎扎实实做闪存优化的厂商,是业界唯一一个做SLC、eMLC分层,现在又第一个把TLC融入到存储介质中。就像我们在前文中介绍的那样,写密集型(SLC)SSD中的数据会定期迁移至读密集型(MLC或TLC)分层,这样SLC专注于写而MLC/TLC专注于读,两种操作都能获得理想的性能,同时提供良好的性价比。
✎本项评分
SSD缓存:3.5分
一般自动分层存储:3分
戴尔SC Data Progression:5分
6.贴近计算
服务器闪存如何打通?
至少有几家供应商提供服务器端的SSD缓存类产品。尽管它们中的许多可以搭配SAN阵列使用——而感知不到后端有没有闪存,所以是否在服务器和存储端使用多级闪存是个需要仔细规划的问题。
要问有没有服务器端SSD缓存软件能跟后端阵列协同的?戴尔Fulid Cache for SAN和SC阵列之间就有一个联动机制,当后端创建快照时会触发服务器闪存中的写缓存数据刷新到阵列,以保证与主机端应用的一致性。需要注意的是,下面的评分并没有将Fulid Cache for SAN与其它闪存缓存软件的比较考虑在内,有兴趣的朋友可以参考《性能与ILM的平衡:服务器闪存缓存的思考》一文延伸阅读。
据戴尔流动数据的理念,底层是无所谓各种存储介质,确保数据可以无缝流动,不论是SLC、 eMLC、TLC闪存,15K、7200RPM硬盘甚至未来的各种介质,底层完全虚拟化包容。上层还可以通过Live Volume、Fluid Cache实现跨越存储,和跨越存储-网络-服务器的数据流动才是戴尔的真谛。
✎本项评分
SSD缓存:3分
一般自动分层存储:3分
戴尔SC Data Progression:4分
7.智者千虑
必有一失?
任何的自动化策略总有不适用的时候。比如每月固定1天结算,某个LUN需要最高的性能。这时,主流厂商的自动分层存储大多提供了手动和计划迁移的支持。
相比之下,SSD缓存在这方面就无能为力了,用户基本上无法干预。
✎加分
一般自动分层存储:+2分
戴尔SC Data Progression:+2分
✎综合上述评分,结果如下:
SSD缓存:23.5分
一般自动分层存储:23分
戴尔SC Data Progression:29分
看完本文之后,不知我们比较的是否全面,这样的结果与您心目中是否一致?如果您是一名用户,今后再遇到自动分层存储和SSD缓存的选择时,还会再犹豫吗?
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
存储极客 | 从硬盘设计思想到RAID改良之道
在发布了《存储极客:这些硬盘参数你都懂吗?》文章之后,我们收到了来自一些视频专业厂商朋友的反馈,其中有很多值得与大家分享的信息。
-
不满意就退货,戴尔存储看齐电商
戴尔最近宣布未来就绪的存储保障计划,一句话概括就是:“60天内不满意即退货”。你可能会感叹:为了提升用户体验戴尔真是拼了。不过细想下,有钱才能这么任性吧?
-
视频监控 | 跟随戴尔一起走进安防领域的“新蓝海”
相关数据预计到2018年中国视频监控市场规模将接近千亿元,而中国视频监控企业多达数千家,竞争激烈。
-
工作负载就绪 | Dell Fluid FS 集群NAS系统在4K非编环境的卓越表现
随着数字化时代的到来,非线性编辑成为快速编辑海量视频素材的主要方式, Dell Fluid FS存储系统在此领域的上佳表现,已为广电行业的众多客户带来了卓越的制作体验。