SSD方案,固态硬盘在无盘服务器上的评测 [复制链接]

wupan
三国LV2
技术中心 22897 3 2010-11-9 14:50:32
 网吧,和有的KTV点歌系统都在使用ssd无盘服务器,因为ssd无盘服务器能够减少维护成本和保证系统工作效率,但ssd无盘服务器中工作站的机器运行速度,和本身服务器的维护一直是没有一个很好的解决办法。

2.jpg

  对于存储领域来说SSD固态硬盘的面世,无疑是一场革命,注定要成为之前传统硬盘的毁灭者!当前情况下因为很多制约,SSD硬盘还没有完全普及;而SSD硬盘的诸多优点恰好是适合无盘服务器应用特点的,在恰当的技术方案搭配组合下,SSD硬盘在无盘上的全面应用不再是遥远和漫长,可以说目前SSD已经完全可以全面地在无盘服务器上应用;性能上自是无须置疑,寿命方面SSD也绝不脆弱,我们更欣喜地看到全面采用INTEL SSD的无盘服务器在极大地提高带机量的同时,价格却下降很多,且在功耗方面也节约很多!通过本文对SSD无盘应用的分析,希望让更多的关注无盘技术的朋友对SSD 无盘应用有一个更深入地了解。
  对SSD 特点介绍前,我们要对SSD两种类型的储存单元以及与传统机械硬盘的工作原理对比进行概述。
  储单元分为两类:SLC(Single Layer Cell 单层单元)和MLC(Multi-Level Cell多层单元)。SLC的特点是成本高、容量小、速度快,而MLC的特点是容量大成本低,写入速度及IOPS低于SLC。MLC的每个单元是2bit的,相对SLC来说整整多了一倍。不过,由于每个MLC存储单元中存放的资料较多,结构相对复杂,出错的几率会增加,必须进行错误修正,这个动作导致其性能大幅落后于结构简单的SLC闪存。此外,SLC闪存的优点是复写次数高达100000次,比MLC闪存高10倍。此外,为了保证MLC的寿命,控制芯片都校验和智能磨损平衡技术算法,使得每个存储单元的写入次数可以平均分摊,达到100万小时故障间隔时间(MTBF)。MLC与SLC 卓越的性能,已经足够满足SSD无盘应用的需求,在考虑成本的同时,我们会尽量选择处于价格优势上的MLC SSD。
  传统硬盘一般由马达,磁碟和磁头等机械运动部件构成,运动部件的使用将需要较多的时间和较大的功耗,这也是传统硬盘在无盘服务器多IO,多读写操作的状态下,客户机启动速度和进入游戏慢的原因之一,而固态硬盘技术则运用固态闪存芯片取代了传统硬盘中的机械运动部件,由于不需要等待机械部件的运动过程,从而大大加快了硬盘的数据传输和读写速度,无论是无盘服务器磁盘在高负载,满机负载的情况下,客户机无需等待服务器磁盘I/O处理速度问题而滞留。
  1、性能远高于机械硬盘
  MLC单盘读取速度,标准250MB/S,写入速度100MB/S,则SLC 的写入速度已经超过200MB/S,高出了传统硬盘2-3倍!寻道时间0.1MS,现有常规的7200转企业级硬盘,寻道时间为12MS,而15000 转的SAS 硬盘,也定位在5.6MS 左右,则关键的参数指标是IOPS 即I/O per second,即每秒进行读写(I/O)操作的次数,多用于数据库等场合,衡量随机访问的性能。SSD 固态硬盘在64KB数据块随机读取标准下,可以处理高达2000多个任务,而15000转的SAS硬盘只可以处理170个,由此可见,SSD在无盘上的应用都比目前市场主流SAS硬盘都更加优越,打破传统硬盘读写速度的瓶颈。
  2、功耗低
  SSD待机功耗只有0.05-0.1W,而传统硬盘则为5-10W不等(视厂商设计及硬盘类型而定),而运行功耗,SSD只有2-4W!在我们的实践测试中,一台SSD的无盘服务器,1小时的功耗是0.07Kwh,而传统无盘服务器磁盘1小时的功耗是0.13Kwh。
  3、散热低
  得益于免除机械手臂装置以及低功耗设计,SSD的发热量也相当的低,而传统硬盘则动不动达40度或以上,如果无盘服务器散热结构不是很合理的情况下,散热系统风扇随着时间的增长导致性能下降,环境一系列问题,促使硬盘温度过高,寿命减少一半,而导致客户的损失是不言而喻的,而SSD 散热优势,势必成为客户采购时候的一大亮点!
  4、无噪音
  SSD与传统硬盘截然不同,完全0噪音的运行,而传统硬盘的噪音则是让相当多的无盘精英们头疼的问题。
  5、重量轻
  一般SSD重量约为90克,一块普通的3.5寸SAS硬盘重量是700克周围,从包装的角度,物流成本考虑,SSD 固态硬盘比传统硬盘又增加一项优势!
  6、 抗震强
  磁盘在物流的过程中,或者在安装的过程中,假如出现过严重摔伤的情况,重则着硬盘成死盘状态,轻则为硬盘埋下了深层的隐患!而且传统硬盘在工作时如果出现震动,则很容易产生“坏道” 而SSD在无盘服务器上的应用则完全不需要有这种担忧了。
