CentOS下对SSD寿命的检查和健康判断

分类:CentOS教程 阅读:60715 次

整个网上只有 intel 的 SSD 查看硬盘寿命的资料,象我们这种穷人,只能使用的起 Crucial 和 OCZ 的用户来讲是太不公平了.象我要透过 RAID 卡就真没法子看其它商家的 SSD 的寿命了吗?
研究了一下,所有查看 SSD 的命令,只要要透过 RAID 的,都需要借助 MegaCli 和 smartCtl 获得 ssd 盘使用情况.认真研究了一下,目前我使用的
RAID 卡是LSI Logic / Symbios Logic MegaRAID SAS 1078 和 2108 这二种.使用通常的 MegaCli 来查询:
这个是的下载地址:
Centos5 的 MegaCli
Centos6 的 MegaCli
整个过程分二步,第一步是从过 RAID 卡来取得下面硬盘的信息.接下来使用 smartCtl 来进行硬盘详细信息的显示.

使用 MegaCli 来取得 RAID 卡下硬盘的信息:

然后使用下面的命令:

这样可以查出 RAID 卡下面的内容.会显示如下:

注意上面几个地方,上面会输出很多这样的信息,只有 Media Type: Solid State Device .表示这是 SSD .其中 Device Id: 28 这个需要记下来.这个过一会使用 smartctl 查询时会需要.我们可以见到上面都显示了硬盘的型号:Inquiry Data: 0000000011070303A99EC300-CTFDDAC128MAG 0007.另外还有一个标志告诉你这个 SSD 是不是正常的 Firmware state: Online,Spun Up 这个选项,所以如果你做 SSD 的监控报警,直接监控这个参数基本就行了.

使用 smartctl 来取得 SSD 硬盘的详细信息

要注意,不同厂商不同型号磁盘的信息不同.象 intel 的硬盘信息就不介绍了.下面是查询所使用的命令.其中 -a 是让显示所有的信息出来. -d 是用来设置硬盘的.这时需要注意不同的 RAID 卡所使用的接口可能不一样,所以可能会有小的不相同.
比如 intel 的硬盘,直接使用 -d megaraid,27 就能正常了.但我使用了上面的 raid 卡后,需要指定 sat 这个参数,就变成象下面这样了:

上面这时的 sat 是指由 SCSI 转成 ATA 的设备,可以加象 scsi,ata 之类的参数.
这时,会显示如下的信息:
Model Family: Crucial/Micron RealSSD C300/C400
Device Model: C300-CTFDDAC128MAG

如果是 OCZ 的:
Device Model: OCZ-AGILITY3
Serial Number: OCZ-1OX963Q8B5X2V684

SSD 是否健康的参数分析:

注意这时的使用寿命不在是象 intel ssd 的 Media_Wearout_Indicator 这个参数(当然 OCZ 也有,在 Crucial 就变成了Perc_Rated_Life_Used).但其实我们要看 SSD 是否健康,主要是要通过 Wear Leveling Count(颗粒平均擦写次数)这个参数和Grown Failling Block Ct这个参数.
注意看下面二行:

上面二个参数是关键:

  • Wear Levelling Count(颗粒平均擦写次数):先讲这个参数.更加重要.先声明这个硬盘是使用了一年的 SSD 硬盘.图中显示的数据为536,即这块128G的硬盘的全盘写入/擦除(P/E)数为536 次,显示还有 90% 的寿命.所以大约这个硬盘使用的闪存颗粒的寿命为 5000 多次的样子.536 约为 5000 的 10% ,所以此项值为90(CA).
  • Grown Failing Block Count(使用中新增坏块数):此项代表 SSD 的闪存颗粒在使用时出现的坏块(类似于HDD的坏道)数量,此处数据为 0 即尚未有出现坏块,若你命不好.新购买回来 SSD 在正常使用时,很短的时间内这个数据产生较大变化,那代表盘可能有问题,早点找售后服务吧.

MegaCli常用参数组合介绍:

磁带状态的变化,从拔盘,到插盘的过程中:
Device |Normal|Damage|Rebuild|Normal
Virtual Drive |Optimal|Degraded|Degraded|Optimal
Physical Drive |Online|Failed –> Unconfigured|Rebuild|Online