技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> 系统运维 --> SSD磨损数据的分析报告

SSD磨损数据的分析报告

浏览:3908次  出处信息

    我们都知道,SSD存在一个磨损的问题,虽然厂商提供的数据都显示企业级的SSD产品是可靠的,SSD内置的损耗均衡的算法,可以保证磨损是均衡的,不会出现反复擦写某个单元导致SSD损坏的情况。但是我们依然很担心,磨损对可靠性的影响究竟有多大?最近,我们对线上系统的SSD进行了分析,得到了一些关于磨损的数据,分享给大家。

    S.M.A.R.T.(Self-Monitoring, Analysis, and Reporting Technology)是磁盘的诊断工具,其中也包括SSD的磨损数据。但是因为我们的SSD做了RAID,因为RAID卡屏蔽了SSD的信息,所以要直接读取SSD的SMART信息有些困难。通过厂商和社区的努力,现在已经有了解决方案。

    Smartmontools是一套监控,诊断,分析SMART信息的工具包,包括两个工具:smartctl和smartd。

    目前支持的RAID卡包括以下型号:

RAID-Controller Option/

     Directive

Supported in OS
Linux FreeBSD MS-Windows NetBSD/

     OpenBSD

Solaris MacOS/

     Darwin

3ware SATA RAID controller -d 3ware,N Yes 1 Yes 2 Yes 3 ? ? ?
Areca SATA RAID controller -d areca,N Yes 4 No No ? ? ?
HighPoint RocketRAID SATA RAID controller -d hpt,L/M/N Yes 5 Yes 6 No ? ? ?
CCISS (HP/Compaq Smart Array Controller) -d cciss,N Yes 7 Yes No ? ? ?
LSI MegaRAID SAS RAID controller

     Dell PERC 5/i,6/i controller

-d megaraid,N Yes 8 Yes 9 No ? ? ?
Intel ICHxR RAID

     (Intel Rapid/Matrix Storage driver)

csmi[0-9],N

     (device name)

? ? Yes 10 ? ? ?

    

    我们使用的DELL服务器采用LSI的RAID控制器,包含一个Megacli的工具包,可以到LSI的官方网站上下载并安装。通过这两个工具就可以读取SSD的SMART信息了,具体方法可以参考这篇文章:利用smartctl获取Inte SSD寿命

    SSD磨损数据分析:

    SLC的SSD可以擦除10万次,MLC的SSD可以擦除1万次,Intel X25-E的官方数据:

Mean Time Between Failures (MTBF):2,000,000 Hours
Write Endurance:2 petabyte of random writes (64 GB)

    真实的状况如何呢?我们有一套数据库集群,配置如下:DELL R710,Intel X25-E(64G),硬件RAID5(512M cache),我们读取了SSD的SMART数据,主要有以下三个指标:

    1. Media Wearout Indicator

    定义:表示SSD上NAND的擦写次数的程度,初始值为100,随着擦写次数的增加,开始线性递减,递减速度按照擦写次数从0到最大的比例。一旦这个值降低到1,就不再降了,同时表示SSD上面已经有NAND的擦写次数到达了最大次数。这个时候建议需要备份数据,以及更换SSD。

    解释:直接反映了SSD的磨损程度,100为初始值,0为需要更换,有点类似游戏中的血点。

    结果:磨损1点

    2. Re-allocated Sector Count

    定义:出厂后产生的坏块个数,如果有坏块,从1开始增加,每4个坏块增加1

    解释:坏块的数量间接反映了SSD盘的健康状态。

    结果:基本上都为0

    3. Host Writes Count

    主机系统对SSD的累计写入量,每写入65536个扇区raw value增加1

    解释:SSD的累计写入量,写入量越大,SSD磨损情况越严重。每个扇区大小为512bytes,65536个扇区为32MB

    结果:单块盘40T

    从上述数据分析,SSD写入40T数据,磨损消耗仅为1%,而且基本没有坏块。这是在系统没有做任何优化的情况下,即将所有数据文件都放在SSD上的结果,这证明SSD的损耗均衡算法是很靠谱的。如果磨损是线性的,根据数据可以计算得出,单块SSD(64G)可以写入4PB的数据,与厂商提供的数据相符。而且,40T的数据大部分是系统测试时写入的,真实系统上线后写入的数据量很小,根据计算,我们的SSD如果磨损耗尽,可能还需要几十年的时间。

    我们也使用了一些MLC的SSD,比如Intel X25-M,测试结果表明,SLC耐磨损度要远大于MLC,但是也在安全的范围之内。根据我们的实践经验和数据分析,企业级的SSD还是非常可靠的,并不需要特别担心磨损的问题。

    读取SSD的SMART信息的最大的意义在于,我们能够提前检测SSD的磨损状况,发现SSD磨损即将耗尽时,可以提前更换,预防同一批次的SSD同时大规模损坏,这样就可以保证系统的可靠性。

建议继续学习:

  1. 我对技术方向的一些反思    (阅读:9945)
  2. SSD的主要缺陷及Wear Leveling技术详解    (阅读:8988)
  3. 基于SSD的数据库性能优化    (阅读:7487)
  4. SSD 寿命的检查和健康判断    (阅读:6474)
  5. Linux 中对 SSD 的优化 Discard,类 TRIM 的功能    (阅读:3948)
  6. SSD的随机写一定很慢吗?    (阅读:3299)
  7. SSD 想说爱你不容易    (阅读:2544)
  8. 不同SSD盘组合搜索引擎单机性能测试[2013年版]    (阅读:2334)
  9. 数据的存储介质-固态存储SSD    (阅读:1895)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1