ストレージの配置がHome Assistantホームサーバーの設計をどう変えるか

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

ストレージの配置は、Home Assistantのトポロジーを変えます。アクティブな状態、データベース、メディア、バックアップ、リカバリーコピーには、それぞれ異なるレイテンシー要件と障害要件があるためです。

ストレージは1つの大きなプールではなく、データパスで接続された役割として扱いましょう。頻繁に書き込まれる状態はコンピュートノードの近くに置き、再作成可能な大容量データは容量面で有利な場所に送り、リカバリーコピーはプライマリーホストの外部に配置します。すべてのリモートパスには、ネットワーク、認証情報、マウント、停止時の動作を含める必要があります。

場所を選ぶ前にデータを分類する

ブートおよびシステム状態、永続的な設定、アクティブなデータベース、アドオンデータ、メディア、ログ、一時的な派生データ、ローカルスナップショット、独立したバックアップを分けます。各役割について、書き込み頻度、レイテンシーへの敏感さ、損失時の影響、管理者、復元手順を記録してください。

設定とアクティブなデータベースはメディアと比べて小容量ですが、その整合性によってHome Assistantが正しく起動できるかどうかが決まります。カメラ映像やその他の大容量データには別の容量を割り当てる価値がある一方、キャッシュや一時的な出力は再作成できる場合があります。

ネットワーク共有の信頼性境界では、アクティブな状態をホスト外に移すと、データベースの可用性とネットワークの可用性が連動する理由を説明しています。

予測可能な書き込みパスにアクティブな状態を置く

外部データベースサービスを別の重要コンポーネントとして意図的に運用する場合を除き、設定とローカルのSQLiteデータベースは、信頼性の高いローカルのソリッドステートストレージに配置します。最大のシーケンシャルスループットよりも、予測可能なレイテンシーと明確な所有者が重要です。

ネットワークストレージ上のRecorderに関するコミュニティの質問は、ローカルデータベースのパスにネットワークレイテンシーを追加する懸念を示しています。これは注意すべき事例として扱い、普遍的な破損ルールとは考えないでください。

データベースが外部にある場合は、専用のバックアップ、ヘルスチェック、認証境界、復旧順序を設定します。重要な状態サービスに到達できないのに、Home Assistantが正常であるかのように見えてはいけません。

ネットワークストレージは効果を発揮する役割に使う

ネットワークストレージは、バックアップや一部のメディアに適しています。容量を追加でき、Home Assistantのシステムディスクの外部にコピーを移せるためです。一方で、DNS、認証情報、権限、プロトコル、NASの可用性がワークフローに加わります。

ある運用者の手順では、Home Assistantのバックアップ専用にNASパスを使用し、その後オフサイトへ保護範囲を拡張しています。このNASへのバックアップ配置は、ストレージの役割を変えることで、単に容量を追加するだけでなく、復旧パスも変わることを示しています。

Home Assistant VMをホストしているストレージプールと同じ場所に、唯一のバックアップを置かないでください。別のディレクトリに分けても、組織上の分離にすぎず、別の障害ドメインにはなりません。

マウント、認証情報、監視のパスを設計する

すべてのリモート共有について、サーバー名、プロトコル、エクスポートまたは共有名、認証情報、接続を許可するクライアント、マウント所有者、再接続時に想定される動作、障害を検出するサービスを文書化します。バックアップやメディアのワークフローを開始する前に、共有が利用可能であることを確認してください。

詳細なSynologyの手順では、権限の作成、ネットワーク共有への接続、バックアップ先としての選択に必要な個別の手順を示しています。そのネットワークバックアップのマウントパスは、認証情報とマウントをトポロジーの一部として扱う考え方を支えます。

実際にストレージを利用するコンポーネントから可用性を監視します。ホスト側のマウントチェックが成功していても、コンテナが同じパスや認証情報を持っているとは限りません。

障害時の動作と拡張を検証する

データベースの負荷が最も高い時間帯に処理を実行し、バックアップを作成し、計画的な時間帯にNASへのパスを中断してから復旧し、Home Assistantのローカル制御が設計どおりに動作することを確認します。その後、バックアップを分離したインスタンスに復元し、利用可能なサービスに戻るまでの時間を記録します。

ストレージ階層を追加するのは、より高速なアクティブ状態、大容量メディア、独立したバックアップ、オフサイトリカバリーなど、明確な役割を持たせる場合だけにします。所有者が明確でないまま階層を増やすと、マウントや権限に関する障害が増えます。

各データの役割に対して、1つのプライマリー配置、1つの保護方法、検証済みの復元手順、理解済みの停止時の影響が定まった時点で完了とします。1台のホストまたは1つのプールを失うことで、本番環境とすべてのリカバリーコピーの両方が失われるなら、設計を見直してください。

NAS&サーバー設定

もっと読む

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.