USB-HDDをスリープさせる(hd-idle)

最近USB接続のUSB HDDの熱が少し気になります.通常時は倉庫的に使っているのでアイドルです.アイドルが一定時間続いたらスリープするように設定できたよなと hdparm -S を叩いてみましたがコントローラーが非対応のようでエラーとなりました.

$ sudo hdparm -S 60 /dev/sdb

/dev/sdb:
 setting standby to 60 (5 minutes)
SG_IO: bad/missing sense data, sb[]:  70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

hd-idle を使うとスリープするように出来ました.

Debianパッケージで導入します.

$ sudo apt install hd-idle

/etc/default/hd-idle を編集して設定します.ここでは対象のディスクの /dev/sdb から sdb を,タイムアウト時間を 300 (秒) を指定しました.

$ sudo git -C /etc diff /etc/default/hd-idle
diff --git a/default/hd-idle b/default/hd-idle
index 57eb964..1c1bedb 100644
--- a/default/hd-idle
+++ b/default/hd-idle
@@ -9,7 +9,7 @@
 # and systemv scripts
 # properly update HD_IDLE_OPTS in order to star hd-idle

-HD_IDLE_OPTS="-h"
+HD_IDLE_OPTS="-i 0 -a sdb -i 300"

 # hd-idle command line options
 # Options are:

起動します.

$ sudo service hd-idle start
$ ps -ef| grep -i hd-i
root     3468122       1  0 23:24 ?        00:00:00 /usr/sbin/hd-idle -i 0 -a sdb -i 300

これで5分対象のhddが利用されなかったらスリープ,そのご利用しようとしたら自動的にスピンアップしてきます.

環境
$ lsusb | grep ATA
Bus 001 Device 008: ID 1bcf:0c31 Sunplus Innovation Technology Inc. SPIF30x Serial-ATA bridge
$ dpkg-query -W hd-idle
hd-idle 1.05+ds-2
$ lsb_release -dr
Description:    Debian GNU/Linux 11 (bullseye)
Release:        11
$ arch
x86_64

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です