Home Assistantがバックグラウンドジョブ用に確保すべき空き容量はどのくらいですか?

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

Home Assistantでは、空き容量に一律の割合を設定すべきではありません。必要な予備容量は、現在のRecorderデータベース、通常のメンテナンスやアップグレードで最も容量を使う処理、バックアップの増加分、そしてシステムが自力で修復を試みている間にファイルシステムが満杯になるのを防ぐための十分な復旧用余裕を基準に決めます。

まずはデータベースから確認します。再構築、再パック、スキーマ変更、破損からの復旧では、Recorderが一時的にかなりの作業領域を必要とする場合があります。次に、ローカルバックアップの実際の容量と、システムディスクを共有する他のアプリケーションの使用量を加えます。データベースが400 MBの小規模な構成と、数GBの履歴や多数の保持済みバックアップを抱える構成では、必要な最低空き容量が異なります。

最初の容量基準にはRecorderデータベースを使う

現在のデータベース容量と1日あたりの増加量を測定します。空き容量の下限は、通常のデータベースメンテナンスを実行でき、なおかつOSがログ、一時ファイル、アップグレードデータを書き込める余裕を残せる値にしてください。

RecorderメンテナーによるHome Assistantコミュニティの案内では、少なくともデータベース容量と同じ空き容量を確保し、難しいテーブル再構築による復旧ではデータベース容量の約2.5倍を推奨しています。これはディスク全体に対する一律の割合ではなく、データベース復旧に必要な容量として考えてください。

Recorderデータベースが2 GBある場合、空き容量の割合が小さくても許容範囲に見える、ほぼ満杯の256 GBディスクは依然として危険です。逆に、大容量SSD上の小さなデータベースに対して、割合のルールだけを理由に一律20%の予備容量を確保する必要はありません。

バックアップがローカルで最大の容量消費源になることがある

自動バックアップと手動バックアップは、Recorderデータベースとは別に蓄積されます。Home Assistantのシステムディスクに古いアーカイブをいくつも保存すると、次のバックアップの作成やアップグレードの完了に必要な空き容量が失われることがあります。

ローカルバックアップの数、各アーカイブの容量、保持期間を確認してください。復旧用のコピーはNASや別の保存先へ移し、本番ディスクを稼働中のデータと長期バックアップの両方に使わないようにします。

ZimaSpaceで紹介されているHome Assistantのバックアップを稼働中のホストから分離する方法は、適切な復旧モデルです。古いバックアップが同じデバイス上のアクティブなデータベースと競合しなければ、空き容量の管理は改善します。

ディスクを拡張する前にデータベースの増加を抑える

急速に増加するデータベースは、どのような固定の予備容量も使い果たします。ストレージ割り当てを単純に増やす前に、不要なエンティティ、不要な属性、長すぎる保持期間、頻繁な状態変化を発生させるインテグレーションを特定してください。

ストレージを拡張する前に、データベースの増加を抑えられる場合があります。実際の対策の一例では、ディスクを増やすことを最初の解決策にせず、Recorderの除外設定、短い保持期間、増加の激しいエンティティを対象にしたパージを行っています。

変更後にもう一度測定してください。目的はデータベースを可能な限り小さくすることではありません。役立つ履歴を保持しつつ、通常のパージ、バックアップ、アップグレード作業が徐々に困難にならないデータベースにすることが目的です。

再パック、アップグレード、復旧作業のために余裕を残す

古い行をパージしても、データベースファイルがすぐに小さくなるとは限りません。再パックや再構築ではデータベースの大部分を書き直すため、容量が回収される前にI/O負荷とストレージ使用量が一時的に増えることがあります。

別のデータベース整理ガイドでは、肥大化したRecorderデータベースによってバックアップも膨らむ可能性が示されています。記録対象を減らしたうえで、保持データをパージまたは再パックすることで、設定ディレクトリから無作為にファイルを削除するのではなく、両方の増加要因に対処できます。

ディスクがすでに満杯に近い状態で、大規模な再パックを開始しないでください。まずバックアップ用の空き容量を確保するか、ファイルシステムを拡張します。作業領域不足でメンテナンス処理が失敗すると、元の大きなデータベースよりも深刻な復旧問題を引き起こす可能性があります。

測定に基づく下限を設定し、到達前に警告する

容量の項目 決め方 重要な理由
Recorderの作業領域 現在のDB容量以上。可能ならより大きな復旧用余裕を確保 再構築、再パック、スキーマ処理
バックアップ用の予備容量 新しく作成するアーカイブの想定最大容量と保持ポリシー クリーンアップ前にバックアップを完了させる必要がある
アップグレード用の予備容量 イメージ、パッケージ、移行処理で観測されたピーク容量 バージョン変更では一時ファイルが必要になる場合がある
ホスト用の予備容量 通常のログとその他のサービスが使用する容量 メンテナンス中もシステムが動作し続ける必要がある

バックグラウンド処理が停止する前に対処できるよう、障害発生時の下限より高い位置に警告を設定します。エンティティ、カメラ、保持期間、アドオン、バックアップ容量が大きく増えた後は、しきい値を見直してください。

よくある質問

Home Assistantでは常にディスクの20%を空けておくべきですか?

いいえ。固定の割合は、大容量ディスクでは多すぎることがあり、小容量ディスク上の大きなRecorderデータベースには少なすぎることがあります。実際のデータベース、メンテナンス、バックアップ、復旧の負荷に基づいて下限を決めてください。

Recorderが古いデータをパージしたのに、データベースファイルがすぐに小さくならないのはなぜですか?

行を削除すると、データベース内部では再利用できる空きが増えますが、ディスク上のファイル自体は縮小されないことがあります。再パックや再構築によってファイルシステム上の容量を回収できますが、これらは負荷の高い処理であり、追加の作業用余裕が必要です。

サポートとヒント

もっと読む

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.