計算、ストレージ、バックアップに対応したHome Assistantホームサーバーの完全なトポロジー

Eva Wong は テクニカルライター であり、 生粋の技術好き としてZimaSpaceで活動しています。ホームラボやオープンソースソフトウェア をこよなく愛する生粋のギークで、複雑な技術概念をわかりやすく、実践的なガイド にまとめることを得意としています。Evaは、セルフホスティングは難しいものではなく、楽しむものだと考えています。チュートリアルを通じて、初めてのNAS構築からDockerコンテナの使いこなしまで、コミュニティがハードウェアのセットアップをわかりやすく理解できるよう 支援しています。、初めてのNAS構築からDockerコンテナの習得まで。

ホーム全体のスタックを接続する前に、コンピュート、稼働状態、バルクデータ、無線機器、ネットワーク、監視、バックアップ、復旧の担当者を明確に割り当てます。

信頼性を確保できる最小構成では、1台のマシンに複数の役割を持たせてもかまいません。ただし、重要な制御はメディアストレージ、インターネットアクセス、リモートダッシュボード、バックアップジョブに依存させてはいけません。安定したパスとサービスIDを使い、復旧用コピーを少なくとも1つホスト外に保管します。役割の分割は、測定した競合、容量、メンテナンス、復旧時間が、文書化したしきい値を超えた場合に限ります。

トポロジーの各役割に担当者を1人割り当てる

ハードウェアを購入する前に、運用グラフを描きます。Home Assistantランタイム、永続化された設定とRecorderの状態、無線コーディネーター、ローカルメッセージサービスまたはデバイスサービス、バルクメディアとテレメトリー、リモートアクセスのエッジ、監視、バックアップ先、隔離された復旧先を明記します。

すべてのノードに、担当者、更新期間、認証情報一式、バックアップポリシー、起動順序、障害時の影響を割り当てます。証明書、ネットワークキー、アドオンデータベース、Composeファイル、マウントのいずれかが対応表の外にある場合、トポロジーは未完成です。

役割 重要な依存関係 復旧ルール
コアコンピュート 電源、ローカルネットワーク、状態 ランタイムを再構築し、状態を復元する
稼働状態 低レイテンシの書き込み可能なストレージ 一貫性のあるバージョン管理済みコピー
無線機器 安定した識別情報と設置場所 キーとアダプターの対応関係を保持する
バルクデータ 容量の経路 交換可能性に応じたポリシー
バックアップ 独立した保存先 クリーンな復旧先でテストする

重要な制御は、最小限のローカル経路に保つ

重要なスイッチ、ロック、空調、安全アラート、在室判定は、Home Assistantホスト、必要な無線機器またはローカルブリッジ、デバイスを経由するようにします。その際、インターネット、リモートアクセス、バルクNASの稼働状況、可観測性サービスには依存させません。

コンピュート環境を移動しても、無線の識別情報と設置場所は変わらないようにします。ネットワーク接続型コーディネーターを使えば、USBの設置場所をホストから切り離せます。ただし、ケーブルへの依存が、電源、スイッチ、アドレス、トランスポートへの依存に置き換わるため、テストが必要です。

危険な操作はフェイルクローズにし、物理的な制御手段を確保します。インターネット、DNSフォワーディング、リモートアクセス、監視、バルクストレージをそれぞれ1つずつ利用できない状態にして、重要なルーティンをテストします。

稼働状態、バルクデータ、バックアップを分離する

設定、レジストリ、シークレット、アドオンの状態、稼働中のRecorderデータベースは、空き容量を監視できる、信頼性の高い低レイテンシのストレージに置きます。メディア、長期テレメトリー、エクスポート、バックアップ世代には、安定した論理パスのもとで、それぞれ独立した容量と保持ポリシーを設定します。

ホームサーバーのバックアップ設計を見ると、NASとバックアップ先が異なる役割を担う理由がわかります。NASとバックアップの分離により、復旧用コピーを稼働中のサービス経路から独立して保管できます。

ウォーム状態のダッシュボードや、復旧時やピーク時間帯の挙動を反映しない空きメモリの測定値をもとにハードウェアの容量を決める前に、内部のキャッシュと容量の比較テストを実施します。

リモートアクセスと可観測性を非必須にする

リモートアクセスは、強固な認証と証明書の管理責任者の明記を備えた、明確に定めたVPN、トンネル、またはリバースプロキシの境界で終端させます。その境界がダウンしても、重要なローカル自動化は継続し、リモートアクセスの障害がホストの起動を妨げないようにします。

可能であれば、監視対象のコンポーネントの外部に監視機能を配置します。ホストへの到達性、Home Assistantの健全性、ストレージの空き容量とレイテンシ、バックアップの経過時間、証明書の有効期限、無線機器の利用可否、エンドツーエンドのローカル操作を1つ確認します。経路自体の停止も検知できる方法でアラートを送信します。

完全なトポロジーでは、メンテナンスの順序も定義します。依存するジョブを一時停止またはドレインし、復旧ポイントを確保してから、レイヤーを1つ更新します。ローカル制御を検証し、その後リモートサービスや利便性向上のためのサービスを再開します。

バックアップ、復元、拡張、障害モードをまとめて検証する

一貫性のあるHome Assistantの状態バックアップを作成し、自動化の再現に必要な外部サービスの状態も別途コピーします。復旧ポイントとともに、バージョン、サービスID、エンドポイント、マウント、無線機器のマッピング、ネットワークキー、シークレット、チェックサムを記録します。

コンテナバックアップに関する議論では、使い捨てのコンテナイメージではなく、マウントされた設定ディレクトリこそが復旧対象である理由が取り上げられています。そのコンテナ状態のバックアップ境界は、誤ったレイヤーをバックアップしていないか確認する実践的な方法です。

  1. 隔離されたクリーンな環境にスタックを復元します。
  2. ID、無線機器、エンティティ、履歴、自動化、ダッシュボードを検証します。
  3. インターネット、NAS、ブローカー、監視の依存関係を1つずつ切り離します。
  4. バックアップ中に、ピーク時間帯のワークロードを実行します。
  5. 容量拡張を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.