ユーザーが誰も操作していないのに、Home Assistantがドライブをスリープさせないのはなぜですか?

エヴァ・ウォンテクニカルライター であり ZimaSpaceの常駐ティンカーでもあります。 生涯のオタクであり、 ホームラボとオープンソースソフトウェアに情熱を持っています。彼女は複雑な技術的概念をわかりやすく、 実践的なガイドに翻訳することを専門としています。エヴァはセルフホスティングは楽しくあるべきで、怖がるものではないと信じています。彼女のチュートリアルを通じて、コミュニティが ハードウェアのセットアップを解明する手助けをしています。初めてのNAS構築からDockerコンテナの習得まで。

Home Assistantは通常、Recorderへの書き込み、ログ、スケジュールされたジョブ、ポーリング統合、または同じディスクを共有する別のサービスによって、ドライブをスリープさせない状態にします。

アクティブなダッシュボードがないからといって、システムがアイドル状態とは限りません。センサーは状態を変え続け、データベースはコミットを行い、ログはローテーションされ、バックアップが実行され、コンテナはメタデータにアクセスします。静かな時間帯を1つ選び、正確なスピンアップまたはI/Oのタイムスタンプを記録してから、Home Assistantとホストのアクティビティと比較してください。候補を一度に1つだけ変更してください。複数の書き込み元を無効にすると、どれがドライブのタイマーをリセットしたのか分からなくなるためです。

Home Assistantがウェイクイベントを発生させていることを確認する

Home AssistantのUIだけでなく、ブロックデバイスを監視してください。各ウェイクに関連するプロセス、コンテナ、パス、操作の種類、タイムスタンプを記録します。ディスクにメディア、ダウンロード、メトリクス、システムログも保存されている場合、Home Assistantが同じ時間帯に表示されていても、原因は別のサービスかもしれません。

HDDのスリープに関するコミュニティの質問では、センサーを記録しているか、スケジュールされた処理を実行しているか、オンデマンドでのみ動作しているかによって、Home Assistantの挙動が変わると説明されています。このワークロードに依存するドライブアクティビティは、Recorderを変更する前に実際の書き込み元を特定することの重要性を示しています。

プロセスレベルの証拠が別の場所を示している場合は、Home Assistantを原因から除外し、責任のあるサービスを修正してください。各ウェイクでHome Assistantまたはそのデータベースパスが現れる場合は、書き込みの種類を引き続き分類します。パスやプロセスのないタイムスタンプだけでは、原因を特定するには不十分です。

Recorderのアクティビティとエンティティの変更を比較する

同じ静かな時間帯に、ドライブへの書き込みと状態変更の頻度、Recorderのコミットを照合します。電力、ネットワーク、天気、プレゼンス、診断関連のエンティティは、夜間も高頻度で更新され続けることがあります。その特徴は、ユーザーセッションではなくエンティティイベントに追従する、規則的で小さなデータベースアクティビティです。

書き込み削減ガイドでは、必要なエンティティだけを記録し、保持期間を制限し、定期的にパージすることが推奨されています。そこで説明されているHome Assistantの書き込みサイクルは、対象を絞ったテストの方向性を示すものであり、すべての履歴を無効にする理由ではありません。

ドライブのウェイクが特定のエンティティ更新に連動している場合は、診断、オートメーション、履歴に価値のないデータだけを除外し、同じアイドル時間帯で再試験してください。同じ頻度でアクティビティが続く場合は、確認済みの設定に戻して続行します。最初の原因ではウェイクを説明できなかったということです。

ログとスケジュールされたメンテナンスを切り分ける

ログの保存先、詳細度、ローテーション、Recorderのパージまたは再パック、バックアップ、データベースのチェックポイント、アドオンのメンテナンスを確認してください。スケジュール処理は一定の時刻に繰り返しバーストを発生させることが多く、詳細なログやリトライは頻繁な小規模書き込みを発生させます。これらは特徴も対処方法も異なります。

過剰なディスク書き込みを切り分けるためにRecorderを一時的に無効化する方法が提案されていますが、これは恒久的な修正ではなくテストです。Recorderのアクティビティの切り分けで説明されている手順は、データベース書き込みが関係しているかを判断するのに役立ちます。

1つのスケジュールジョブがウェイクと一致する場合は、許容できる時間帯またはストレージパスに移動して再テストします。詳細なログ出力が一致する場合は、診断後に影響を受けたコンポーネントを通常の詳細度に戻してください。統合が繰り返し失敗している間は、エラーログを抑制しないでください。原因を隠すだけで、リトライ自体はなくならないためです。

ポーリング統合と共有サービスを確認する

統合が、ユーザー全員が寝ている間もデバイスやクラウドサービスをポーリングし、その結果を記録している可能性があります。別のコンテナが同じディスクをスキャン、インデックス作成、監視している場合もあります。Home Assistantの統合アクティビティと、ホスト全体のプロセスによる書き込みを比較し、必要不可欠ではない候補を1つだけ一時停止して、管理されたアイドル時間帯で確認してください。

夜間のディスク処理は、障害ではなく想定されたメンテナンスである場合もあります。ZimaSpaceの夜間に繰り返されるディスクアクティビティの解説では、スケジュールに基づく別の見方が示されています。

1つの統合またはサービスを一時停止することで一致していたウェイクがなくなる場合は、対応していればポーリング間隔を長くする、リトライループを修正する、またはデータを別の場所に保存します。変化がなければ元に戻して続行してください。連続する書き込みによってスリープできない状態を隠すために、ドライブのスタンバイタイマーを長くすることは避けてください。

完全なアイドルサイクルを1回再テストする

原因と一致した変更を行った後、1回だけ再起動して一時的な診断状態をクリアし、同じセンサー、サービス、ドライブのスタンバイポリシーで同じ静かな時間帯を再現します。ドライブがスリープするか、どの程度の時間スリープ状態を維持するか、必要なイベントのうちどれがドライブを起こすかを記録してください。

PASSとは、不要なウェイクがなくなり、Recorder、オートメーション、復旧用データが必要どおりに動作する状態です。意図的なバックアップや重要な状態変更によってドライブが起きる場合は、正常に動作している可能性があります。目標は、どんな代償を払ってもI/Oをゼロにすることではなく、説明可能で範囲の限定されたアクティビティを実現することです。

書き込みが確認されていないにもかかわらずデバイスがスリープしない場合、ハードウェアエラーが報告される場合、またはアプリケーション外のファイルシステムやカーネルアクティビティによってウェイクする場合は、より詳しく調査してください。これらの結果は、Home Assistantの設定をさらに削る問題ではなく、ストレージ、電源管理、またはコントローラーの診断対象です。

サポートとヒント

もっと読む

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.