硬盤主動防護系統

出自 Arch Linux 中文维基

硬盤主動防護系統(HDAPS)可以在硬盤受到突然衝擊時(比如你的筆記本掉落或撞擊到桌子上時)保護硬盤,其工作原理是在發生意外衝擊時停放磁頭,這樣磁頭就不會撞擊到盤片上,也許這會避免一個災難性的硬盤損傷。參閱wikipedia:Active hard-drive protection

注意: 固態硬盤不需要HDAPS,因為其不包含高速旋轉的機械部件.

震動檢測[編輯 | 編輯原始碼]

硬件需要支持震動檢測。一般來説,實現此功能的是筆記本主板上的一個加速度計。除了硬件,還需要有驅動程序將硬件檢測到的內容吿訴作業系統。這個部分描述實現此功能的驅動程序。

tp_smapi[編輯 | 編輯原始碼]

tp_smapi 是一套適用於ThinkPad的驅動程序集。如果你有一台支持此功能的ThinkPad,就算你沒打算使用HDAPS也強烈推薦使用tp_smapi。除了很多有用的功能外,tp_smapi還會把加速計輸出為操縱杆設備/dev/input/js#

注意: 這可能會干擾到系統的其他操縱杆設備

安裝tp_smapi.重啟後會啟動大部分的驅動,設備信息位於/sys/devices/platform/smapi.

內核有自己的 HDAPS 驅動,tp_smapi 軟件包會將hdaps.ko 安裝到 /lib/modules/$(uname -r)/updates,替換掉內置模塊。這樣只需在 MODULES 中加入hdaps模塊就好了。

注意: 參見 這個bug報吿, 某些ThinkPad使用了tp_smapi不支持的固件,並且看起來在不久的將來tp_smapi也不會支持這些固件. 這些系列存在此問題: Edge, SL, L, X1xxe. 項目頁面表示 x121e 主要功能應該沒問題,但是用户報吿無法工作,所以這些設備目前的支持都有問題。

模塊參數invert[編輯 | 編輯原始碼]

某些ThinkPads需要添加invert模塊參數來正確處理X和Y旋轉軸. 如果需要的話,在/etc/modprobe.d/modprobe.conf中添加:

options hdaps invert=1

例如 ThinkPad T410,可以添加invert=1 .invert可以取如下值:

  • invert=1 反轉X和Y軸;
  • invert=2 反轉X軸 (如果已經倒置兩軸則此參數值無效)
  • invert=4 交換X和Y (在反轉之前)

參數值可以相加. 例如, invert=5 交換兩軸後反轉兩軸. 最大的參數值是7.如果你不清楚該怎麼辦的話,可以使用hdaps-gl或者其它圖形界面工具 (見下). 另外, 你可以從 這張表裡的"HDAPS axis orientation"項中得出你需要的參數值.

除了修改後重新載入 hdaps 模塊之外, 還可以通過直接寫 /sys/devices/platform/hdaps/invert 來修改 invert 值。

保護[編輯 | 編輯原始碼]

現在,你的硬件已經能將受到衝擊的信息報吿給作業系統,我們需要讓作業系統在收到此信息後保護硬盤.這個部分描述的是在收到信息後保護硬盤的軟件.

hdapsd[編輯 | 編輯原始碼]

hdapsd可以接收HDAPS傳感器的信息並判斷是否受到衝擊,如果是的話通知內核停放磁頭.

設置hdaps時你應該檢查硬盤的SMART信息中的"Load cycle count". 如果檢測太過於敏感的話,磁頭將會不停地進行停放操作,load cycle count將會上升很快.

安裝hdapsd後,通過 hdapsd@device.service啟動 hdapsd 守護進程,但是不需要設置為開機啟動。

軟件包會安裝 udev 規則, udev 會對每個機械磁盤啟用 hdapsd 實例。

更多信息請參考 hdapsd github 頁面

你可以在hdaps的unit file裡調整參數(詳見systemd的文章). 比如以下面的文件覆蓋默認的service文件將調整hdaps的靈敏度與記錄:

/etc/systemd/system/hdapsd.service.d/sensitivity.conf
[Service]
ExecStart=
ExecStart=/usr/bin/hdapsd --sensitivity=40 -blp

然後重載配置.

圖形界面工具[編輯 | 編輯原始碼]

這裏有一些顯示hdapsd狀態的軟件,通過它們你很容易知道發生了些什麼.你可以選擇不安裝它們.

xfce4-hdaps — Xfce4面板小程序.

http://michael.orlitzky.com/code/xfce4-hdaps.xhtml || xfce4-hdapsAUR

HDAPSicon — (之前的thinkhdaps)是一個獨立的GTK小程序.運行時會在通知區顯示圖標.

https://github.com/thpani/thinkhdaps || hdapsicon-gitAUR

hdaps-gl — 一個簡單的OpenGL程序 ,它以3D動畫的形式顯示您的ThinkPad的狀態,和聯想的Windows下的軟件很像.

https://github.com/evgeni/hdapsd || hdaps-glAUR

參見[編輯 | 編輯原始碼]