前文〝
加裝偵測「硬碟溫度」、「散熱風扇轉速」的程式〞提到的 HDDTemp 套件,不能用於偵測 RocketRAID 硬碟組的硬碟溫度。但是,硬碟溫度的又會關係到硬碟的壽命長久,就需要在電腦運作時偵測硬碟溫度,決定是否要加裝散熱風扇來降低硬碟溫度。而且,不能打開機殼量測硬碟的溫度,這樣就不準確了。
Linux 系統中有一個 smartmontools 套件,其中的 smartctl 這個程式,可用以查詢硬碟資訊,當然也包含硬碟溫度。查詢的命令為,
[root@Core-i7 ~]# smartctl /dev/sda -A -d hpt,1/1/1 | grep Temperature
190 | Airflow_Temperature_Cel | 0x0022 | 056 | 047 | 045 | Old_age | Always | - | 44 (Min/M ... |
194 | Temperature_Celsius | 0x0022 | 044 | 053 | 000 | Old_age | Always | - | 44 (0 23 0 ... |
其中,『-d hpt,1/2/3』是指定查詢的裝置是出於 HighPoint,第 1 張介面卡的第 2 通道之第 3 連接埠。『導線 | 』後的命令是僅顯示 Temperature 相關訊息。
用上述命令要一個一個硬碟查詢,硬碟一多有些不便,可以利用 Linux 腳本語言簡化命令
[root@Core-i7 ~]# for i in 1 2 3 4 ; do smartctl /dev/sda -A -d hpt,1/$i/1 | grep Temp ; done
190 | Airflow_Temperature_Cel | 0x0022 | 056 | 047 | 045 | Old_age | Always | - | 44 (Mi ... |
194 | Temperature_Celsius | 0x0022 | 044 | 053 | 000 | Old_age | Always | - | 44 (0 2 ... |
190 | Airflow_Temperature_Cel | 0x0022 | 060 | 044 | 045 | Old_age | Always | In... | 40 (Mi ... |
194 | Temperature_Celsius | 0x0022 | 040 | 056 | 000 | Old_age | Always | - | 40 (0 2 ... |
190 | Airflow_Temperature_Cel | 0x0022 | 055 | 032 | 045 | Old_age | Always | In... | 45 (Mi ... |
194 | Temperature_Celsius | 0x0022 | 045 | 068 | 000 | Old_age | Always | - | 45 (0 2 ... |
190 | Airflow_Temperature_Cel | 0x0022 | 063 | 055 | 045 | Old_age | Always | - | 37 (Mi ... |
194 | Temperature_Celsius | 0x0022 | 037 | 045 | 000 | Old_age | Always | - | 37 (0 2 ... |
其中的『... in 1 2 3 4 ...』是介面卡的通道。也可以用另一個寫法,
[root@Core-i7 ~]# for (( i=1;i<=4;i=i+1)) ; do smartctl /dev/sda -A -d hpt,1/$i/1 | grep Temp ; done
190 | Airflow_Temperature_Cel | 0x0022 | 056 | 047 | 045 | Old_age | Always | - | 44 (Mi ... |
194 | Temperature_Celsius | 0x0022 | 044 | 053 | 000 | Old_age | Always | - | 44 (0 2 ... |
190 | Airflow_Temperature_Cel | 0x0022 | 060 | 044 | 045 | Old_age | Always | In... | 40 (Mi ... |
194 | Temperature_Celsius | 0x0022 | 040 | 056 | 000 | Old_age | Always | - | 40 (0 2 ... |
190 | Airflow_Temperature_Cel | 0x0022 | 055 | 032 | 045 | Old_age | Always | In... | 45 (Mi ... |
194 | Temperature_Celsius | 0x0022 | 045 | 068 | 000 | Old_age | Always | - | 45 (0 2 ... |
190 | Airflow_Temperature_Cel | 0x0022 | 063 | 055 | 045 | Old_age | Always | - | 37 (Mi ... |
194 | Temperature_Celsius | 0x0022 | 037 | 045 | 000 | Old_age | Always | - | 37 (0 2 ... |
經驗分享:
- Smartctl 這個程式可以查詢 S.M.A.R.T. 的其它資訊,讀者可以多熟悉它的用法。
- RocketRAID 硬碟組的硬碟溫度,只能用命令列程式 smartctl 查詢,尚未找到如 HDDTemp 套件般方便的工具。
已測試版本:
- Fedora: 14, 17, 19, 20, 21, 22
- HighPoint RocketRAID 1740, 2220, 2320
參考資料:
- GNU, "Bash Reference Manual," [Oct. 15, 2015].
- Mike G mikkey, "BASH Programming - Introduction HOW-TO," Jul. 27 2000 [Oct. 15, 2015].
- LinuxCommand.org, "The Linux Command Line," [Oct. 15, 2015].
- 鳥哥的 Linux 私房菜, "第十二章、學習 Shell Scripts," Jul. 17 2015 [Oct. 15, 2015].
沒有留言:
張貼留言
感謝你耐心看完本文,歡迎留下任何指正、建議,筆者會儘快回應。(English is also welcome.)