マウントされていないときはHDDをスピンダウンさせ、マウントされているときは回転し続けるようにする

マウントされていないときはHDDをスピンダウンさせ、マウントされているときは回転し続けるようにする

ハードディスクをマウントしたときに回転させて、マウント解除したときに回転を停止することは可能ですか?

インターネットで答えを探しましたが、このような質問に対する正確な答えはありませんでした。ハードディスクにタイムアウトを設定するか、

hdparm -Y /dev/sdX

しかし、私の答えは部分的にしか解決されません。わかりました。HDD (プライマリ ディスクは SSD) にアクセスすると回転し始め、作業をやめた後にマウントを解除してそのコマンドを実行するだけです... でもイライラします。コンピューターなので、そのようなことを自動化する方法、スクリプトをコーディングする方法などがあるはずです。TLP も使用していますが、TLP は HDD をタイムアウトさせるだけなので、問題は解決しません。

なぜそれが必要なのか、なぜタイムアウトを設定するだけでは不十分なのかという疑問が生じるかもしれません。その答えは 2 つあります。

  1. HDD を使用するときは、主に映画を観たり音楽を聴いたりします (HDD に保存されています)。HDD でタイムアウトが発生すると、OS が常に HDD から読み取りを行っているため、停止と起動が何度も繰り返され、その方法では起動 -> 停止 -> 起動のサイクルによって HDD が破損します。

  2. 私はデスクトップではなくラップトップを使用しているため、可能な限りバッテリーを節約したいと考えています。HDD がマウントされていないときは、作業していないことがわかっているので、ハードディスクが回転する理由はありません。

タイムアウトは良いですが、1 番目の理由により、私にとっては (最善の) 解決策ではありません。助けになる方法を知っている方がいらっしゃいましたら、お気軽に書き込んでください。どんな助けでもありがたいです。ありがとうございます!

答え1

ドライブによっては、タイムアウトがかなり長くなることがあります。通常は、音楽トラックの再生にかかる時間よりもはるかに長くなります。 hdparmドライブで使用可能なタイムアウトが表示され、ドライブの現在の値と推奨値が表示されます。

古いサーバー ドライブ以外では、数分間アイドル状態が続いたドライブをスピン ダウンすることが推奨されています。過去数年間に確認したドライブはすべて、非アクティブ時にスピン ダウンするように事前構成されています。

ドライブをアンマウントしたときに、O/S がドライブをスピンダウンしたかどうか確認したい場合があります。これは で照会できると思いますhdparm。ドライブがスピンダウンしていない場合は、使用を停止するときにドライブをアンマウントしてスピンダウンする短いスクリプトを作成します。

関連情報