2010-11-9 14:51:05
本帖最后由 wupan 于 2010-11-9 14:57 编辑

SSD与无盘服务器应用需求
  无盘服务器中工作站的机器运行速度,和本身服务器的维护成本一直是没有一个很好的解决方案,虽然各种无盘软件系统做了很好的优化,但随着文件系统的数据量加大,再好的优化也很难解决机器本身的I/O处理速度,因为一台无盘服务器的整体性能的瓶颈被硬盘的I/O处理速度所限制,虽然可以用磁盘阵列来提高I/O处理速度,但是这个提高能力有限,且还要增加硬件成本,一旦硬盘坏掉或老化等问题出现,还要影响系统的稳定运行。在计算机技术发展高速的今天,SSD技术日益成熟状态下,无疑是无盘行业迟来的春天!
  在成本方面,一块SSD能担任目前最主流3块SAS硬盘 阵列的任务,完全使用全串口方案,减少使用集成SAS芯片,独立SAS卡带来的额外成本,而且多磁盘阵列情况下,RAID 0模式风险由此增大,如果某个磁盘出现故障过后,数据则全部丢失!从一系列优势可以发现,SSD在无盘服务上应用性能上完全超越传统机械硬盘,成本更低,完全有理由替代现有无盘服务器磁盘配置,成为新的无盘服务器磁盘应用需求!
  SSD与目前最主流的SAS 硬盘对比测试
  文章介绍到中篇,我们重点来分析SSD 与传统硬盘的差别有多少,真正能给无盘服务器带来多少价值!
  下图使用的是Intel SSD MLC160 与目前市场上最主流的希捷300G 15K7 SAS 硬盘做对比测试,在持续读取速度上已经略胜一筹了。
                                                             2.jpg

 接着采用的是Intel SSD 64G SLC 与 富士通 73G 15000转SAS 写入速度对比图,SSD SLC 已经是两个FST 73G RAID 0 的速度。

                                                         3.jpg

当然,从上图的测试结果中,并不能完全代表SSD 比SAS性能有着巨大差异,对MLC160G在持续写入的时的测试还是不及ST15K7300GSAS,但是 这本身也不是问题,在实际应用中,持续写的状况并不是经常发生的,在无盘服务器写盘方面应用,需要的是零散的小文件随机无序写入,持续速度大小并不重要,更重要的是需要在短时间内对大量的小文件的快速处理,我们接着来看,无盘服务器磁盘指标更重要的性能测试,就是对于磁盘的IOPS性能测试!


5.jpg 4.jpg

2010-11-9 14:51:25
本帖最后由 wupan 于 2010-11-9 15:04 编辑

