Real-Time Backup 配置モデル
新しい Real-Time Backup の配置モデルの概観
DataExchange は Real-Time Backup レプリケーションのさまざまな配置方法を提供します。この章では最も一般的なネットワーク設定で使用可能な配置方法について説明し、『Getting Started with Pervasive DataExchange(Real-Time Backup Edition)』で説明している 2 台のマシン間の配置方法の追加情報も提供します。また、レプリケートされたデータベースを復元する必要が発生した場合などの障害回復処理についても説明します。
この章には以下のトピックが含まれています。
Real-Time Backup設定
DataExchange は Real-Time Backup の配置に 3 つのオプションを提供しています。対話型の配置方法では、Deployment Wizard を使用します。これを使用すると、配置処理全体が自動化されレプリケーション スケジュールが作成できるようになります。別の配置方法では DXDeploy ユーティリティを使用します。これはレプリケーションに必要な処理のいくつかを自動化します。どの配置オプションを使用するかを考慮する前に、まず、Real-Time Backup をどのように構成するかを考慮する必要があります。
2 台のマシンの設定
Real-Time Backup の最も一般的な設定では、Pervasive PSQL データベースから代替サーバーへ、リアルタイムに 2 台のマシン間でデータをレプリケートします。システム障害の後、クライアントは最新の状態の代替サーバーに移って使用することができます。データベース レベルの操作で、DataExchange はプライマリ サーバー上のデータベースの変更を取得してバックアップ サーバーに適用します。
このタイプの設定を行うと、DataExchange ではディスク ベースのレプリケーション ツールで起こりがちな、壊れたデータのレプリケート、ウィルスの感染拡大、必要なユーザー データの削除などのエラーを回避することができます。Pervasive DataExchange を使用すれば、システム障害、ハードウェア障害、およびサイトの災害時に、代替サーバーへの電源供給、データ損失、およびサーバー停止時間を非常に少なくすることができます。
次の図は、2 台のマシンを使用した一方向のレプリケーション バックアップ ネットワークを示します。
図 4‑1 2 台のマシンを使用した Real-Time Backup
この状況は、1 つのサーバー A があり、バックアップ サーバーとネットワークで結ばれていることを示します。サーバーはそれ自体のデータベース dbA を実行しています。DataExchange はそのデータベースのコピーを代替バックアップ サーバーで維持し、サーバーのデータをレプリケートしてバックアップ サーバーに変更を適用します。
DataExchange Deployment Wizard の起動方法については、
Deployment Wizard を使用したレプリケーション配置を参照してください。
DXDeploy を使用して 2 台のマシン設定で Real-Time Backup を実装する方法については、『
Getting Started with Pervasive DataExchange(Real-Time Backup Edition)』マニュアルの第
4 章
レプリケーション配置を参照してください。
多対 1 の設定
Real-Time Backup で一般的に使用されるもう 1 つの設定は、異なる場所にある何台かのデータベース サーバーが、複数のバックアップ データベースを管理するバックアップ用代替サーバーにデータをレプリケートする構成です。これは、多対 1 の設定と呼びます。次にこのタイプの設定を図示します。
図 4‑2 多対 1 構成の Real-Time Backup
この状況は、3 つのサーバー A、B、C があり、それぞれがバックアップ サーバーとネットワークで結ばれていることを示します。サーバーはそれ自体のデータベース dbA dbB、dbC をそれぞれ実行しています。DataExchange は各データベースのコピーを代替バックアップ サーバーで維持し、サーバーのデータをレプリケートしてバックアップ サーバーに変更を適用します。
DXDeploy を使用して多対 1 設定で Real-Time Backup を実装する方法については、
DXDeploy を使用した多対 1 の配置を参照してください。
メモ: 現在、DataExchange では DXDeploy を使用した多対 1 の Real-Time Backup の実装のみをサポートしています。
Deployment Wizard を使用したレプリケーション配置
Real-Time Backup における配置は DataExchange Deployment Wizard を使用して実装することができます。Deployment Wizard は、第 1 サイトおよびパートナー サイトにレプリケーションを配置する段階的なウィザードです。また、これにはレプリケーション スケジュールを作成する方法も含まれます。Deployment Wizard は DataExchange コマンドライン ユーティリティ dxdeploy.exe の処理を自動化します。
Deployment Wizard にアクセスするには、Pervasive Control Center から[DataExchange|Deployment Wizard]メニューを選択するか、オペレーティング システムの[スタート]メニューまたはスタート画面から[Deployment Wizard]を選択します。
開始の前に
DataExchange Deployment Wizard の使用を開始する前に、以下の配置属性を確認してください。これらの項目は Deployment Wizard で入力する必要があるので、配置するデータベースのこれらの項目についてメモを取っておくことをお勧めします。
•プロジェクト名 - 特定のデータベースに対応します。"MyDB" という名前のデータベースをレプリケートするのが目的の場合、"MyDBProj" のようなプロジェクト名を付けることができます。
•ネットワーク名 - レプリケーションに参加しているレプリケーション サイトのグループを表すために選択した名前です。
•リリース名 - レプリケーション データベース デザインのバージョン番号に類似したものです。
•DSN - レプリケーションのために配置されるデータ ファイルに関連付けるデータ ソース名(DSN)を指定します。DSN は各サイトで一意である必要があります。
•データのディレクトリとファイル名 - レプリケーションに含めるデータ ファイルとディレクトリを指定します。
これらの属性の詳細については、『
Getting Started with Pervasive DataExchange』の
配置記述子ファイルの XML 属性を参照してください。
DXDeploy を使用したレプリケーション配置
2 台のマシン間の簡略な配置が Real-Time Backup の標準的な使用方法です。このような状況では、図
4‑1 に示すようにプライマリ サーバーとバックアップ サーバーが関わります。
DXDeploy を使用した Real-Time Backup 配置のソリューションの詳細については、『
Getting Started with Pervasive DataExchange(Real-Time Backup Edition)』の第
4 章
レプリケーション配置を参照してください。
DXDeploy を使用した多対 1 の配置
多対 1 の設定では、複数のサイトがそれぞれのデータを 1 つのサイトにバックアップすることを意味します。このような構成で第 1 サイトにふさわしいのは、多くの場合バックアップの場所です。次の例について考えてみてください。
図 4‑3 複数のサイトのバックアップ データ
それぞれにネットワークを有する A、B、C という 3 つのサーバーがあります。各サーバーはそれぞれ独自のデータベース dbA、dbB、dbC を運用しています。ここに、各データベースの複製されたコピーをすべて 1 つのバックアップ マシンに保持するというソリューションを導入するとします。
このような状況の場合、第 1 サイトとして最も合理的な選択はバックアップの場所です。なぜでしょう?理由の 1 つは、レプリケーション ネットワークが第 1 サイトを 1 つしか持てないことです。さらに、バックアップの場所は以下の条件を満たす必要があります。
•パートナー サイトへのネットワーク接続を含んでいる。
•データ全体のための物理ストレージが提供できる。
•ファイル コピーの必要が最も少ない場所として適している。レプリケーション デザインでは、いくつかのファイルがパートナー サイトにコピーされることが必要です。
次の図は、上の図と同じ構成で、DataExchange のインストール後の状態を示しています。パートナー サイトがデータの元となっていて、第 1 サイトがバックアップの場所となっていることに注目してください。
図 4‑4 DataExchange がインストールされた多対 1 の設定
メモ: 多対 1 設定の反対は、1 つの元の第 1 サイトが複数のパートナー サイトへバックアップを行うことです。多対 1 の設定は双方向のレプリケーションで配置されます。
開始の前に
この作業を実行する前に、『Getting Started with Pervasive DataExchange』で説明されているように第 1 サイトとパートナー サイトに Pervasive DataExchange をインストールしておく必要があります。
ヒント: この例を試した後にデータベースを元の状態に復元できるよう、操作を始める前に Demodata データベース ファイルのコピーを保存しておくことをお勧めします。
説明のため、この作業では以下のことを前提とします。
•『
Getting Started with Pervasive DataExchange(Real-Time Backup Edition)』の
レプリケーション配置を既に読んでいること。
•図
4‑3 に示すように、ServerA、ServerB、および ServerC の 3 つのパートナー サイトがあること。
•Demodata は 3 つのパートナー サイトすべてのアプリケーション データベースであること。
注意: データベースを使用するすべてのアプリケーションは、この配置方法を使用する前にシャット ダウンしておく必要があります。
DXDeploy を使用した配置
►データベースを多対 1 設定で配置するには
1 レプリケーション可能にするデータベースがアプリケーションからアクセスされていないことを確認してください。
たとえば、Demodata は Myapp.exe で使用されるデータベースであるとします。Demodata の配置を行う間、Myapp が Demodata にアクセスしないようにしてください。
2 バックアップ(第 1)サイトで、テキスト エディターを使用して XML 記述子ファイル EXPRESS.XML を開きます。このファイルは \<インストール ディレクトリ>\Replication\Docs ディレクトリにあります。
3 XML 記述子ファイルを編集して、ServerA とバックアップ(第 1)サイトの適切な情報を指定します。
パートナー サイトごとに異なる記述子ファイルを使用して編集することに注意してください。バックアップ(第 1)サイトは共有の場所であるため、記述子ファイル内の情報のいくつかは、そのファイルを使用するたびに一意である必要があります。これについて以下の表で説明します。
XML 記述子ファイルの属性 | パートナー サイトごとに一意であること | 注記 |
Project | 必要 | |
Network | 必要 | |
Release | 不要 | |
First ServerName | 不要 | バックアップ サイトの名前です。各パートナー サイトで共通です。 |
First Site DSN | 必要 | DSN もバックアップ(第 1)サイトで一意である必要があります。 |
First Site DataDirectory | 必要 | 各パートナー サイト固有のバックアップ(第 1)サイト上のバックアップの場所です。 |
Relative Include Path | 不要 | たとえば、各パートナー サイトから "*.mkd" ファイルを含めることができます。 |
Absolute Include Path | 必要 | 絶対パスはバックアップ(第 1)サイトで衝突しないことが必要です。たとえば、ServerA、ServerB、および ServerC のそれぞれが同じ絶対パス C:\mydata\table1.mkd を使用しているとします。このパスはバックアップ(第 1)サイトでは 1 つしか存在できません。これにより衝突が発生します。異なるパートナー サイトの table1.mkd ファイルがバックアップ(第 1)サイトで上書きされるからです。 |
Partner ServerName | 必要 | |
Partner DSN | 不要 | 各パートナーは、希望する場合は、パートナー サイト上で一意であれば同じ DSN を使用することができます。 |
Partner DataDirectory | 不要 | バックアップ(第 1)サイトのバックアップの場所はパートナー サイト上のデータの場所と同じである必要はありません。 |
4 EXPRESS.XML を任意の場所に ServerA.xml として保存します。この作業では、C:\ に保存したと仮定します。
5 Demodata ディレクトリを ServerA からバックアップ(第 1)サイト上の希望するバックアップ フォルダーにコピーします。
バックアップの場所は一意で、かつ、XML 記述子ファイルで第 1 サイトの DataDirectory に指定した場所と一致する必要があります。この作業では、バックアップの場所が C:\Demodata_Backup_ServerA であると仮定します。
6 バックアップ(第 1)サイトでコマンド プロンプトを開き、次のコマンドを入力します。
DXDeploy /Site=First C:\ServerA.xml
コマンドでは大文字小文字は区別されません。
7 Enter キーを押します。
DXDeploy はその動作を完了すると画面に高レベルなステータス メッセージを表示します。DXDeploy が完了すると、コマンド プロンプトが再度表示されます。
8 DXDeploy が完了したら、以下のように入力します。
DXdeact <First Site DSN>
コマンドでは大文字小文字は区別されません。
<First Site DSN> は第 1 サイトの ServerA.xml で指定した DSN です。
9 Enter キーを押します。
10 DataExchange ディレクトリの内容をバックアップ(第 1)サイトの C:\Demodata_Backup_ServerA から ServerA の Demodata ディレクトリにコピーします。
メモ: 多対 1 設定の場合は、バックアップ(第 1)サイトで作成されたレプリケーション テンプレートは無視してください。その代わりに、DataExchange ディレクトリにあるアクティブ化されたデータベースのファイルを使用します。
11 ServerA.xml をバックアップ(第 1)サイトから ServerA にコピーします。
12 バックアップ(第 1)サイトでコマンド プロンプトを開いて、以下のように入力します。
DXact /FIRSTSITE <First Site DSN>
コマンドでは大文字小文字は区別されません。
<First Site DSN> は第 1 サイトの ServerA.xml で指定した DSN です。
13 Enter キーを押します。
14 ServerA でコマンド プロンプトを開き、以下のように入力します。
DXDeploy /Site=Partner C:\ServerA.xml
コマンドでは大文字小文字は区別されません。
15 Enter キーを押します。
DXDeploy はその動作を完了すると画面に高レベルなステータス メッセージを表示します。DXDeploy が完了すると、コマンド プロンプトが再度表示されます。
16 ServerA でレプリケーション スケジュールを設定します。
レプリケーション スケジュールの設定方法については、
レプリケーション スケジュールの管理を参照してください。
17 アプリケーションをオンラインに戻します。
18 ほかのパートナー サイトすべてで手順
1 から
17 を繰り返します。
ServerB で手順を繰り返す場合は "ServerA" を "ServerB" に置き換えます。ServerC で手順を繰り返す場合は "ServerA" を "ServerC" に置き換えます。
障害回復
このセクションでは、1 つのレプリケーション サイトの障害からの回復方法を説明します。ここでは、プライマリ サイトで障害が発生し、一時的に製作物をバックアップ サイトに切り替える必要が生じたと仮定します。プライマリ サイトが再度準備できたら、プライマリ サイト/バックアップ サイトのレプリケーション ネットワークを再確立する必要があります。
もちろん、障害はバックアップ サイトで起こることもあります。その場合も、バックアップとプライマリを入れ替えることによってこれらの情報が適用できます。説明を簡単にするため、また、障害回復で一般的に使用される用語と一致させるため、このセクションではプライマリ サイトとバックアップ サイトと呼ぶことにします。これらは、それぞれ第 1 サイトとパートナー サイトであると考えてください。
このセクションの情報は、リアルタイム バックアップまたは一方向の状況のみに適用されます。リアルタイム バックアップの配置の説明については、『
Getting Started with Pervasive DataExchange(Real-Time Backup Edition)』の
配置処理を参照してください。一方向の配置の説明については、
DataExchange 実装のオプションを参照してください。
フェールオーバー
障害が発生した場合、ユーザーがバックアップ サイトにアクセスするように切り替える必要があります。別のサーバーへの切り替えを行うには、ご自身の会社に適した方法を選んでください。そのような方法は多岐に渡っていて、このマニュアルで説明できる範囲を超えています。
バックアップ サイトには現在のデータが存在するので、アプリケーションはそれまでと同様に機能し続けます。
ひとたびユーザーがバックアップ サイトにアクセスしたら、第 1 サイトを再確立します。プライマリ サイトのデータに関する 2 つの障害の予想が立てられます。
•プライマリ サイトは壊滅的に破壊され、そこからのデータの回復はまったく不可能である。
•プライマリ サイトはサービスを再開してそのデータも使用できるが、最新の状態ではない。
データの回復不能
プライマリ サイトの再確立を行うには、以下の手順を使用します。
►新しいプライマリ サイトを設定するには
1 Pervasive PSQL データベース製品を新しいマシンにインストールします。
製品のエディションの『Getting Started』マニュアルを参照してください。
2 Pervasive DataExchange を新しいマシンにインストールします。
そのマシンが以前第 1 サイトだった場合は、第 1 サイトの設定でインストールします。パートナー サイトであった場合は、パートナー サイトの設定でインストールします。製品のエディション(Real-Time Backup または Data Synchronization)の『Getting Started』マニュアルを参照してください。
3 新しいマシンに使用するアプリケーションをインストールします。
これにより、新しいマシンにアプリケーション データベースの最新のコピーが作成されます。
4 バックアップ サイト上のレプリケーション データベースに使用されているのと同じデータ ソース名(DSN)で、プライマリ サイト上に DSN を作成します。
5 バックアップ サイト上のお使いのアプリケーションをオフラインにします。
必ず、プライマリ サイトとバックアップ サイトの同期をとるまではデータベースにアクセスされないようにしてください。
6 バックアップ サイトのレプリケーション データベースを非アクティブにします。
7 バックアップ マシンから以下のファイルをプライマリ マシンの同じ場所にコピーします。
•すべてのユーザー データベース テーブル。
•すべてのデータ辞書ファイル(DDF)。
•すべてのレプリケーション制御テーブル。データ テーブルの名前の先頭に "PDC" の 3 文字が追加されたテーブル。
•すべてのレプリケーション システム テーブル。表
4‑1 を参照してください。
8 プライマリ サイトのレプリケーション データベースをアクティブにします。
9 バックアップ サイトのレプリケーション データベースをアクティブにします。
dxact を参照してください。バックアップ サイトをアクティブにすると、プライマリ サイトとの初期レプリケーションを実行することに注意してください。初期レプリケーションは完全なレプリケーションで、2 台のマシン間ですべてのデータが同期化されます。
これで、プライマリ サイトとバックアップ サイトは同一データを保持します。
10 プライマリ サイトからバックアップ サイトへのレプリケーション スケジュールを再作成してください。
11 ユーザーがプライマリ サイトにアクセスするように切り替え、アプリケーションをオンラインに戻します。
表 4‑1 レプリケーション システム テーブル
DACTHIST.MKD | DACTSITE.MKD | DACTTBL.MKD |
DCMD.MKD | DCMDSITE.MKD | DCNF.MKD |
DFKEY.MKD | DFRAGF.MKD | DFRAGI.MKD |
DGRP.MKD | DIDB.MKD | DIDBDEF.MKD |
DKEY.MKD | DLANG.MKD | DMSG.MKD |
DMSGLANG.MKD | DPKEY.MKD | DPRM.MKD |
DPRMGRP.MKD | DPRMTYP.MKD | DQUEUE.MKD |
DSCHED.MKD | DSCHEMA.MKD | DSET.MKD |
DSFSITE.MKD | DSITE.MKD | DSITEEXT.MKD |
DSITELNK.MKD | DSITESET.MKD | DSORT.MKD |
DTBLCHG.MKD | DTRN.MKD | DUSR.MKD |
DUSRGRP.MKD | DUSRPRF.MKD | DVER.MKD |
DWSTS.MKD | | |
回復可能だが最新ではないデータ
プライマリ サイトの再確立を行うには、以下の手順を使用します。
►既存のプライマリ サイトをレプリケーションに戻すには
1 プライマリ マシンをオンラインに戻します。
2 アプリケーションをオフラインにします。
必ず、プライマリ サイトとバックアップ サイトの同期をとるまではデータベースにアクセスされないようにしてください。
3 プライマリ サイトのレプリケーション スケジュールをすべて削除します。
4 プライマリ サイトとバックアップ サイトの両方のレプリケーション データベースを非アクティブにします。
5 プライマリ サイトのレプリケーション データベースをアクティブにします。
6 バックアップ サイトのレプリケーション データベースをアクティブにします。
dxact を参照してください。バックアップ サイトをアクティブにすると、プライマリ サイトとの初期レプリケーションを実行することに注意してください。初期レプリケーションは完全なレプリケーションで、2 台のマシン間ですべてのデータが同期化されます。
これで、プライマリ サイトとバックアップ サイトは同一データを保持します。
7 プライマリ サイトからバックアップ サイトへのレプリケーション スケジュールを再作成してください。
8 アプリケーションをオンラインに戻します。