概要
ハードウェアの障害やソフトウェアの破損が発生した場合には、障害の種類に応じたいくつかの方法でYellowfinのインスタンスを復元することができます。すべての場合において、Yellowfinデータベースの最近のスナップショットが存在していることが重要となります。
すべてのYellowfinコンテンツは、Yellowfinデータベース内に存在します。アプリケーションサーバーは、特定のデータベースとの接続を確立する基本的に静的なファイルシステムです。Yellowfin/appserver/webapps/ROOT/WEB-INFにあるweb.xmlファイルには、Tomcatが起動されるとアプリケーションサーバーが接続の確立を試みるYellowfinデータベースへの参照が含まれています。
アプリケーションサーバーの障害
アプリケーションサーバー(TomcatおよびYellowfin Webアプリケーション)に障害が発生した場合、Yellowfinインスタンスのビルドバージョンが判明すれば、簡単に復元できます。ビルドバージョンにより、Yellowfinデータベースとのスキーマの互換性が確保されます。最後に適用されたYellowfinパッチが2012年4月27日のものである場合、Yellowfinデータベースはこのパッチと適合します。
使用しているアプリケーションサーバーのバックアップの種類に応じて、複数のオプションからアプリケーションサーバーを正常に動作する状態に復元する方法を選択できます。
アプリケーションサーバーのバックアップが存在しない場合
アプリケーションサーバーに対してバックアッププロセスが存在しない場合、Yellowfinを再インストールすることで復元が可能です。インストールされているYellowfinのバージョンと、復元するデータベースバックアップのYellowfinバージョンが一致していることを確認してください。
このプロセスでは新しいYellowfinデータベースが作成されます。Yellowfinのインストールが完了したら、Yellowfinインスタンスを起動して終了する必要があります。ROOTディレクトリは、この操作が完了するまで展開されません。この操作が完了したら、新しく作成されたYellowfinデータベースを削除できます。
Yellowfin/appserver/webapps/ROOT/WEB-INF/web.xmlファイルを変更することによって、Yellowfinインスタンスが既存のYellowfinデータベースを接続先とするように設定できます。web.xmlファイルには、"InitConnectionPool"と言う名前のサーブレットが定義されています。このサーブレットには、Yellowfinのリポジトリデータベースの接続情報が定義されています。このサーブレットを変更することで、障害が発生したYellowfinインスタンスのデータベースの接続先を変更することができます。
この更新が完了したら、Yellowfinは既存のデータベースへの接続を確立して既存のYellowfinコンテンツにアクセス可能となります。Yellowfinのデフォルトが変更されてカスタムスタイルやカスタム関数が適用されていた場合、これらを再適用しなければならない可能性があります。
アプリケーションサーバーディレクトリのバックアップが存在する場合
アプリケーションサーバーディレクトリを定期的にバックアップするプロセスが存在する場合、障害の発生時にはこのディレクトリを復元してYellowfinアプリケーションサーバーを復帰させることができます。バックアップが元の場所に復元される限り、その他の変更は必要ありません。この場合でも、アプリケーションサーバーバックアップのバージョンは、復元されるYellowfinデータベースのバージョンと一致する必要があります。
仮想マシンのスナップショットが存在する場合
Yellowfinアプリケーションが仮想マシンから実行され、仮想マシンのスナップショットを定期的に取得するプロセスが存在する場合、このスナップショットを使用してYellowfinインスタンスを復元できます。
Yellowfinインスタンスを復帰させるには、スナップショットの復元以外のステップは必要ありません。アプリケーションサーバーのスナップショットは、復元されるYellowfinデータベースのバージョンと一致する必要があります。
データベースサーバーの障害
データベースに障害が発生した場合、復旧プロセスは実装されているバックアッププロセスの種類に応じて異なります。
定期的なデータベースバックアップが存在する場合
データベースのバックアップが定期的に取得されている場合、Yellowfinインスタンスはこのバックアップ時点の状態に復元できます。データベースバックアップのパッチバージョンが現在のアプリケーションサーバーのパッチバージョンより古い場合、インスタンスをロールバックしてパッチバージョンを一致させる必要があります。インスタンスが正しく復元されたら、最新のバージョンにパッチを再度適用できます。
トランザクションログが存在する場合
Yellowfinデータベースの完全なトランザクションログが存在する場合、トランザクションを再生することでデータベースを障害発生時の状態に再構築できる可能性があります。この作業は、データベース管理者が行います。
復旧したYellowfinデータベースのバージョンは、Yellowfinアプリケーションサーバーのバージョンと一致する必要があります。一致しない場合は、正しく復元するためにアプリケーションのロールバックが必要となる場合があります。