ディスクが起動しないのはなぜですか?

ディスクが起動しないのはなぜですか?

1 分間操作がないとハード ドライブがスリープ状態になるように設定しました。以前はこの設定が非常にうまく機能し、サーバーはほとんど常に完全に無音でした。しかし、最近はドライブが頻繁に起動するようになりました。

何が彼らを眠らせないのか確認できますか? これはホームサーバーです。

rc.local:

hdparm -M 128 -S 60 /dev/sda
hdparm -S 60 /dev/sdb

アップデート:サーバーは Ubuntu 10.04 を実行しています。/tmp と /var/ を含む OS は SSD 上にあり、sda と sdb はストレージ/バックアップにのみ使用されます。

アップデート2:私の sysctl.conf から:

vm.swappiness = 1
vm.vfs_cache_pressure = 50
vm.dirty_writeback_centisecs = 1500
vm.dirty_ratio = 20
vm.dirty_backgrounds_ratio = 10

答え1

これは実際には質問に対する答えではありませんが、根本的な問題の解決に役立つかもしれません。私が知っているツールの 1 つは ですがiotop、プロセスからの短いアクティビティをキャッチするのには役立たない可能性があります。

ハード ドライブをアイドル状態のときにスリープ状態にするのは、アクティビティの原因となる可能性のあるソースが多数あるため、難しい場合があります。システムが何もしていないと思っても、バックグラウンドで書き込みが行われていないとは限りません。よくある原因をいくつか挙げます。

  • ジャーナルのフラッシュ。Linux は、フラッシュが必要かどうかに関係なく、ext3 (または ext4) ジャーナルを定期的にフラッシュします。これはcommitマウント オプションで調整できます。
  • システム ログ。デフォルト設定では、行が書き込まれるたびに一部のシステム ログがフラッシュされます。Cron ジョブはログ エントリをトリガーするため、常習的に使用されます。のすべてのログ ファイル名の前にauthを付ける必要があります。-/etc/syslog.conf

本当にディスクの回転を止めたい場合は、フラッシュされないこれは実際に機能します (少なくとも以前は機能していましたが、最近はあまりメンテナンスされておらず、最新のカーネルでは問題が発生する可能性があります)。ただし、これはハックであり、非常に強引な方法であることに注意してください。キャッシュがいっぱいになるか、ディスクが読み取りのために起動するまで、カーネルの書き込みを単に停止します。

静寂を求めるなら、とても役立ちますディスクをゴム紐で吊るす直接マウントするのではなく、これを使用します。これにより電力消費が削減されるわけではありませんが、10krpm 以上のドライブ (いずれにしても大音量のファンが必要) がない限り、アイドル時でも CPU とマザーボードが主な電力消費源になる可能性があります。

答え2

詳細なログ記録がオフになっていることを確認してください。ファイアウォール ルールによってログに記録される特定のポートでブロードキャストを送信しているマシンがある場合、ドライブが停止しないだけのエントリを簡単に取得できます。HP プリンターと Windows マシンは、ローカル ネットワーク上の他のマシンを確認するためにブロードキャストを送信することで有名であり、ほとんどのファイアウォール ルールはそれらの要求をログに記録します。

実行中のサービスをチェックして、独自のファイルにログを記録しているサービスがないか確認してください。fam は実行されていますか? swappiness が高く設定されていて、RAM からスワップに常にシャッフルするほどのサービスがありますか? cron ジョブはありますか?

答え3

やってみましたiotop

関連情報