Linux
如何確定 Linux 下 SSD 的寫入周期數或預期壽命?
我們已經在 Linux (RHEL 5) 伺服器中執行 SSD (Intel X25-M) 有一段時間了,但從未努力弄清楚過去一年它承受了多少寫入負載。Linux 下是否有任何工具可以告訴我們隨著時間的推移大約有多少寫入磁碟,或者(甚至更好)它累積了多少磨損?只是在尋找提示,看看它是否接近死亡……
英特爾 SSD 確實保留了關於總寫入次數以及它可能的生命週期的統計數據。
以下來自 Intel X25-M G2 160GB (SSDSA2M160G2GC)
# smartctl -data -A /dev/sda smartctl 5.40 2010-10-16 r3189 [x86_64-redhat-linux-gnu] (local build) Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net === START OF READ SMART DATA SECTION === SMART Attributes Data Structure revision number: 5 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 3 Spin_Up_Time 0x0020 100 100 000 Old_age Offline - 0 4 Start_Stop_Count 0x0030 100 100 000 Old_age Offline - 0 5 Reallocated_Sector_Ct 0x0032 100 100 000 Old_age Always - 1 9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 6855 12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 68 192 Unsafe_Shutdown_Count 0x0032 100 100 000 Old_age Always - 30 225 Host_Writes_32MiB 0x0030 200 200 000 Old_age Offline - 148487 226 Workld_Media_Wear_Indic 0x0032 100 100 000 Old_age Always - 3168 227 Workld_Host_Reads_Perc 0x0032 100 100 000 Old_age Always - 1 228 Workload_Minutes 0x0032 100 100 000 Old_age Always - 1950295543 232 Available_Reservd_Space 0x0033 099 099 010 Pre-fail Always - 0 233 Media_Wearout_Indicator 0x0032 098 098 000 Old_age Always - 0 184 End-to-End_Error 0x0033 100 100 099 Pre-fail Always - 0
Host_Writes_32MIB 原始值顯示有多少 32MiB 數據單元已寫入此驅動器。
Media_Wearout_Indicator 值向您顯示驅動器在其有用磨損壽命中的標準化百分比。這從 100(或 099,我忘記了)開始,一直到 001,此時英特爾認為驅動器已超過其使用壽命。英特爾也將 MWI 用作保修索賠的一部分——一旦 MWI 達到 001,保修就到期了。
MWI 達到 001 並不意味著驅動器將立即發生故障!英特爾將內置容差來處理快閃記憶體單元的差異。我已經看到驅動器在這一點上的使用時間很長,並且我正在積極地對一些英特爾 320 系列 SSD 進行磨損測試,以了解它們的使用時間。
但是,由於保修期在 MWI 達到 001 時到期,我會在那時更換所有驅動器。