无盘服务器数据应用,以64K数据为标准的情况下,Intel SSD MLC 160G 已经是目前主流SAS 盘的10倍!这也是因为SSD的特性,用闪存代替了机械,无疑将磁盘的寻道时间这个最重要的指数提高到零点几毫秒以下,该项测试看来,在无盘服务器的磁盘写入应用方面就性能而言SSD 绝对彻底领先机械硬盘。

  接着我们讨论一个问题,无盘软件中所使用的读写分离技术,系统镜像包/所有游戏镜像所在的分区,该分区就可以看成是“读”,控制端上的“工作站目录”,也就是客户机的临时数据存放所在分区就可以看成是“写”,所谓的“读写分离”。就是把IMG镜像和客户机的回写数据分开存放到服务器的不同的分区(阵列)上。这样读/写分离之后,对服务器硬盘压力相对来说较小,从而提高客户机的运行速度,这也是常规无盘服务器磁盘系统的规范之一,为什么不使用一个或者一组RAID硬盘胜任所有的任务,因为单个硬盘或者一组RAID ,同时进行读写操作的情况下,磁盘的性能会严重下降,SSD在无盘上应用,还需要使用读写分流技术么?那就让我们看下真实的测试结果吧。


  上图是一块ST SAS 300G 15K7 SAS 同时读写持续操作的测试读,从上图看出,磁盘速度已经在7MB/S 左右了,这也是无盘为什么要做读写分离的原因了!

  接着我们在Intel SSD MLC 80G的测试中,读写同时持续操作,磁盘速度仍然能接近到60MB/S 的速度,是主流SAS硬盘的10倍,这也足以表明读写不分离技术已经成为了现实!




  从以上几项性能测试中,SSD 固态硬盘性能已经遥遥领先与传统机械硬盘,在无盘服务器上全面应用指日可待!

 SSD在无盘使用中的寿命研究
  SSD寿命想必是大家特别关注的话题,而且在无盘上的应用,其寿命是否能得到保证!对此,我们探讨了SSD的工作原理,以及MLC与SLC SSD在性能和可靠性上的差异,实际上,Intel在针对SSD的可靠性和使用寿命上,也有一些保障措施。
  成倍写入机制与智能磨损均衡
  在深入解析SSD MLC与SLC的性能差异中,我们对SSD工作原理的描述。SSD最小记录的单元是Page(4K),最小擦除单元是block(512K)。当我们保存该文件时,它会以2 pages的形式保存在闪存记忆体中;将其删除时,SSD会标记pages为无效,但实际上并不会删除该block。SSD将等到block中一定比例的pages被标记为无效时,才会复制一些有效的数据到新的pages里去并擦除该block。SSD这样做是为了限制了每个block擦除的次数,从而延长驱动器寿命。
  并不是所有的SSD句柄删除都通过相同的方式,如何删除和何时删除一些包含无效页面的块,成为SSD寿命的关键。
  写入放大率
  对于一些质量不好的SSD来说,如果你只是想更换一个16KB的文件,控制器可能会错误地将整个block读取到主记忆体,然后更换4个页面,从SSD中擦除块,然后把4个改变页写入到新的块中。使用英特尔固态盘的页面/块,就意味着如果只写入16KB新数据,却相当于将512KB写入了SSD ——写入放大了32倍。
  我们暂时没有其他SSD控制器的数据可以显示它们是如何处理这样的情况的,但英特尔指出,传统的SSD控制器写入放大在20–40倍的范围内,这就减少了它们驱动器的寿命。
  写入放大控制需要快取
  这就是 Intel SSD 的控制器需要 DRAM 缓存的原因,它用來当做储存资料的临时记忆体,所以比传统闪存控制器更有效率的执行写入动作;传统闪存控制器通常是每一次都触发写入动作,即使存储比较小的区块时也会写入放大到大容量的区域中。
  先天设计上的优势
  Intel 考虑了写入放大与磨损平均因子,以简单的方程式計算 NAND 闪存周期,磨損平均因子告訴你平均磨损与最大磨损的使用率差异,英特尔 宣称,由于控制器可感知闪存记忆体的区块大小而启用用命令序列功能,因此其他产品的因子为 3 (3x),X25-M 仅有 1.1x;这代表所有储室的使用率几乎相等,这有助提高SSD的预期寿命。
  对于典型客户的工作量来说,其写入放大系数小于1.1倍,换句话说,比你的实际需要多写入了不到10%的数据。写入放大系数本身并没有多大意义,重要的是驱动器的寿命,此外还有一个因素起作用,我们已经证实,对于闪存来说,写入block的次数有限,之后它就会失去存储数据的能力。SSD相当智能,会使用均衡损耗算法分散block在整个驱动器中的使用。记住,对于SSD来说,无论写入什么地方,其性能将始终如一,这一点不同于其它机械磁盘,在英特尔磨损均衡效率上,所有使用的block几乎是相同的数值。
  因此,SDD试图将数据均匀地写入驱动器的所有block里。例如,假设您下载一个2MB的文件到您新的、从未使用过的SSD中,然后保存到block 10、11、12、13中。您意识到下载错了文件并删除它,然后去下载正确的文件。
  闪存控制器不是将新文件写入block 10 、11、12、13中,而是写入block 14、15、16、17 中。事实上,block 10、11、12、13这四个block无法再次使用,直到驱动器上每隔一个block都已写入了一次。所以,尽管您的MLC SSD可能只有10,000次周期的寿命,但由于智能均衡损耗算法,它将能使用相当长的一段时间,坏的磨损均衡,大概在现存的SSD上,一些blocks比其他的blocks更多的被使用。
  英特尔SSD大约会有4%空间是均衡损耗算法不能控制的的,这意味着,英特尔SSD上 4%的block将比其他的block更易磨损。通过超低写入放大率及稳定成熟的平均磨损技术,从根本上延长了硬件寿命!
  SSD的寿命通常是可以量化的,一个block在不能继续使用之前,可以通过其可擦除的次数或者设计周期进行衡量,因为我们在前面MLC的周期一般为10,000次,SLC的周期一般为100,000次,这些数值一般都不是非常显著的,用户往往更愿意通过SSD自身能够写多少块的数据作为衡量标准。通过我们对网吧无盘目前最主流的软件系统-锐起无盘XP 3.1,一台负载一百台客户机工作的无盘服务器的跟踪分析,我们发现在普遍情况下,平均24小时写入服务器回写盘的数据总量大约在200G周围;我们假设在偏极端情况下写入400G总数据量,同时我们研究发现在该系统下随即数据产生的写放大率平均为1.4,我们同样考虑极端情况将该放大率放大为3,这样计算下来,一片INTEL MLC 160G SSD 可以支持写入时间为4年左右,做了如此大量的放大考虑,INTEL SSD 都完全超出了网吧无盘服务器硬件使用年限!
  SSD在无盘应用后会带来怎样的提升
  假如一个服务器带100个工作站,每个工作站每秒钟向服务器中硬盘发出一个64KB文件的读或写,那么服务器的硬盘需要响应100次,如果每台机器每秒发出10次64kb资料的读取,服务器硬盘每秒就要响应1000次,即每秒要读取约64M, 然而在 15000转的SAS随机读取64KB数据块,测试中,硬盘也只能响应160次左右,平均响应时间,在6.0 毫秒(见图A),SSD可以响应 3000次,平均响应时间,0.4毫秒左右(见图B),这是个多么惊人的数字。



