SSD磨损数据的分析报告
我们都知道,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的官方数据:
真实的状况如何呢?我们有一套数据库集群,配置如下: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同时大规模损坏,这样就可以保证系统的可靠性。
建议继续学习:
- 我对技术方向的一些反思 (阅读:9851)
- SSD的主要缺陷及Wear Leveling技术详解 (阅读:8905)
- 基于SSD的数据库性能优化 (阅读:7386)
- SSD 寿命的检查和健康判断 (阅读:6458)
- Linux 中对 SSD 的优化 Discard,类 TRIM 的功能 (阅读:3932)
- SSD的随机写一定很慢吗? (阅读:3275)
- SSD 想说爱你不容易 (阅读:2522)
- 不同SSD盘组合搜索引擎单机性能测试[2013年版] (阅读:2244)
- 数据的存储介质-固态存储SSD (阅读:1820)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:jacky 来源: Hello Database
- 标签: SSD 磨损
- 发布时间:2011-06-22 00:11:28
- [65] Oracle MTS模式下 进程地址与会话信
- [64] Go Reflect 性能
- [64] 如何拿下简短的域名
- [59] IOS安全–浅谈关于IOS加固的几种方法
- [58] 【社会化设计】自我(self)部分――欢迎区
- [58] 图书馆的世界纪录
- [56] android 开发入门
- [53] 视觉调整-设计师 vs. 逻辑
- [46] 读书笔记-壹百度:百度十年千倍的29条法则
- [45] 界面设计速成