首頁  >  文章  >  系統教程  >  詳解CentOS下對SSD健康狀況及壽命的檢測方法

詳解CentOS下對SSD健康狀況及壽命的檢測方法

WBOY
WBOY轉載
2024-01-08 13:18:201123瀏覽

整個網路上只有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 [0xee7​​c2b0 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                 

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                     這個選項,所以如果你做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_VALUEUE

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

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

9 Power_On_Hours          0x0032   100   100   000    Old_age   Always     ###12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always    

170 Grown_Failing_Block_Ct  0x0033   100   100   000    故障前隨時       - 

#171 Program_Fail_Count      0x0032   100   100   000    Old_age       # 

172 Erase_Fail_Count        0x0032   100   100   000    Old_age   永遠  #  

173 Wear_Levelling_Count    0x0033   090   090   000    故障前隨時       -  #   故障前總       -  #   

174 Unexpect_Power_Loss_Ct  0x0032   100   100   000    Old_age   隨時       -  

181 Non4k_Aligned_Access    0x0022   100   100   000    Old_age         

183 SATA_Iface_Downshift    0x0032   100   100   000    Old_age   

184 End-to-End_Error        0x0033   100   100   000   

187 報告的_不正確      0x0032   100   100   000    Old_age   

188 Command_Timeout         0x0032   100   100   000    Old_age   隨時  #  

189 Factory_Bad_Block_Ct    0x000e   100   100   000    Old_age   總是       -   Old_age   

195 Hardware_ECC_Recovered 0x003a 100 100 000 Old_age 總是       -       0

196 Realated_Event_Count 0x0032   100   100   000    Old_age   隨時       -     

197 Current_Pending_Sector  0x0032   100   100   000    Old_age   總是       -#   

198 Offline_Un Correctable   0x0030   100   100   000    Old_age   離線      -   

199 UDMA_CRC_Error_Count    0x0036   100   100   000    Old_age        #    Old_age    #   

202 Perc_Rated_Life_Used    0x0018   090   090   000    Old_age   離線    #  -   Old_age   #   

206 Write_Error_Rate        0x000e   100   100   000    Old_age  

如果是 OCZ 的:

設備型號:     OCZ-AGILITY3

序號:    OCZ-1OX963Q8B5X2V684

SMART 屬性資料結構修訂號:10

具有閾值的供應商特定 SMART 屬性:

ID# ATTRIBUTE_NAME          標誌     值最差門檻類型     已更新 WHEN_FAILED RAW_VALUE

1 Raw_Read_Error_Rate     0x000f   086   086   050    失敗前隨時       -  

5 Realated_Sector_Ct   0x0033   100   100   003    失敗前務必       -   

9 Power_On_Hours          0x0032   100   100   000    Old_age       

12 Power_Cycle_Count       0x0032   100   100   000    Old_age  與總是       -   Old_age  -5      -  

171 Unknown_Attribute       0x0032   000   000   000    Old_age   永遠  # 

172 Unknown_Attribute       0x0032   000   000   000    Old_age   永遠  # 

174 Unknown_Attribute       0x0030   000   000   000    Old_age   離線    

177 Wear_Leveling_Count     0x0000   000   000   000    Old_age    

181 Program_Fail_Cnt_Total  0x0032   000   000   000    Old_age   隨時       -  

182 Erase_Fail_Count_Total  0x0032   000   000   000    Old_age   隨時       -  

187 報告的_不正確      0x0032   100   100   000    Old_age   

194 溫度_攝氏度     0x0022   030   030   000    Old_age   始終       -   Old_age   始終       -   Old_age   始終       -  

195 Hardware_ECC_Recovered 0x001c 120 120 000 Old_age 離線      -       135388659

196 Realated_Event_Count 0x0033   100   100   003    失敗前  隨時       -    # 

201 Soft_Read_Error_Rate    0x001c   120   120   000    Old_age   離線      -  

204 Soft_ECC_Correction     0x001c   120   120   000    Old_age   離線      -  

230 Head_Amplitude          0x0013   100   100   000    預選  

231 溫度_攝氏度     0x0013   100   100   010    失敗前務必       -  #  

233 Media_Wearout_Indicator 0x0000   000   000   000    Old_age  離線      -   

234 Unknown_Attribute       0x0032   000   000   000    Old_age   永遠    

241 Total_LBA_Written      0x0032   000   000   000    Old_age   總是       -   Old_age   總是       -  

242 Total_LBA_Read         0x0032   000   000   000    Old_age  

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       -    Pre-fail  Always       -  

173 Wear_Levelling_Count    0x0033   090   090   000    Pre-fail  Always       -    Pre-fail  Always       -    Pre-fail  Always  #55555

上面二個參數是關鍵:

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                          【的資料卡資料資料】

#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

以上是詳解CentOS下對SSD健康狀況及壽命的檢測方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:jb51.net。如有侵權,請聯絡admin@php.cn刪除