15分間など、非アクティブな期間が経過した後、USBハードドライブを自動的にスピンダウンしたいと思います。そして、もちろん、アクセス時にそれらを自動的に再起動します。これどうやってするの?ありがとう
hd-idleユーティリティが役立つはずです
以下のソースを見て、よく読んで、それが役立つかどうかを確認してください。
次のコマンドを使用して、CVS
でソースコードをダウンロードします。
cvs -d:pserver:[email protected]:/cvsroot/hd-idle login
cvs -z3 -d:pserver:[email protected]:/cvsroot/hd-idle co -P hd-idle
Debianシステム:
dpkg-buildpackage -rfakeroot
使用法:
hd-idle
# This will start hd-idle with the default options,
# causing all SCSI (read: USB, Firewire, SCSI, ...) hard disks
# to spin down after 10 minutes of inactivity
注:hd-idleは/proc/diskstats
を使用してディスク統計を読み取ることに注意してください。このファイルが存在しない場合、hd-idleは機能しません。
情報:
hd-idleの実行
Hd-idleを実行するには、「hd-idle」と入力します。これにより、デフォルトのオプションでhd-idleが起動し、すべてのSCSI(読み取り:USB、Firewire、SCSIなど)のハードディスクが10分間非アクティブになるとスピンダウンします。
Debianシステムでは、/ etc/default/hd-idleを編集して有効にした後、「/ etc/init.d/hd-idle start」を使用してhd-idleを実行します。
Hd-idleは/ proc/diskstatsを使用してディスク統計を読み取ることに注意してください。このファイルが存在しない場合、hd-idleは機能しません。
コマンドラインオプション
-a <name> Set (partial) device name of disks for subsequent idle-time parameters (-i). This parameter is optional in the sense that there's a default entry for all [SCSI] disks which are not named otherwise by using this parameter.
-i <idle_time> Idle time in seconds for the currently named disk(s) (-a <name>) or for all disks.
-l <logfile> Name of logfile (written only after a disk has spun up). Please note that this option might cause the disk which holds the logfile to spin up just because another disk had some activity. This option should not be used on systems with more than one disk except for tuning purposes. On single-disk systems, this option should not cause any additional spinups.
-t <disk> Spin-down the specified disk immediately and exit. Use only the disk name (e.g. sda) without /dev/ prefix
-d Debug mode. This will prevent hd-idle from becoming a daemon and print debugging info to stdout/stderr
-h Print brief usage information
パラメータ「-a」について:
Hd-idleのユーザーは、個々のディスクのアイドル時間パラメーターを設定する手段を求めています。これは、一部の[SCSI]ディスクが停止に反応しない可能性があるためだけでなく、非常に理にかなっています。元々、hd-idleにはすべてのディスクに対して1つのアイドル時間がありました。パラメーター "-a"を使用して、ディスクのデバイス名にフィルターを設定できます(/ dev /を省略)。その後のアイドル時間設定に使用できます。
最初の「-a」オプションの前の「-i」オプションは、デフォルトのアイドル時間を設定します。したがって、以前のリリースのhd-idleとの互換性は維持されます。
デフォルトでディスクのスピンダウンを無効にしてから、選択したディスクでスピンダウンを再度有効にするには、デフォルトのアイドル時間を0に設定します。
例:
hd-idle -i 0 -a sda -i 300 -a sdb -i 1200
この例では、デフォルトのアイドル時間を0に設定し(hd-idleはディスクをスピンダウンさせない)、デバイス名に文字列 "sda"または "sdb"を含むディスクの明示的なアイドル時間を設定します。 hd-idleの停止
killall hd-idle
を使用して、hd-idleを停止します。 Debianシステムでは、/etc/init.d/hd-idle stop
を使用します。
ソース:
これには通常、ハードドライブ側のUSB-to-SATAコントローラーが関係します。ほとんどの外付けUSBハードドライブのファームウェアも構成可能ではないため、常にこのように設定できるとは限りません。これを行うことができるコントローラがいくつかあるかもしれませんが、主流のUSBハードドライブデバイスであるコントローラはありません。
残念ながら、コントローラーが独自のソフトウェアスイートなどを介してこれらの種類の変更を設定に許可していない場合、Linuxとその基本ソフトウェアだけでこれを変更する実際の方法はありません。
オープンプログラム
ディスクを開くことができるツールに移動します
最小化アイコンの左側のトップバー
アイコンをクリックして、ドライブの設定に移動します
そこで、USBディスクまたは他のディスクのスピンダウン設定を変更/有効にすることができます。
hdparmを使用して、スピンダウンに value を1〜255の範囲で設定できます。
コマンドはhdparm -S255/dev/sdXで、もちろんXがデバイスに適用されます。
blkidを使用して、正しいデバイスを見つけることができます。
デバイスは、アクセスされるとスピンアップします。
hdparm -C/dev/sdXを使用して、デバイスのステータス(スピンダウンを意味するスタンバイを伴うアイドル/アクティブ/スタンバイ)を確認します。
注意して処理してください:hdparm -y/dev/sdXを使用して、デバイスを手動でスピンダウンすることもできます。これは、スピンダウンするかどうかを識別するのに役立ちます(以下を参照)。
これが私の設定で動作するようになりました:
しかし、それは常に機能しませんでした。最初の接続では、手動でスピンダウンせず、自動的にスピンダウンしませんでした。何がディスクの動作を変更したのかわかりません。次の間に行った2つのこと:
ところで私の高度な電源管理レベルは254です。(hdparm -B/dev/sdX)。 APMがスピンダウン時間にどのように関係しているかはわかりません。通常、254の値はスピンダウンを防ぎます。スピンダウンを有効にするには、127以下に設定する必要があることも読みました。
NASの目的で製造されたHDDがスピンダウンを抑制するかもしれないと考えていました。他の貢献者から主題についてのより多くの洞察を得るために、私は追加の疑わしい詳細とともにこの答えを投稿しました。回答を後で更新できてうれしいです。
編集:常に機能しません。スタンバイ状態のディスクは、だれもアクセスせずにウェイクアップします。また、hd-idleを削除したため、-Sを使用した自動スタンバイは機能しなくなりました。