Home Assistantのバックアップは、別のインスタンスで復元でき、家庭に必要なユーザー情報、設定、インテグレーション、履歴、復旧時間を実現できて初めて、その有効性が証明されます。
アーカイブジョブが正常に完了しても、確認できるのは作成であって復旧ではありません。隔離したVM、予備デバイス、または本番環境から切り離したネットワークセグメントを使用し、本番環境は稼働させたままにします。暗号化キーと対応するインストールパスを用意し、技術的な起動と実際の家庭内機能の両方をテストします。複製されたオートメーション、無線機器、Webhookが本番デバイスに作用する前に停止してください。
バックアップを選び、合格条件を定義する
最近のスケジュール済みバックアップを1つと、より古い復旧ポイントを1つ選び、それぞれのサイズ、作成日時、含まれるコンポーネント、保存場所、暗号化状態、利用可能であればチェックサムを記録します。最大復旧時間と、復元が必要な正確な設定、ユーザー、オートメーション、履歴、アドオン、シークレットを定義します。
合格条件は、ログインページが表示されることだけでは不十分です。ローカルの照明制御、重要なオートメーション1つ、標準ユーザー向けダッシュボード、データベースの保持期間、外部ブローカーやデータベースへのアクセスなど、重要な家庭内機能を明記する必要があります。
アーカイブまたは復旧キーが本番ディスクにしか存在しない場合、その成果物をインストールタイプから直接復元できない場合、または重複した操作を防げる隔離済みターゲットがない場合は、準備段階で不合格とします。本番環境に触れる前に、これらの問題を解消してください。
隔離したターゲットに復元する
互換性のあるアーキテクチャと十分なストレージを備えたクリーンなターゲットを作成し、ネットワークを本番デバイスの経路から隔離します。トラブルシューティング用のコンソール経路も確保してください。復元は、唯一の保持済みバックアップではなく、そのコピーを使用して開始します。
隔離した復元テストでも、Supervisorのネットワークアクセスが必要になる場合があります。必要なインストールリソースには到達できる一方で、本番デバイスは露出しないように隔離を設計してください。
起動前に復元が失敗した場合は、正確な段階、アーカイブエラー、キーの結果、空き容量、ターゲットのバージョン、インストールタイプを記録します。唯一のコピーを何度もアップロードしたり変更したりせず、そのまま保持して、既知の別のバックアップもテストし、アーカイブの破損とターゲットの互換性問題を切り分けます。
状態、依存関係、家庭内機能を確認する
起動後、合格条件の一覧と照合して、ユーザー、ダッシュボード、エンティティ、オートメーション、ヘルパー、シークレット参照、データベース履歴、アドオン、インテグレーションの状態を確認します。複製されたインスタンスが重複したコマンドを送信できなくなるまで、無線機器は切断したままにするか、安全な代替手段を使用してください。
一時的なハードウェアに復元することは、実際の復旧を試みずに複数の場所へコピーを保存するよりも、確かな検証になります。
外部データベース、ブローカー、DNSレコード、証明書、ネットワーク共有がないことは、無関係な不便ではなく、復元結果の一部です。その依存関係と、復旧に必要な順序を文書化してください。
復旧を測定し、訓練を完了する
定義したローカル制御とオートメーションのチェックを実行し、テストインスタンスを2回再起動して、復元した状態が保持されることを確認します。空のターゲットから利用可能なサービスになるまでの時間、手動手順、利用できなかった機能、別途復旧が必要だったすべての認証情報や依存関係を記録します。
ハードウェアを変更したり、元のシステムを廃止したりする前に、廃止前の復元ゲートと結果を比較してください。
必要な機能とデータが復旧目標時間内に再起動後も維持される場合にのみ、合格とします。証拠を取得した後、クローンを破棄または隔離し、バックアップ範囲やキーの保存方法に問題があれば修正して新しいバックアップを作成します。本番環境の復旧経路が安全だと宣言する前に、訓練を再実施してください。
システムが変わる前に次回の検証を予定する
テストしたバックアップID、ソースのバージョン、ターゲットの種類、復旧時間、欠落していた依存関係、最終判定を記録します。この証拠は、置き換えが必要になる可能性のある本番インスタンス内ではなく、復旧手順のそばに保管してください。
ストレージ、インストール、暗号化、データベース、アドオンに大きな変更を加えた後、および家庭の復旧許容度に応じた定期的な間隔で、次回の訓練を設定します。訓練後に作成されたファイルが、前回の結果によって自動的に対象になるわけではありません。
次回のテストでは、より小規模な代表ターゲットを使用しても構いません。ただし、復号、起動、重要なユーザー情報、エンドツーエンドの家庭内機能1つを引き続き証明する必要があります。アーカイブだけを調べても、サービスレベルの確認の代わりにはなりません。
サポートとヒント
もっと読む

同時稼働するコンテナ向けに Immich のデータベース接続を最適化する方法
まず max_connections を増やさないでください。Immich のセッション数を測定し、すべてのコンテナの需要を合計し、管理用の余裕を確保したうえで、実証されたボトルネックだけを調整してください。

Immichでジョブやインポートの重複を防ぐ方法
重複するジョブと重複アセットを分離します。正規の取り込み経路を1つに統一し、再試行とパス変更を制御してから、小規模なコホートで再エントリーをテストします。

データベースのボリュームがいっぱいになった後に Immich を修復する方法
空き容量を確保するためにPostgreSQLのWALを削除しないでください。Immichへの書き込みを停止し、データベースの状態を保持したまま安全に容量を追加し、PostgreSQLを復旧してから、再発を防止してください。

