ディスクの回転を妨げている人物を見つけるにはどうすればいいですか

ディスクの回転を妨げている人物を見つけるにはどうすればいいですか

問題

  • NAS システムを Buster から Bullseye にアップグレードした後、ディスクがスピンダウンできなくなります。

私のNASセットアップ

  • 5x メカニカル ディスク WD RED、RAID なし、ジャーナリングなしの ext4
  • Debian Bullseye、カーネル 5.10
  • システムは6番目のSSDディスクからロードしています(機械的なものを起動するためではありません)
  • 30 分間操作がないとスピンダウンを設定する hd-idle ユーティリティhd-idle -i 0 -a sda -i 1800 -a sdb -i 1800 -a sdc -i 1800 -a sdd -i 1800 -a sde -i 1800 -l /var/log/hd-idle.log
  • Bullseye にアップグレードする際に NAS のハードウェアに変更はなく、hd-idle の構成にも変更はありません。
  • NASは8年以上このハードウェア設定で使用されており、ソフトウェア設定も使用しています。主にディスクは何年も問題なく30分後に回転を停止していました。

私が試したこと

  • を使用するとhd-idle -t sda、ディスクはすぐにスピンダウンしますが、(定期的なディスクアクティビティにより)起動した後は、再びスリープ状態になることはありません。
  • ディスクが で強制的にスピンダウンされた場合hd-idle -t、定期的なアクティビティがなければディスクは起動しません。つまり、繰り返しジョブによってディスクが起動されることはありません。
  • 私は、Bullseye に何らかの変更があって、それが smartmontools を起動させているのではないかと疑っていました。 と を少し試してみました/etc/smartd.conf-n standby、うまくいきませんでした。そこで、smartd を完全に無効にして、smartmontools が隠れた悪者かどうかを調べましたが、運が悪く、どうやらそうではないようです。
  • lsof | grep /media何も表示されません (メディアはすべてのディスクのマウントポイントです)
  • iotop私も で少し遊んでいましたnmon。しかし、何も面白いものは見つかりませんでした。SSD (システム) ディスクでの通常のアクティビティのみです。
  • 何らかの理由で実行できませんiosnoop。パッケージはperf-tools-unstable適切にインストールされているのですが、root でも呼び出しがiosnoop終了してしまいますbash: iosnoop: command not found。原因はわかりません。

私のシステムをデバッグできないのは明らかですが、ディスクの回転を妨げている問題を見つけるためのヒントがあればいただければ幸いです :-)

答え1

解決済み少なくとも、ディスクがスリープ状態にならない理由はわかりました。Linux ツールを使用してこの問題を追跡する方法については、あるディスカッションで偶然見つけたので、はっきりとはわかりません。

サービスが変更されたようですudisks2。このサービスはディスクをチェックし、USB スティックなどの自動マウントを担当しています。現在、このサービスはディスクの SMART もチェックします (理由は不明)。ディスクがスリープ状態の場合は起動しませんが、アクティブな場合は、udisks2 が 10 分ごとに SMART をチェックします。したがって、スリープ時間が 30 分の場合、ディスクはスリープ状態になりません。また、WD Red ディスクは、スリープ時間を 10 分より短く設定できないことがよくあります (ディスクが過度にスピンダウンするのは健全ではないため、これは妥当な制限です)。

いくつかの情報源:

NAS システムの回避策: おそらく udisks2 サービスはまったく必要ありません。

sudo systemctl stop udisks2
sudo systemctl mask udisks2

関連情報