6.jpg

7.jpg
  根据以上测试结果可以看出,要解决工作站的速度首先要解决硬盘的I/O处理速度,否则再怎么升级CPU,扩大内存,换主机板,都不会有很好的作用,目前很多服务器为了提高I/O处理速度做磁盘阵列,而要达到SSD固态硬的性能,最极端情况下需要使用10-20个目前最高级别的机械硬盘做磁盘阵列,当然在无盘服务器中是不可能用这么多盘做阵列,同时也不需要这么高性能, SSD 在无盘上应用,省去了多块硬盘做阵列来解决I/O 瓶颈!
 以上的分析不能判断使用了无盘服务器应用SSD后,给网吧客户服务器带机量带来大幅度的提升,我们在实际的测试中,与主流的SAS 硬盘做对比,到底给客户提升了什么,请看我们结合网吧实际应用情况,而做的一些项目测试,测试表现中,都是优越与主流SAS 硬盘!
  1、功耗测试
  前面在分析SSD 特点的时候,就谈到过一台SSD的无盘服务器,1小时的功耗是0.07Kwh,SSD 无盘服务器一年耗电量是613.2Kwh,即613度电,而传统无盘服务器磁盘1小时的功耗是0.13Kwh,一年的耗电量为1138.8Kwh,即1138.8度电,那么SSD 服务器一年比传统无盘服务器,可以节省525度电!
  2、客户机启动时间测试
  无盘启机的时候是对服务器读写压力最大的,单台启动,或者客户机全部启动,负载压力少的时候,测试虚拟磁盘速度,是没有任何意义的!我们实际测试了一家规模80 台的网吧,在启动项加载一个自动重启的批处理,让客户机无限重启,这个时候服务器的压力非常大,但是SSD 已经完全可以胜任,启动时间跟单台负载的情况下没有任何差别!见下图:
111.jpg

  那传统服务器硬盘配置在这种情况下,是如何表现的呢?请看下图
