...
Table of Contents | ||
---|---|---|
|
Overview
In the event of a hardware failure or software corruption, there are several paths for restoring a Yellowfin instance depending on the nature of the failure. In all cases, it's important that a recent snapshot of the Yellowfin database exists.
...
概要
ハードウェアの障害やソフトウェアの破損が発生した場合には、障害の種類に応じたいくつかの方法でYellowfinのインスタンスを復元することができます。すべての場合において、Yellowfinデータベースの最近のスナップショットが存在していることが重要となります。
すべてのYellowfinコンテンツは、Yellowfinデータベース内に存在します。アプリケーションサーバーは、特定のデータベースとの接続を確立する基本的に静的なファイルシステムです。Yellowfin/appserver/webapps/ROOT/WEB-INF, contains the reference to the Yellowfin database that the application will attempt to boot off when tomcat is started.
Application Server Failure
In the event of the application server failing (tomcat and the Yellowfin web application), it can easily be restored if the build version of the Yellowfin instance is known. This will ensure schema compatibility with the Yellowfin database. If the last Yellowfin patch applied was the 27th of April 2012, then the Yellowfin database is matched to this patch.
Depending on the nature of your application server backups, there are several options for restoring the application server to working order.
No Application Server Backups
If no backup process exists for the application server, it can be restored by reinstalling Yellowfin. Again, make sure the version of Yellowfin installed matches the Yellowfin version of the database backup that is to be restored.
This process will create a new Yellowfin database. Once the Yellowfin install has completed the Yellowfin instance should be started and then shutdown, as the ROOT directory will not be extracted until this have been completed. Once this is done, the newly created Yellowfin database can be removed.
The Yellowfin instance can be pointed at the existing Yellowfin database by modifying the YellowfinINFにある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 file. There is a servlet defined in the web.xml file called "InitConnectionPool", which determines where the Yellowfin application looks for the Yellowfin database. This can be changed to point to the database of the failed Yellowfin instance.
Once this has been updated, Yellowfin should boot off the existing database and all existing Yellowfin content should be accessible. There may be a need to reapply custom styles and custom functions if they have been modified from the Yellowfin defaults.
Application Server Directory Backups
If a process exists to backup the Application Server directory on a scheduled basis, then in the event of a failure, this can be restored to reinstate the Yellowfin application server. No other modifications should be required, as long as the backup is restored in the same location. Again, the version of the application server backup must match the version of the Yellowfin database being restored.
Virtual Machine Snapshot
In the case of the Yellowfin application being run from a virtual machine, and a process exists to take scheduled snapshots of the virtual machine, then this can be used to restore a Yellowfin instance.
Restoring the snapshot should be the only step required to reinstate the Yellowfin instance. The application server snapshot must match the version of the Yellowfin database that is being restored.
Database Server Failure
In the event of a database failure, the recovery steps will depend on the nature of the backup process implemented.
Scheduled Database Backups
If scheduled database backups are taken, then a Yellowfin instance can be restored to the point in time of the backup. If the database backup is a patch version prior to the current application server, then the instance will have to be rolled back to match. Once the instance has been successfully restored, it can be repatched to the current version.
Transaction Logs
If the Yellowfin database has full transaction logs, it may be possible to reconstruct the database to a point it time by replaying transactions. This is a job for a database administrator to perform.
The point in time version of the Yellowfin database must match the Yellowfin application server. If it does not, an application rollback may be required in order to restore correctly.xmlファイルを変更することによって、Yellowfinインスタンスが既存のYellowfinデータベースを接続先とするように設定できます。web.xmlファイルには、"InitConnectionPool"と言う名前のサーブレットが定義されています。このサーブレットには、Yellowfinのリポジトリデータベースの接続情報が定義されています。このサーブレットを変更することで、障害が発生したYellowfinインスタンスのデータベースの接続先を変更することができます。
この更新が完了したら、Yellowfinは既存のデータベースへの接続を確立して既存のYellowfinコンテンツにアクセス可能となります。Yellowfinのデフォルトが変更されてカスタムスタイルやカスタム関数が適用されていた場合、これらを再適用しなければならない可能性があります。
アプリケーションサーバーディレクトリのバックアップが存在する場合
アプリケーションサーバーディレクトリを定期的にバックアップするプロセスが存在する場合、障害の発生時にはこのディレクトリを復元してYellowfinアプリケーションサーバーを復帰させることができます。バックアップが元の場所に復元される限り、その他の変更は必要ありません。この場合でも、アプリケーションサーバーバックアップのバージョンは、復元されるYellowfinデータベースのバージョンと一致する必要があります。
仮想マシンのスナップショットが存在する場合
Yellowfinアプリケーションが仮想マシンから実行され、仮想マシンのスナップショットを定期的に取得するプロセスが存在する場合、このスナップショットを使用してYellowfinインスタンスを復元できます。
Yellowfinインスタンスを復帰させるには、スナップショットの復元以外のステップは必要ありません。アプリケーションサーバーのスナップショットは、復元されるYellowfinデータベースのバージョンと一致する必要があります。
データベースサーバーの障害
データベースに障害が発生した場合、復旧プロセスは実装されているバックアッププロセスの種類に応じて異なります。
定期的なデータベースバックアップが存在する場合
データベースのバックアップが定期的に取得されている場合、Yellowfinインスタンスはこのバックアップ時点の状態に復元できます。データベースバックアップのパッチバージョンが現在のアプリケーションサーバーのパッチバージョンより古い場合、インスタンスをロールバックしてパッチバージョンを一致させる必要があります。インスタンスが正しく復元されたら、最新のバージョンにパッチを再度適用できます。
トランザクションログが存在する場合
Yellowfinデータベースの完全なトランザクションログが存在する場合、トランザクションを再生することでデータベースを障害発生時の状態に再構築できる可能性があります。この作業は、データベース管理者が行います。
復旧したYellowfinデータベースのバージョンは、Yellowfinアプリケーションサーバーのバージョンと一致する必要があります。一致しない場合は、正しく復元するためにアプリケーションのロールバックが必要となる場合があります。