前言:
每个人对一种技术的观点都是发自不同角度的,而这些不同角度观点的依据,有可能来自自身技术经验,以往项目,目前的行业或者道听途说然后加入自己的主观意识。而现在,我想谈谈我自己对与SSD的认识,和一些观点,以下理论基于我已经实施过的项目及辅助partner完成的项目,还有一些来自业内前辈的点化,当然,我获得了一部分内部资料,而这些都是目前国际前沿的SSD厂商。
****在这篇内容中,我不想使用“SSD”这个术语,因为在之前的一个交流中,一个前辈告诉我:你可以称我的产品为"NAND",或者称它为Memory Array,但是我们不习惯称他为"Solid state disk",原因很简单,我们认为传统的solid state disk是被封装在一个盒子内,在盒子内通过IO总线连接到设备,而IO总线通常是SAS,SATA类型再转接到设备IO总线<比如App Server>,从而可能会形成瓶颈,我们的NAND很多时候是安装在设备PCIe上面,比如
近2年的时间里,企业级的NAND在内地的论坛,媒体以及厂商中无非是存储界热门的话题之一,而这些话题内容则最多围绕着:
>容量?
>价格?
>ROI?
>安全性?
>未来趋势?
>技术成熟度?
>稳定性&寿命?
现在,我想先聊聊—容量:
目前NAND容量,单颗SLC就已经和HDD相当,通常做到2TB,3TB都不是问题,而MLC工艺所带来的容量,几乎10TB或更高都可以做到。所以,在容量问题上,如果对比单一HDD,那NAND则会有更高的指标。很多时候,我们使用存储阵列,这时候HDD容量几乎100TB,500TB或跟高,而NAND目前也有阵列,就是Memory array;
Fusion-io也能够把多颗NAND,通过一个独立的企业级服务器进行整合,然后发布出去,这样则可以整体扩展容量到更高级别。
而memory array的新秀厂商Violin Memory可以在一个3U的盒子内集成64TB,而最高能够扩展到352TB,请问,您往常实施过的HDD中,中端存储阵列又能到多少?
最后,再比较NAND和HDD容量时候,NAND并不像我们预想那样逊色,并且在某种程度,相同容量可以占用更小的空间,减少能源消耗及维护精力<这个话题稍候再聊>。
稳定性 & 寿命?
这个话题被很多人关注,然而我要客观的表达一下我和大多数人不同的观点,如果是在某些IT论坛发布,很有可能被很多人炮轰,尤其是那些容易发怒的朋友,所以我偷偷写在自己角落,若需要甚至可以设为隐私,这就安全了。
我的观点是:在多数情况下,NAND寿命会比HDD更久!
在讨论NAND的寿命长或短时候,我们的基准如何建立?多久算长久,多久算短暂?我想这个基准最多建立在HDD上。很多厂商说HDD寿命至少是5年,7年或者30年,而NAND也就3年,或者更久一点。这些数据无疑是从厂商的实验室获得,我相信这些数据是真实的,科学的,让人信服的,但是我更相信厂商的测试环境会像医院的手术室一样干净且温度适宜,我们企业的数据中心也会像手术室的环境一样吗?
HDD:我最后一次的实施在北京,一个用户有250TB存储,几个机架的磁盘,看到存储售后工程师正在更换磁盘,得到如下结果,用户250TB存储从实施完成到第一次报修磁盘报警故障,仅仅8个月时间,且在后来一次微码升级的操作后,同时8颗磁盘报警。重庆我经常过去,让我感觉气候明显好很多,哪怕用户数据中心经常开着门,设备上面仍然没有太多灰尘,而那里的集成商告诉我,通常第一次实施后,待用户第一次磁盘报修平均是1年或者1年半。也许会有人说,磁盘报警闪黄灯并不意味着磁盘坏了,也许控制器发现了潜在问题,也许还可以继续用。而我会说,非要等到磁盘从黄灯变成红灯,或者磁盘彻底不转了才更换吗?我认为这颗产品已经坏了,而寿命则是1年或者2年也许在久一点。或者请想想,您自己部署过的项目,待第一次客户保修磁盘是多久周期,会是5年?7年或者30年吗?最终的结论,如果按照理论值,机械磁盘寿命可能是比较乐观的,而按照用户环境,比如散热,卫生,UPS等等,机械磁盘寿命远远低于理论值,而此时的NAND将会发挥其特有效益,这取决于自身的制造工艺,低散热,没有振动,精简电子元器件<无马达>;这些效益随之使用环境的苛刻,放大性的体现其效益<较之HDD>,甚至无法判断HDD与NAND哪个使用更久,但是NAND会更有优势对吗?
如果是一个激进的厂商,一个有高瞻远瞩的厂商,都会花最大精力改善已知问题<而不是敷衍>,这样才能在竞争中脱颖而出,关于NAND已知问题其一则是删除写入带来的放大效应,这边弊端已由厂商的代码改善很多,厂商多是利用软件技术,控制其IO对NAND的重复操作,以及优化Block分区,聚合写入方式延长其NAND寿命,每次接触这些厂商,他们都会很欣喜的分享这部分技术,告诉客户他们是如何对这些通用的问题进行改善及改善的结果。
NAND:我第一次实施带有NAND的项目是,距13年10月的三年前,Partner考虑到全冗余SAN节点,及预算。所以使用民用级NAND-PCIe,运行医院核心系统,至今在跑。我想企业级的NAND选用品级最高的NAND颗粒,使用则会更久。
关于稳定性无需太多概述,NAND由来已久,只是用来存储企业数据是近2年的话题,可是NAND的前辈厂商德州闪存系统
因此我想说,请不要过多的畏惧NAND的寿命。
安全性?
HDD可以使用RAID进行磁盘保护,NAND也可以。并且Violin Memory的Memory Array允许多个nodes之间做出cluster,我们只要移步去该网站就能了解其实现技术。总之,这部分顾虑完全可以按照一颗传统的HDD来对待。
技术成熟度?
这个是相对的,很多时候无法找到一个基准,或者认为大家都在使用了,那就算成熟了?那也许会永远排在后面,对于一个集成商来说,就无法获取市场先机,但是判断一个产品的技术含量并不是那么复杂。只是带上我们的技术顾问,留意产品每个功能如何实现以及实现到什么程度。换句话说,这个产品能做哪些?哪些不能做?如何做?能做到什么程度较之竞争对手。这是我自己判断一个产品通用的手段,而不会受其它外界干扰,或者潜意识排斥某种技术类型。
价格?
这个话题被关注的程度仅次于“寿命”。我再次阐述一个与多数人不同的观点,我不认为它是昂贵的,较之HDD。
“贵”的基准也是建立在HDD上面,对吗?一颗企业级HDD三千多块,而同等容量的NAND需要三万多块,如果400GB左右。这样比确实贵,但是请问:传统的HDD理论值IOPS是多少呢?FC DISK=200?但是一颗NAND通常的IOPS是多少呢?
HDD .vs...
NAND
它能够轻松至10K以上。那我们需要多少颗HDD才能堆出这样的速率?请注意,同等条件下,相等的IOPS不等于相同的延迟。这样还觉得贵吗?
我们有句古话,对于买的人,永远是值,不买的人就是不值。在我的项目中,完全是需要它的,它的性能,低的延迟,凸显方案的先进性,提高方案的竞争优势,anyway就我用过的项目中,我认为值,价格也就OK;再想想,比较有性能需求的客户:Taobao,Amazon,订票系统。比较大型的V-Server用户,一定数量的V-Desktop用户。有些用户需要更大带宽,但是也有很多用户需求磁盘快速的做出响应及更低的延迟。
一个1000台虚拟机的环境媒体教室,成千上百颗磁盘阵列集群,可能需要1个半小时才能完全启动,而一个3U的NAND-memory array 仅仅需要30分钟,并且较少购入成本和精力,学生无需等待更长的时间,并且获得了更好的体验,我会在如下内容中,介绍如何把成本降到更低。
ROI?
前提是建立在需求上,需求能够满足必然是ROI的基础,我认为;其次占用更少的空间。我在一些地区,部分用户设备仍然是租用的场地,并且每年支付昂贵的租赁费,如果是淘汰的设备,客户会立刻撤回场地,尽量的减少租赁费用,而NAND由于其特殊工艺,无需占用更多的空间较与HDD。更少的维护成本投入,比如冷却系统,UPS系统,电力成本等等,这些都是不言而喻的;
如果一个医院用户,需要100TB空间,并且需要为关键几个系统配置NAND的性能,需要一次投入100TB的NAND存储吗?在我看来不需要。
市场上一些前沿的技术,我们是完全有权利享用的!这些技术所映射到产品包括:IBM SVC,飞康的NSS,EMC FAST,DataCore Software等等,当然还有爱数云柜。
这些产品包含2个特殊的功能,首先是能把不同的存储进行整合,然后“池化”,使可用容量达到100%,其次是支持存储自动分层的功能<有强有弱,请自行比较>;
所以,还记得刚才医院的案例吗?我们使用900TB的HDD,然后购买1TB的 NAND,进行整合后容量则是100TB,在容量上满足了用户;存储自动分层——实质意义是检测前端主机IO对某些Block访问频率,如果是频繁的Block会自动迁移至NAND,而随着Block访问频率下降,会再次迁移至HDD,带有这种自动学习模式的Block迁移,正是存储自动分层的特征。综上所述,同样是100TB容量的投入,我们利用这种方式至少降低成本至80%,最大化提高了ROI,存储厂商XIO同样是考虑到了这个理念。
或者请移步,参考我的另一篇:关于分层式存储
未来趋势?
我认为,在14年,NAND市场将会预热。尽管很多媒体说一线厂商都有NAND产品,请问产品名称及型号?没有,一线厂商的都在酝酿,并且仅仅作为一个辅助功能置入的自己的存储中,比如EMC的FAST,仅仅是一个辅助,IBM花重金收购TMS不可能没有下文;这些一线厂不会看着那些新起来的硅谷公司在属于“自己”的蛋糕上你一刀他一刀。仅仅是一个时机问题。
据我了解,部分大厂处于政策考虑,和这些新起的硅谷公司达成了OEM,而另一些大厂则直接收购,如IBM;
作为我自己,我仍然希望更多项目,在有需求时候加入NAND角色,帮助Partner提前积累这些经验,只待某天市场火热的时候,Partner会拿出比别人更多的案例及更具有特色的方案。
update.....v1.1
2013-12-05 update v1.2
围绕最近几个和NAND Flash有关的项目,我想更新一下这篇内容,然后谈一下2014至后三年的NAND Flash发展方向。
在接到一个项目初期,无论是售前工程师或是项目经理,最多的脑细胞耗费在哪些方面?我认为是“权衡”,我们总是反反复复权衡,投入多少,回报多少?
在面对Flash这个话题上:
如果按照厂商的方程式,“Per 容量×Per IOPs=投入成本”这是完全合理的。因为我的需求包含了性能,就我亲身测试项目,两颗民用级SSD,组建的RAID 1后,IOPS都能够稳妥的达到60000(100%random),这里我们不谈理论值,如果使用HDD呢?一颗FC HDD最大IOPS无非也就是200,那我们需要采购多少颗HDD才能达到60000-IOPS(100%Random)?后期的维护成本呢?制冷系统?
如果按照“Per 容量=成本”来计算呢?这部分投入必然是昂贵的,一颗SATA磁盘很容易解决3,4TB容量,而采购4TB的Flash 则需要高于10倍的成本。我遇到很多这样的客户,他们希望有一个大容量,方便统一部署存储系统,同时也需要更快的磁盘响应速度,那么,此时如果全部投入Flash似乎太过昂贵了,有更好办法能够让用户摆脱这种困境吗?
有的—Hybrid Storage
很多舆论话题集中在Flash会不会取代HDD,会不会在14年大卖,会不会改变整个存储进程?而很多人却忽略了Hybrid Storage,并且我绝对相信在2014年及连续几年有很大的需求。
Hybrid Storage 包括两方面,一方面针对是产品,另一方面我觉得对应是解决方案。
对于产品而言,XIOstorage.com绝对是一个不错的厂商,当然还有更多类似方案提供商。他们会通过一个3U的盒子,放入大批量的HDD混合少批量的Flash以达到提速的目的。两种不同特征介质,有可能会被做成一个磁盘池,略有虚拟化技术,或者自主研发的Striping;目的很明确,在保障两种介质空间100%利用率的情况下,使关键的数据块移动到Flash上面(或访问频繁的数据块),而较冷的数据块则放在HDD上面,当然HDD可能是SAS,SATA,Near-line SAS几种的组合。而不同厂商的区别在于,手动来实现,还是自动?迁移的方式与时间?依靠每个厂商的软-技术实力。
第二个方面是解决方案,这涉及到了一个更大的范围,但是较上述的“产品”而言,核心的重点包括了客户已有的资产如何保值。而很多厂商能够很好的解决这个问题,借助于Software-defined Storage特性。我们可以投入一套带有虚拟化特征的存储网关,把用户所有的存储阵列接入到一个大型磁盘池,然后在选购一小部分Flash加入磁盘池。首先,原有的存储利用率得到了更大的提升,这也许是客户意想不到的额外好处,其次是热点数据/或数据块在Flash上面,而非热点数据搬迁至IBM,EMC等老旧的存储阵列上面,每个关键应用,如VDI,OLTP都能享受Flash性能。在将来,客户考虑到容量扩容时候,依然可以选购那些中等性能的存储,然后适量添加一小部分Flash。
因此,这是一套廉价的方案,而回报则是超乎寻常的,这一切依赖于—Hybrid Storage!这也是我为什么相信Hybrid Storage 会在今后的几年占据一部分市场的原因。与此同时,好的机会总是留给那些敢于冒险的先行者,当更多的客户已经认同这是一套完善,且稳定的方案时,需要的是厂商拿出更多的案例和经验丰富的设计观点,一部分走在技术前沿的厂商得到了一次很好的展现机会,而另一部分厂商则会很困惑,而后者有可能是目前还在观望的。