最近 SSD 價格越來越便宜,使得 SSD 越來越普及化了。但由於 SSD 有一個致命的缺點,就是當 SSD 壽命到臨頭時,記憶晶片損壞,一般 HDD(傳統磁碟硬碟)相比更難恢復數據。所以一般建議 SSD 的使用範圍都圍繞在系統碟最佳,儘量不要儲存重要的資料,以免損壞時資料無法救援回來。
防範勝於救援,追蹤 SSD 使用狀態以及其壽命,變成使用 SSD 的一件重要的課題。對於 Windows 系統的使用者來說,檢查 SSD 健康值是一件非常簡單的事情,一般都會使用 Crystaldiskinfo 這套軟體來查看數據,簡單且美觀的使用者介面對於 Linux 系統使用者來說就是一件遙不可及的事情了。雖然 Linux 系統沒有美觀的介面,但功能齊全,查看各個硬碟參數應有盡有。
軟體資訊
檔案名稱- smartmontools
軟體性質- 開源軟體
支援系統- Windows, Mac OS X, Linux
官方網站- www.smartmontools.org
下載連接- 官方下載點
前置作業
sudo fdisk -l
sudo apt install smartmontools
軟體教學
從剛剛用 fdisk 查到的硬碟位置後(/dev/nvme0),輸入到指令裡面即可查看查詢的結果。
sudo smartctl --all /dev/nvme0
smartctl 7.2 2020-12-30 r5155 [x86_64-linux-6.0.0-0.deb11.2-amd64] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Number: ADATA LEGEND 710
Serial Number: 2M402LAG5CD9
Firmware Version: VC0S036H
PCI Vendor/Subsystem ID: 0x1cc1
IEEE OUI Identifier: 0x707c18
Controller ID: 1
NVMe Version: 1.4
Number of Namespaces: 1
Namespace 1 Size/Capacity: 512,110,190,592 [512 GB]
Namespace 1 Formatted LBA Size: 512
Namespace 1 IEEE EUI-64: 707c18 6e63cffa37
Local Time is: Mon Apr 10 15:50:25 2023 CST
Firmware Updates (0x02): 1 Slot
Optional Admin Commands (0x0017): Security Format Frmw_DL Self_Test
Optional NVM Commands (0x0054): DS_Mngmt Sav/Sel_Feat Timestmp
Log Page Attributes (0x02): Cmd_Eff_Lg
Maximum Data Transfer Size: 32 Pages
Warning Comp. Temp. Threshold: 100 Celsius
Critical Comp. Temp. Threshold: 110 Celsius
Supported Power States
St Op Max Active Idle RL RT WL WT Ent_Lat Ex_Lat
0 + 8.00W - - 0 0 0 0 0 0
1 + 4.00W - - 1 1 1 1 0 0
2 + 3.00W - - 2 2 2 2 0 0
3 - 0.0300W - - 3 3 3 3 5000 10000
4 - 0.0050W - - 4 4 4 4 54000 45000
Supported LBA Sizes (NSID 0x1)
Id Fmt Data Metadt Rel_Perf
0 + 512 0 0
=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 43 Celsius
Available Spare: 100%
Available Spare Threshold: 32%
Percentage Used: 0%
Data Units Read: 124,011 [63.4 GB]
Data Units Written: 1,096,668 [561 GB]
Host Read Commands: 2,736,262
Host Write Commands: 39,543,221
Controller Busy Time: 0
Power Cycles: 13
Power On Hours: 206
Unsafe Shutdowns: 5
Media and Data Integrity Errors: 0
Error Information Log Entries: 0
Warning Comp. Temperature Time: 0
Critical Comp. Temperature Time: 0
Error Information (NVMe Log 0x01, 8 of 8 entries)
No Errors Logged
資訊 | 說明 |
---|---|
Available Spare | 就是 SSD 所謂的健康值了。當區域損壞越多 Available Spare 數值就會越低,當 Available Spare 低到一定程度時,控制晶片可能就會進入防寫入保護,以保護資料。當遇到該 SSD 的健康值過低時,建議可以即時的更換,以免重要資料損失。 |
Available Spare Threshold | SSD 備用空間值,當 Available Spare 小於 Available Spare Threshold 時,就代表該 SSD 已經進入極限狀態。 |
Percentage Used | 廠商依據寫入以及讀取兩而定義的壽命百分比,當全新的 SSD 該數值應為 0 |
Data Units Read | 總資料讀取 |
Data Units Written | 總資料寫入 |
Power Cycles | 通電次數 |
Power On Hours | 運行時間,記錄運行的小時數 |
Unsafe Shutdowns | 非正常斷電次數 |
結語
從以前耐用的 MLC,到價格便宜的 TLC,到現在沒那麼耐用的 QLC。經過幾次新技術的發展,SSD 越來越便宜但其壽命也越來越不耐用,這時就要定期的去查看健康度,發現健康度不佳時,即時更換 SSD 才可以保護重要資料。
這一次介紹的 smartmontools 讓 MacOS、Linux 都可以使用簡單的指令才查看詳細的 SSD 相關狀態資料,讓平時有在維護伺服器的朋友來說,可說是極推薦的工具之一。