どのプロセスがファイル/デバイスにアクセスしているかを確認してください。

どのプロセスがファイル/デバイスにアクセスしているかを確認してください。

私はRaspberry Piに接続された外付けハードドライブがランダムに回転しているようですが、理由がわかりません。 RAID 1を形成し、mdadm唯一のパーティションはext4でフォーマットされます。

今日は実行する画面を設定しました。

$ while true; do inotifywait -r /media/raid/; sleep 300; done

そして私のRAIDを使用しないでください。常に単一のイベントを監視していないため、RAIDのファイルシステムにランダムにアクセスするプロセスがないようです。

別の画面で私は走った

# while true; do inotifywait /dev/sd{a,b}* /dev/md1; fuser /dev/sd{a,b}* /dev/md1; sleep 300; done

一日中多くのイベントを記録しますが、一部のPIDのみを記録します。私はこれがどこから来たのか/usr/sbin/smartd -n、どれがハードドライブを回転させるのかさえわかりません。/usr/lib/udisks2/udisksd --no-debug犯人は短時間だけファイルを開いてfuser呼び出して PID を生成するのに長い時間がかかるため、目立たない可能性が高くなります。

これらの回転の原因をどのように知ることができますか?


これが重複という疑惑が正しければ私が上げた文です。新しい質問実際に問題を解決することについて。

答え1

このソリューションはやや極端に見えますが、再起動できる場合は、LSM(AppArmor、SELinux)を使用してマウントポイントとデバイスファイルへのすべてのアクセスをブロックできます。これにより、ログで終了したプロセスを見つけることができます。

学習モードを使用すると、アクセスをブロックしなくてもかまいません。ただし、これにより、あまりにも多くのログデータが生成される可能性があります。

関連情報