クラスター環境でのバックアップと復元の方策
メモ
AEM forms の実装で、追加のカスタムデータを異なるデータベースに格納する場合、そのカスタムデータをバックアップするための方法を導入し、AEM forms データと同期させる必要があります。また、追加のデータベースを同期しないシナリオにも対処できるように、アプリケーションを堅牢な方法で設計する必要があります。一貫性のある状態を維持するために、実行するデータベース操作をトランザクションコンテキストで行うことを強くお勧めします。
エラーから回復するためには、AEM Forms システムの次の部分をバックアップする必要があります。
- AEM Forms が使用するデータベース
- 長期のデータおよびその他の永続的なドキュメントを持つ GDS
- AEM データベース (crx-repository)
メモ
AEM Forms セットアップで使用されているその他のデータ(例えば、カスタマーフォント、コネクターデータなど)をすべてバックアップする必要があります。
クラスター環境のバックアップ
ここでは、AEM Forms クラスター環境をバックアップする次の方策について検討します。
- ダウンタイムを必要とするオフラインバックアップ
- ダウンタイムを必要としないオフラインバックアップ(シャットダウンされているセカンダリノードのバックアップ)
- ダウンタイムを必要としないがレスポンスに遅れが生じるオンラインバックアップ
- ブートストラッププロパティファイルのバックアップ
ダウンタイムを必要とするオフラインバックアップ
-
クラスターと関連サービス全体をシャットダウンします(サービスの開始と停止を参照してください)。
-
任意のノード上で、データベース、GDS、およびコネクターをバックアップします(バックアップおよび回復するファイルを参照してください)。
-
AEM リポジトリをオフラインでバックアップするには、次の手順を実行します。
- 各クラスターノードごとに、クラスターノード ID を持つファイルをバックアップします。
- すべてのセカンダリクラスターノードのすべてのファイル(サブディレクトリも含む)をバックアップします。
- 各クラスターノードのリポジトリ / システム ID を別々にバックアップします。
手順について詳しくは、「バックアップと復旧」を参照してください。
-
カスタマーフォントなど、その他すべてのデータをバックアップします。
-
クラスターを再び起動します。
ダウンタイムを必要としないオフラインバックアップ
-
ローリングバックアップモードに入ります(バックアップモードの開始を参照してください)。
回復後にローリングバックアップモードを終了する必要があることに注意してください。
-
AEM に関してクラスターのセカンダリノードをすべてシャットダウンします。(サービスの開始と停止を参照してください)。
-
任意のノード上で、データベース、GDS、およびコネクターをバックアップします(バックアップおよび回復するファイルを参照してください)。
-
AEM リポジトリをオフラインでバックアップするには、次の手順を実行します。
- 各クラスターノードごとに、クラスターノード ID を持つファイルをバックアップします。
- すべてのセカンダリクラスターノードのすべてのファイル(サブディレクトリも含む)をバックアップします。
- 各クラスターノードのリポジトリ / system.id を別々にバックアップします。
手順について詳しくは、「バックアップと復旧」を参照してください。
-
カスタマーフォントなど、その他すべてのデータをバックアップします。
-
クラスターを再び起動します。
ダウンタイムを必要としないがレスポンスに遅れが生じるオンラインバックアップ
-
ローリングバックアップモードに入ります(バックアップモードの開始を参照してください)。
回復後にローリングバックアップモードを終了する必要があることに注意してください。
-
AEM に関してクラスターのセカンダリノードをすべてシャットダウンします。(サービスの開始と停止を参照してください)。
-
任意のノード上で、データベース、GDS、およびコネクターをバックアップします(バックアップおよび回復するファイルを参照してください)。
-
AEM リポジトリをオンラインでバックアップするには、次の手順を実行します。
- 各クラスターノードごとに、cluster_node.id を持つファイルをバックアップします。
- 各クラスターノードのリポジトリ / system.id を別々にバックアップします。
- 任意のセカンダリノード上で、リポジトリのオンラインバックアップを行います。手順について詳しくは「オンラインバックアップ」を参照してください。
-
カスタマーフォントなど、その他すべてのデータをバックアップします。
-
クラスターを再び起動します。
ブートストラッププロパティファイルのバックアップ
AEM クラスターを作成すると、すべてのセカンダリノードに対してアプリケーションサーバー内にプロパティファイルが作成されます。ブートストラッププロパティファイルをバックアップすることをお勧めします。このファイルは、アプリケーションサーバー上の次の場所にあります。
- JBoss: BIN ディレクトリ内
- WebLogic: ドメインディレクトリ内
- WebSphere: プロファイルディレクトリ内
AEM サカンダリノードの災害時復旧シナリオのためにこのファイルをバックアップし、リストアする場合はアプリケーションサーバーの指定場所でそれを置き換える必要があります。
クラスター環境の回復
クラスター全体または単一ノードが故障した場合、バックアップを使ってそれを復元する必要があります。
単一ノードの回復の場合は、その単一ノードをシャットダウンし、単一ノード回復手順を実行する必要があります。
データベースのクラッシュなどの障害でクラスター全体が故障した場合は、次の手順を実行する必要があります。復元は、使用したバックアップの方法に依存します。
単一ノードの復元
-
障害ノードを停止します。
メモ
障害ノードが AEM プライマリノードの場合は、クラスターノード全体をシャットダウンします。
-
システムイメージから物理システムを再作成します。
-
イメージの作成後に適用されたパッチまたはアップデートを AEM Forms に適用します。この情報は、バックアップ手順で記録されたものです。システムをバックアップしたときと同じパッチレベルに AEM Forms を回復する必要があります。
-
(オプション)その他すべてのノードが正常に機能している場合は、AEM リポジトリも障害がある可能性があります。この場合は、AEM リポジトリの error.log ファイル内にリポジトリ非同期メッセージがあります。
リポジトリを復元するには、次の手順を実行します。
メモ
圧縮された crx-repository バックアップをオンラインで取得した場合は、それを任意の場所に解凍し、オフライン復元プロセスに従ってください。
- ノードの clusterNode ディレクトリ内にある repository、shared、version、および workspaces ディレクトリを削除します。
- クラスターノードのバックアップ(サブディレクトリも含む)をノードに復元します。
- ノードにある clusterNode/revision.log ファイルを削除します。
- ノードに .lock がある場合は、それを削除します。
- ノードに repository/system.id がある場合は、それを削除します。
- ノード上に **/listener.properties ファイルが存在する場合は削除します。
- 各クラスターノードごとに、repository/cluster_node.id を復元します。
- 障害ノードが AEM プライマリノードの場合は、セカンダリリポジトリフォルダーのすべてのコンテンツ(crx-repository\crx.0000、ここで 0000 は任意の桁数)を crx-repository\ リポジトリフォルダーにコピーし、セカンダリリポジトリフォルダーを削除します。
- クラスターノードを再起動する前に、プライマリノードからリポジトリ /clusterd.txt を削除します。
- 最初にプライマリノードを起動し、それが完全に立ち上がったら、他のノードを起動します。
クラスター全体の復元
-
すべてのクラスターノードを停止します。
-
システムイメージから物理システムを再作成します。
-
イメージの作成後に適用されたパッチまたはアップデートを AEM Forms に適用します。この情報は、バックアップの確認事項の最初の項目に基づいて、記録したものです。システムをバックアップしたときと同じパッチレベルに AEM Forms を回復する必要があります。
-
データベース、GDS、およびコネクターを復元します
-
次の操作を実行して、AEM リポジトリをオフラインで回復します。
メモ
圧縮された crx-repository バックアップをオンラインで取得した場合は、それを任意の場所に解凍し、オフライン復元プロセスに従ってください。
- すべてのクラスターノードで、clusterNode ディレクトリ内にある repository、shared、version、および workspaces ディレクトリを削除します。
- 共有ディレクトリ内にあるすべてのファイルとディレクトリを削除します。
- クラスターノードのバックアップ(サブディレクトリも含む)を 1 つのクラスターノードに復元します。
- 復元したクラスターノードのすべてのファイルを、その他のすべてのクラスターノードにコピーします。この作業が完了すれば、各クラスターノードには同じデータが含まれます。
- すべてのクラスターノードにある clusterNode/revision.log ファイルを削除します。
- すべてのクラスターノードで .lock がある場合は、それを削除します。
- すべてのクラスターノードで repository/system.id がある場合は、それを削除します。
- すべてのクラスターノードで **/listener.properties ファイルが存在する場合は削除します。
- 各クラスターノードごとに、repository/cluster_node.id を復元します。
- 障害ノードが AEM プライマリノードの場合は、セカンダリリポジトリフォルダーのすべてのコンテンツ(crx-repository\crx.0000 のようなもので、0000 は任意の桁数)を crx-repository\ リポジトリフォルダーにコピーします。
- クラスターノードを再起動する前に、プライマリノードからリポジトリ /clusterd.txt を削除します。
- 最初にプライマリノードを起動し、それが完全に立ち上がったら、他のノードを起動します。
Correspondence Management Solution パブリッシュノードのバックアップと復元
パブリッシャーノードは、クラスター環境ではプライマリとセカンダリの関係がありません。パブリッシャーノードのバックアップは、「バックアップと復元」に従って行うことができます。
単一パブリッシャーノードの回復
- 回復する必要のあるノードをシャットダウンし、そのノードが再び立ち上がるまではパブリッシュ作業を行わないようにします。
- [バックアップの復元](https://docs.adobe.com/docs/en/crx/current/administering/backup_and_restore.html#Restoring the Backup)を使用してパブリッシュノードを復元します。
クラスターの回復
- クラスターをシャットダウンします。
- [バックアップの復元](https://docs.adobe.com/docs/en/crx/current/administering/backup_and_restore.html#Restoring the Backup)を使用してパブリッシュノードを復元します。
- 作成者クラスターのプライマリノードを起動してからセカンダリノードを起動します。