smartmontools

Smartmontools 是一種硬盤檢測工具,通過控制和管理硬盤的SMART(Self Monitoring Analysis and Reporting Technology,自動檢測分析及報告技術)技術來實現的

##安裝

1sudo aptitude install smartmontools

語法

1smartctl (選項) (參數)

選項

1-i <硬盤> 顯示硬盤設備的標識信息
2-a <硬盤> 顯示設備的所有SMART信息
3-H <硬盤> 顯示設備的健康信息
4-A <硬盤> 顯示設備SMART供應商特定的屬性和值

參數

硬盤設備:指定要查看的硬盤(可以使用 fdisk -l 獲取有哪些硬盤設備)

1~ sudo fdisk -l
2設備          起點      末尾      扇區   大小 類型
3/dev/sda1     2048   1050623   1048576   512M EFI 系統
4/dev/sda2  1050624 976771071 975720448 465.3G Linux 文件系統

實例

查看 /dev/sda1 硬盤的健康狀態,在這個命令中,"-s on"標誌開啓指定設備上的SMART功能。如果/dev/sda上已開啓SMART支持,那就省略它。
(PASSED 表示健康;FAILED 表示即將出現故障所以需要開始備份這塊磁盤上的重要數據)

1~ sudo smartctl -s on -H /dev/sda1   
2
3=== START OF READ SMART DATA SECTION ===
4SMART overall-health self-assessment test result: PASSED

查看 /dev/sda1 硬盤特定的屬性和值 (Power_On_Hours: 表示通電時長 18195 小時)

 1~ sudo smartctl -A /dev/sda1
 2
 3=== START OF READ SMART DATA SECTION ===
 4SMART Attributes Data Structure revision number: 16
 5Vendor Specific SMART Attributes with Thresholds:
 6ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
 7  3 Spin_Up_Time            0x0023   100   100   002    Pre-fail  Always       -       1326
 8  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       3752
 9  9 Power_On_Hours          0x0032   055   055   000    Old_age   Always       -       18195
10 10 Spin_Retry_Count        0x0033   174   100   030    Pre-fail  Always       -       0
11 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       3118
12183 Runtime_Bad_Block       0x0032   100   100   001    Old_age   Always       -       0
13184 End-to-End_Error        0x0033   100   100   097    Pre-fail  Always       -       0
14185 Unknown_Attribute       0x0032   100   100   001    Old_age   Always       -       65535
15187 Reported_Uncorrect      0x0032   001   001   000    Old_age   Always       -       134
16188 Command_Timeout         0x0032   100   098   000    Old_age   Always       -       48
17191 G-Sense_Error_Rate      0x0032   100   100   000    Old_age   Always       -       2850
18192 Power-Off_Retract_Count 0x0022   100   100   000    Old_age   Always       -       32047593
19193 Load_Cycle_Count        0x0032   095   095   000    Old_age   Always       -       51738
20194 Temperature_Celsius     0x0022   060   055   040    Old_age   Always       -       40 (Min/Max 16/44)

以指定的間隔運行,同時又能通知硬盤的測試結果

首先,編輯smartctl的配置文件(/etc/default/smartmontools)以便在系統啓動時啓動smartd,並以秒爲單位指定間隔時間(如7200 = 2小時)

1start_smartd=yes
2smartd_opts="--interval=7200"

下一步,編輯smartd的配置文件(/etc/smartd.conf),添加以下行內容。

1/dev/sda -m myemail@mydomain.com -M test

選項說明
-m :指定發送測試報告到某個電子郵件地址。這裏可以是系統用戶比如root,或者如果服務器已經配置成發送電子郵件到系統外部,則是類似於 myemail@mydomain.com 的郵件地址。
-M :指定發送郵件報告的期望類型。
once:爲檢測到的每種磁盤問題只發送一封警告郵件。
daily:爲檢測到的每種磁盤問題每隔一天發送一封額外的警告提醒郵件。
diminishing:爲檢測到的每種問題發送一封額外的警告提醒郵件,開始是每隔一天,然後每隔兩天,每隔四天,以此類推。每個間隔是前一次間隔的2倍。
test:只要smartd一啓動,立即發送一封測試郵件。
exec PATH:取代默認的郵件命令,運行PATH路徑下的可執行文件。PATH必須指向一個可執行的二進制文件或腳本。當檢測到一個問題時,可以指定執行一個期望的動作(閃爍控制檯、關閉系統等等)。

保存改動並重啓smartd。來源:https://github.com/jaywcjlove/linux-command

最後修改於: Wednesday, January 31, 2024

相關文章:

翻譯: