これは私の最初の質問でした。広範な研究の終わりに助けを求める必要がありました。
Arch Linuxをベースにホームサーバーを構築しました。デフォルトでは、Plexメディアサーバーを実行し、Time Machineバックアップとリモートメディア設定のためのいくつかのAFP共有を提供する2つの主な目的があります。すべてがうまく行われ、パフォーマンスに非常に満足しています。 Avahi、Netatalk、PMSを除いて、実行中のプロセスはあまりありません。そのままにしておくこともできますが、一つの問題があります。まさに電源管理です。
私が達成したいのは、電力を節約し、使用しないときにハードドライブをしばらく休ませることです。 Raid5構成には、BTRFSをファイルシステムとして使用する8つのWD Red 4TBディスクがあります(データとメタデータはどちらもRaid5です)。ディスクアレイに保存されているシステムやログファイルはなく、別々のSSDにあります。ストランドが2本だけで、メディアそしてタイムマシン。したがって、システム関連のプロセスがディスクの省電力状態を妨げてはいけません。
これまで私がしたこと:
HDパラメータ
- –yオプションを使用してディスクをスピンダウンできることを確認してください✓
- APMがサポートされているかどうかを確認 - >ディスク自体を処理✓
システム
- システム起動後にハードディスクの回転を設定する小さなサービスを作成する✓
- ステータスコマンドを使用して正しい実行を確認します✓
ディスクが回転し、すべてが正常ですが、スタンバイモードにはなりません。すべてのディスクをスタンバイモードに強制し、共有からファイルを読み取ろうとすると、ディスクは期待どおりに回転し始めますが、システムがハングして応答しなくなります。
この動作の原因が何であるかよくわかりません。 BTRFSはHDDスペアリングに適していませんか?各ディスクが順番に回転するので、ウェイクアップ時間が長すぎますか?
私の目標は、2時間後にドライブをスタンバイモードにし、BTRFS Raidからファイルにアクセスしたときにすぐにすべてを開始することです。誰でも私を助けることができますか? !
事前にありがとう
修正する
誰かが興味を持っていると思われるこの問題について報告するいくつかの進歩があります。
システムが頻繁にクラッシュする主な理由が見つかりました。幸い、これはBTRFSとは何の関係もありません。 8つのドライブは一緒に回転しないため、に指定されているデフォルトのタイムアウトである30秒を超えてください/sys/block/sda/device/timeout
。これによりカーネルエラーが発生し、システム全体がハングする可能性があります。ドライブがゆっくり回転するのにドライバまたはカーネルの問題があります。ところで、私のAdaptec HBA 1000 8iコントローラはaacraidドライバを使用しています。
タイムアウト値を設定すると問題が/sys/block/sd[x]/device/timeout
解決します。120
これでドライブもスリープ状態になります。ここでより多くの内容を読むことができます:http://ask.adaptec.com/app/answers/detail/a_id/15357/~/error%3A-aacraid%3A-host-adapter-abort-request
しかし、新しい問題が発生します。ドライブはスリープモードになり、一部のプロセスはファイルシステムに十分速くアクセスできません。私が得たのはこれです:INFO: task xyz blocked for more than 120 seconds.
これは悪いことですか?
今調べる必要があるのは、8つのドライブをすべて同時に回転させる方法です。システムが再起動すると、すべてのドライブがすぐに回転し、PSUがこれをうまく処理するため、消費電力は問題になりません。また、新しいエラーメッセージの原因が何であるかを知りたいです。
コメントありがとうございます!
アップデート2
追加の観察とテスト後もメッセージの問題がaacraid: Host adapter abort request
まだ存在するようです。timeout
値が設定されているため、システムは停止しなくなりますが、120
カーネルログは依然としてこれらの要求でいっぱいです。時々、次の項目が表示されます。INFO: task btrfs-transacti:1351 blocked for more than 120 seconds.
私が知っている限り、この2つの問題はドライブがスタンバイモードにあるときにのみ発生します。これは、上記のすべての問題の主な原因が、スタンバイ状態でドライブが応答しないことに関連していることを意味する可能性があります。
また、ドライブ容量0
が4000787030016
。アイテムはとsd(x): detected capacity change from 0 to 4000787030016’
ですsd(x): detected capacity change from 4000787030016 to 0’
。これがドライブの電源状態とも関係があるかどうかはわかりません。ところでこれがおかしいです。
私はインターネット上で見つけた多くの提案を試しましたが、まだ機能していないので、ストレージコントローラを変更することを検討しています。私が知っているのは、LSIコントローラはLinuxでうまくサポートされています。本当に?たとえば、LSI SAS 9217-8iを使った経験がある人はいますか?このコントローラがBTRFSおよびHDDスタンバイモードでどのように動作するかについてのフィードバックを得ることができます。新しいコントローラが役に立つことを心から願っています。
これについてご意見をお寄せいただきありがとうございます。