整個(gè)網(wǎng)上只有 intel 的 SSD 查看硬盤(pán)壽命的資料,象我們這種窮人,只能使用的起 Crucial 和 OCZ 的用戶來(lái)講是太不公平了.象我要透過(guò) RAID 卡就真沒(méi)法子看其它商家的 SSD 的壽命了嗎?
研究了一下,所有查看 SSD 的命令,只要要透過(guò) RAID 的,都需要借助 MegaCli 和 smartCtl 獲得 ssd 盤(pán)使用情況.認(rèn)真研究了一下,目前我使用的
RAID 卡是LSI Logic / Symbios Logic MegaRAID SAS 1078 和 2108 這二種.使用通常的 MegaCli 來(lái)查詢:
這個(gè)是的下載地址:
Centos5 的 MegaCli
Centos6 的 MegaCli
整個(gè)過(guò)程分二步,第一步是從過(guò) RAID 卡來(lái)取得下面硬盤(pán)的信息.接下來(lái)使用 smartCtl 來(lái)進(jìn)行硬盤(pán)詳細(xì)信息的顯示.
使用 MegaCli 來(lái)取得 RAID 卡下硬盤(pán)的信息:
然后使用下面的命令:
/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL
這樣可以查出 RAID 卡下面的內(nèi)容.會(huì)顯示如下:
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
注意上面幾個(gè)地方,上面會(huì)輸出很多這樣的信息,只有 Media Type: Solid State Device .表示這是 SSD .其中 Device Id: 28 這個(gè)需要記下來(lái).這個(gè)過(guò)一會(huì)使用 smartctl 查詢時(shí)會(huì)需要.我們可以見(jiàn)到上面都顯示了硬盤(pán)的型號(hào):Inquiry Data: 0000000011070303A99EC300-CTFDDAC128MAG 0007.另外還有一個(gè)標(biāo)志告訴你這個(gè) SSD 是不是正常的 Firmware state: Online,Spun Up 這個(gè)選項(xiàng),所以如果你做 SSD 的監(jiān)控報(bào)警,直接監(jiān)控這個(gè)參數(shù)基本就行了.
使用 smartctl 來(lái)取得 SSD 硬盤(pán)的詳細(xì)信息
要注意,不同廠商不同型號(hào)磁盤(pán)的信息不同.象 intel 的硬盤(pán)信息就不介紹了.下面是查詢所使用的命令.其中 -a 是讓顯示所有的信息出來(lái). -d 是用來(lái)設(shè)置硬盤(pán)的.這時(shí)需要注意不同的 RAID 卡所使用的接口可能不一樣,所以可能會(huì)有小的不相同.
比如 intel 的硬盤(pán),直接使用 -d megaraid,27 就能正常了.但我使用了上面的 raid 卡后,需要指定 sat 這個(gè)參數(shù),就變成象下面這樣了:
smartctl -a -d sat+megaraid,27 /dev/sdb1 -s on
上面這時(shí)的 sat 是指由 SCSI 轉(zhuǎn)成 ATA 的設(shè)備,可以加象 scsi,ata 之類的參數(shù).
這時(shí),會(huì)顯示如下的信息:
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 是否健康的參數(shù)分析:
注意這時(shí)的使用壽命不在是象 intel ssd 的 Media_Wearout_Indicator 這個(gè)參數(shù)(當(dāng)然 OCZ 也有,在 Crucial 就變成了Perc_Rated_Life_Used).但其實(shí)我們要看 SSD 是否健康,主要是要通過(guò) Wear Leveling Count(顆粒平均擦寫(xiě)次數(shù))這個(gè)參數(shù)和Grown Failling Block Ct這個(gè)參數(shù).
注意看下面二行:
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
上面二個(gè)參數(shù)是關(guān)鍵:
Wear Levelling Count(顆粒平均擦寫(xiě)次數(shù)): 先講這個(gè)參數(shù).更加重要.先聲明這個(gè)硬盤(pán)是使用了一年的 SSD 硬盤(pán).圖中顯示的數(shù)據(jù)為536,即這塊128G的硬盤(pán)的全盤(pán)寫(xiě)入/擦除(P/E)數(shù)為536 次,顯示還有 90% 的壽命.所以大約這個(gè)硬盤(pán)使用的閃存顆粒的壽命為 5000 多次的樣子.536 約為 5000 的 10% ,所以此項(xiàng)值為90(CA). Grown Failing Block Count(使用中新增壞塊數(shù)): 此項(xiàng)代表 SSD 的閃存顆粒在使用時(shí)出現(xiàn)的壞塊(類似于HDD的壞道)數(shù)量,此處數(shù)據(jù)為 0 即尚未有出現(xiàn)壞塊,若你命不好.新購(gòu)買(mǎi)回來(lái) SSD 在正常使用時(shí),很短的時(shí)間內(nèi)這個(gè)數(shù)據(jù)產(chǎn)生較大變化,那代表盤(pán)可能有問(wèn)題,早點(diǎn)找售后服務(wù)吧.
MegaCli常用參數(shù)組合介紹:
MegaCli -cfgdsply -aALL | grep “Error” 【正常都是0】
MegaCli -LDGetProp -Cache -LALL -a0 【寫(xiě)策略】
MegaCli -cfgdsply -aALL | grep “Memory” 【內(nèi)存大小】
MegaCli -LDInfo -Lall -aALL 【查RAID級(jí)別】
MegaCli -AdpAllInfo -aALL 【查RAID卡信息】
MegaCli -PDList -aALL 【查看硬盤(pán)信息】
MegaCli -AdpBbuCmd -aAll 【查看電池信息】
MegaCli -FwTermLog -Dsply -aALL 【查看RAID卡日志】
MegaCli -adpCount 【顯示適配器個(gè)數(shù)】
MegaCli -AdpGetTime –aALL 【顯示適配器時(shí)間】
MegaCli -AdpAllInfo -aAll 【顯示所有適配器信息】
MegaCli -LDInfo -LALL -aAll 【顯示所有邏輯磁盤(pán)組信息】
MegaCli -PDList -aAll 【顯示所有的物理信息】
MegaCli -AdpBbuCmd -GetBbuStatus -aALL |grep “Charger Status” 【查看充電狀態(tài)】
MegaCli -AdpBbuCmd -GetBbuStatus -aALL 【顯示BBU狀態(tài)信息】
MegaCli -AdpBbuCmd -GetBbuCapacityInfo -aALL 【顯示BBU容量信息】
MegaCli -AdpBbuCmd -GetBbuDesignInfo -aALL 【顯示BBU設(shè)計(jì)參數(shù)】
MegaCli -AdpBbuCmd -GetBbuProperties -aALL 【顯示當(dāng)前BBU屬性】
MegaCli -cfgdsply -aALL 【顯示RAID卡型號(hào),RAID設(shè)置,DISK相關(guān)信息】
磁帶狀態(tài)的變化,從拔盤(pán),到插盤(pán)的過(guò)程中:
Device |Normal|Damage|Rebuild|Normal
Virtual Drive |Optimal|Degraded|Degraded|Optimal
Physical Drive |Online|Failed –> Unconfigured|Rebuild|Online