9.jpg

  上图可以看出,传统硬盘配置负荷已经很高了,试想一下,在网吧带机高负载的情况下,传统硬盘配置的服务器,客户机启动时间逐渐增长,可想而知,给客户带来的损失是极大的,而SSD 在无盘上的应用,却保证了客户的利益,在高负载的情况下,完全跟单台负载的启动时间完全没有差别!
  同时测试的项目还包括客户机虚拟盘随机读取参数,网络游戏启动进入速度,单机游戏同时启动进入速度,这些,就不例出详细的数据了,跟目前最主流的SAS 服务器配置对比情况下,都是大幅度的提升!
  无盘中的写盘,早期都是几块机械磁盘做 RAID 0,来提升磁盘速度和IOPS 数,在实际测试中,无盘都是小块数据包随机频繁操作,而传统机械磁盘RAID 0 在随机写入测试中,写入速度反而下降了许多,见下图
  ST300GSAS 15K7 单个磁盘

10.jpg
  ST300GSAS 15K7  3个磁盘RAID 0

11.JPG
  没有提升反到降了81%
  加上机械磁盘IOPS数,和处理数据时间长(磁盘寻道决定)瓶颈,这就是后期为什么会出现分盘回写模式,而更加具有优势,接着我们看下SSD随机写入测试,能不能代替传统机械磁盘分写和RAID 0 的任务。
  IntelSSDMLC160G 单个磁盘

12.JPG
  IntelSSDMLC160G  3个磁盘RAID 0

13.JPG
  整体提升了230%
  可见单个SSD在无盘上应用,没有分写的概念了,真正技术上的突破,这一难题是得到了真正的解决 ,可随之而来的新问题又出现了,理论上,单个Intel SSD 80G 160G做写盘 ,在性能上的表现,带150 台客户机,都是没有任何问题的!在现在互联网发展高速的今天,网络视频,游戏不断增多而使网络更加丰富多彩,在网吧宽带极佳的状态下,客户机不断下载,在线看视频,用P2P软件看在线电影,单个写盘容量小的情况下,是抗不住压力的,可是这一难题,并没有难倒我们,请看下面我们是如何解决的!



2010-11-9 14:53:45
我们从全国多家网吧的回写数据中通过分析得出结论,IE、优酷、土豆等视频网站的回写占了回写容量的50%以上,PPLIVE,PPS,迅雷看看等在线影院占了30%以上,这两项占了回写容量的80%的,剩下不到20%的回写容量才是游戏的回写,大家都知道网络游戏是要求回写速度的,而在线视频是不要求回写速度的,SSD的宝贵空间就让这些在线视频给占据了!

  既然能找出问题的所在,问题也不是那么难解决的!

  接着,我们在服务端建立一个10G左右的TEMP镜像包,在客户机把IE临时文件夹、视频软件的缓存目录放到这个盘中,注:客户机虚拟内存不要放到这个盘、因为游戏在多开的时候会大量用到虚拟内存速度。

  然后我们使用写盘分流这个第三方软件工具把每个镜像的回写文件给分开,把TEMP包的回写文件制定到SATA(图中的M盘)的回写盘中,把系统和游戏盘的回写放到SSD(图中的L盘)回写盘中。在线视频的缓存文件基本上都是边看过存、在存储到硬盘之前数据已经被使用过、存储到硬盘之后几乎就不会在去调用所以用SATA硬盘完全就可以胜任了!

  L盘是Intel SSD盘, M是普通的SATA盘,客户机在启动之后,锐起写盘分流工具会自动把回写数据分流到设置指定的磁盘

  最后,我们上一张在线观看了30分钟的优酷后的回写数据量,系统的回写才64M,TEMP的回写已经达到500多M,通过以上方法可以把SSD的回写数据控制在以前的50%以下,我们建议使用两个Intel SSD 80G 做RAID0 根据需求来更改回写大小。

  未来市场的展望

  在计算机技术应用越来越纷繁芜杂的今天,集中管理变的越发重要,云计算的概念也正是由此,在很大程度上我们可以说无盘软件的工作方式其实就是在企业内部建立了一个关于数据集中存储与软件分发的私有云,现在越来越多的领域包括教育、酒店、政府、军队、数据重要的企业,都在大量的采用这样的系统来部署他们的网络以求得数据的安全和管理的方便,无盘技术的应用必然会有更广阔的前景。而对作为无盘软件运行的硬件平台-无盘服务器必然也会被提出更多更强的要求,SSD 固态硬盘在无盘服务器上的全面应用给无盘服务器带来以下优点,性能更强悍,价格更低廉,功耗更低,可靠性更高,与常规的无盘服务器对比,完全可以替代现有服务器配置架构,成为未来的主流!
您需要登录后才可以回帖 立即登录
高级模式
返回
统计信息
  • 会员数: 29041 个
  • 话题数: 9629 篇
  • 巅峰数: 5500 人