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

时间:2017-01-10 08:55:30 魔新豆网

  整个网上只有 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 卡下硬盘的信息:

  然后使用下面的命令:

  /opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL

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

  Enclosure Device ID: 252

  Slot Number: 7

  Device Id: 28

  Sequence Number: 2

  Media Error Count: 0

  Other Error Count: 1

  Predictive Failure Count: 0

  Last Predictive Failure Event Seq Number: 0

  PD Type: SATA

  Raw Size: 119.242 GB [0xee7c2b0 Sectors]

  Non Coerced Size: 118.742 GB [0xed7c2b0 Sectors]

  Coerced Size: 118.277 GB [0xec8e000 Sectors]

  Firmware state: Online, Spun Up

  SAS Address(0): 0x1e394d57aa996b80

  Connected Port Number: 7(path0)

  Inquiry Data: 0000000011070303A99EC300-CTFDDAC128MAG                      0007   

  FDE Capable: Not Capable

  FDE Enable: Disable

  Secured: Unsecured

  Locked: Unlocked

  Needs EKM Attention: No

  Foreign State: None

  Device Speed: 6.0Gb/s

  Link Speed: 1.5Gb/s

  Media Type: Solid State Device

  注意上面几个地方,上面会输出很多这样的信息,只有 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 这个参数,就变成象下面这样了:

  smartctl -a -d sat+megaraid,27 /dev/sdb1 -s on

  上面这时的 sat 是指由 SCSI 转成 ATA 的设备,可以加象 scsi,ata 之类的参数.

  这时,会显示如下的信息:

  Model Family:     Crucial/Micron RealSSD C300/C400

  Device Model:     C300-CTFDDAC128MAG

  SMART Attributes Data Structure revision number: 16

  Vendor Specific SMART Attributes with Thresholds:

  ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE

  1 Raw_Read_Error_Rate     0x002f   100   100   000    Pre-fail  Always       -       0

  5 Reallocated_Sector_Ct   0x0033   100   100   000    Pre-fail  Always       -       0

  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       5572

  12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       3

  170 Grown_Failing_Block_Ct  0x0033   100   100   000    Pre-fail  Always       -       0

  171 Program_Fail_Count      0x0032   100   100   000    Old_age   Always       -       0

  172 Erase_Fail_Count        0x0032   100   100   000    Old_age   Always       -       0

  173 Wear_Levelling_Count    0x0033   090   090   000    Pre-fail  Always       -       536

  174 Unexpect_Power_Loss_Ct  0x0032   100   100   000    Old_age   Always       -       1

  181 Non4k_Aligned_Access    0x0022   100   100   000    Old_age   Always       -       0 0 0

  183 SATA_Iface_Downshift    0x0032   100   100   000    Old_age   Always       -       0

  184 End-to-End_Error        0x0033   100   100   000    Pre-fail  Always       -       0

  187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0

  188 Command_Timeout         0x0032   100   100   000    Old_age   Always       -       0

  189 Factory_Bad_Block_Ct    0x000e   100   100   000    Old_age   Always       -       250

  195 Hardware_ECC_Recovered  0x003a   100   100   000    Old_age   Always       -       0

  196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       0

  197 Current_Pending_Sector  0x0032   100   100   000    Old_age   Always       -       0

  198 Offline_Uncorrectable   0x0030   100   100   000    Old_age   Offline      -       0

  199 UDMA_CRC_Error_Count    0x0036   100   100   000    Old_age   Always       -       0

  202 Perc_Rated_Life_Used    0x0018   090   090   000    Old_age   Offline      -       10

  206 Write_Error_Rate        0x000e   100   100   000    Old_age   Always       -       0

  如果是 OCZ 的:

  Device Model:     OCZ-AGILITY3

  Serial Number:    OCZ-1OX963Q8B5X2V684

  SMART Attributes Data Structure revision number: 10

  Vendor Specific SMART Attributes with Thresholds:

  ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE

  1 Raw_Read_Error_Rate     0x000f   086   086   050    Pre-fail  Always       -       135388659

  5 Reallocated_Sector_Ct   0x0033   100   100   003    Pre-fail  Always       -       9

  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       265772576277126

  12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       15

  171 Unknown_Attribute       0x0032   000   000   000    Old_age   Always       -       9

  172 Unknown_Attribute       0x0032   000   000   000    Old_age   Always       -       0

  174 Unknown_Attribute       0x0030   000   000   000    Old_age   Offline      -       13

  177 Wear_Leveling_Count     0x0000   000   000   000    Old_age   Offline      -       1

  181 Program_Fail_Cnt_Total  0x0032   000   000   000    Old_age   Always       -       9

  182 Erase_Fail_Count_Total  0x0032   000   000   000    Old_age   Always       -       0

  187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0

  194 Temperature_Celsius     0x0022   030   030   000    Old_age   Always       -       30 (Lifetime Min/Max 30/30)

  195 Hardware_ECC_Recovered  0x001c   120   120   000    Old_age   Offline      -       135388659

  196 Reallocated_Event_Count 0x0033   100   100   003    Pre-fail  Always       -       9

  201 Soft_Read_Error_Rate    0x001c   120   120   000    Old_age   Offline      -       135388659

  204 Soft_ECC_Correction     0x001c   120   120   000    Old_age   Offline      -       135388659

  230 Head_Amplitude          0x0013   100   100   000    Pre-fail  Always       -       100

  231 Temperature_Celsius     0x0013   100   100   010    Pre-fail  Always       -       0

  233 Media_Wearout_Indicator 0x0000   000   000   000    Old_age   Offline      -       2531

  234 Unknown_Attribute       0x0032   000   000   000    Old_age   Always       -       3465

  241 Total_LBAs_Written      0x0032   000   000   000    Old_age   Always       -       3465

  242 Total_LBAs_Read         0x0032   000   000   000    Old_age   Always       -       2030

  SSD 是否健康的参数分析:

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

  注意看下面二行:

  170 Grown_Failing_Block_Ct  0x0033   100   100   000    Pre-fail  Always       -       0

  173 Wear_Levelling_Count    0x0033   090   090   000    Pre-fail  Always       -       536

  上面二个参数是关键:

  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常用参数组合介绍:

  MegaCli -cfgdsply -aALL | grep “Error”                  【正常都是0】

  MegaCli -LDGetProp -Cache -LALL -a0                 【写策略】

  MegaCli -cfgdsply -aALL   | grep “Memory”          【内存大小】

  MegaCli -LDInfo -Lall -aALL                         【查RAID级别】

  MegaCli -AdpAllInfo -aALL                           【查RAID卡信息】

  MegaCli -PDList -aALL                                     【查看硬盘信息】

  MegaCli -AdpBbuCmd -aAll                           【查看电池信息】

  MegaCli -FwTermLog -Dsply -aALL           【查看RAID卡日志】

  MegaCli -adpCount                                    【显示适配器个数】

  MegaCli -AdpGetTime –aALL               【显示适配器时间】

  MegaCli -AdpAllInfo -aAll                     【显示所有适配器信息】

  MegaCli -LDInfo -LALL -aAll                【显示所有逻辑磁盘组信息】

  MegaCli -PDList -aAll                               【显示所有的物理信息】

  MegaCli -AdpBbuCmd -GetBbuStatus -aALL |grep “Charger Status” 【查看充电状态】

  MegaCli -AdpBbuCmd -GetBbuStatus -aALL                      【显示BBU状态信息】

  MegaCli -AdpBbuCmd -GetBbuCapacityInfo -aALL        【显示BBU容量信息】

  MegaCli -AdpBbuCmd -GetBbuDesignInfo -aALL            【显示BBU设计参数】

  MegaCli -AdpBbuCmd -GetBbuProperties -aALL             【显示当前BBU属性】

  MegaCli -cfgdsply -aALL                                                             【显示RAID卡型号,RAID设置,DISK相关信息】

  磁带状态的变化,从拔盘,到插盘的过程中:

  Device                    |Normal|Damage|Rebuild|Normal

  Virtual Drive       |Optimal|Degraded|Degraded|Optimal

  Physical Drive    |Online|Failed –> Unconfigured|Rebuild|Online

本文标签: