SSD磨损数据的分析报告

Linux · ruyi · 于 2年前发布 · 1530 次阅读

我们都知道,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卡包括以下型号:

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

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

4.Timed Workload Media Wear

定义:表示在一定时间内,盘片的磨损比例,比Media Wearout Indicator更精确。

解释:可以在测试前清零,然后测试某段时间内的磨损数据,这个值的1点相当于Media Wearout Indicator的1/100,测试时间必须大于60分钟。另外两个相关的参数:Timed Workload Timer表示单次测试时间,Timed Workload Host Read/Write Ratio表示读写比例。

数据分析报告:

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

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

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

目前的数据最多只是小测试,还不是期末考试,SSD的磨损是否是线性的,还有待于时间检验。

–EOF–

Ningoo:使用smartmontools监控磁盘状况

HateMySQL:利用MegaCli和smartCtl工具获得ssd盘使用情况

原文:http://www.hellodb.net/2011/04/ssd-media-wear.html


本帖已经被管理员设置为: 精华帖 !
共收到 1 条回复 ssd
mage#11年前 0 个赞

图片撑大页面

回复本帖 (需要登录)