ストレージの配置は、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&サーバー設定
もっと読む

Home Assistantのアプリデータ、キャッシュ、バックアップを分離する方法
権威的なアプリの状態を永続化し、キャッシュを移動する前に使い捨て可能であることを確認し、テスト済みのバックアップをHome Assistantの障害ドメイン外に保存します。

リモートユーザーとローカルユーザー向けにHome Assistantのセットアップを調整する方法
ローカルのHome Assistant制御をリモートエッジから独立させたまま、予測可能なDNS、ID、ネットワーク切り替え動作による安全なリモートアクセスを追加します。

Home Assistantを単一コンテナから高可用なサービススタックへ移行する方法
まず稼働状態を維持し、その後、データ、依存関係、ヘルス、リソース、復旧を分離して、1つのサービス障害でHome Assistant全体が停止しないようにします。

