高可用性のサポート
 
このページをシェアする                  
高可用性のサポート
可用性の高い環境での Pervasive PSQL の使用
この章では、以下の項目について説明します。
技術の概要
フェールオーバー クラスタリング
マイグレーション
フォールト トレランス
障害回復
技術の概要
Pervasive PSQL は、物理環境および仮想環境において稼働時間を最大化する数々のソリューションと互換性があります。そのようなソリューションは絶えず進化し続けていますが、通常、そのタイプは高可用性、フォールト トレランスおよび障害回復に分類されます。
高可用性
「高可用性」の定義は、高可用性ソリューションを提供するソフトウェア ベンダーによって異なる可能性があります。一般的には、ハードウェア障害やソフトウェア障害、または必要なメンテナンスの発生にかかわらず、稼働し続ける時間の基準レベルに対するシステム設計手法を指します。
物理環境において高可用性を保証するための一般的な手法はフェールオーバー クラスタリングです。仮想マシン環境において高可用性を保証するための一般的な手法はマイグレーション(移行)です。
フェールオーバー クラスタリング
Pervasive PSQL はフェールオーバー クラスター環境のリソースとして機能するよう設計されています。この環境では一度に 1 つのサーバー ノードのみが共有記憶域サブシステムにアクセスします。プライマリ ノードがエラーになった場合は、セカンダリ ノードへのフェールオーバー(切り替え)が発生します。フェールオーバー クラスタリングを使用すると、ソフトウェアのアップグレードやハードウェアのメンテナンスの実行時にもシステムを利用可能な状態にしておくことができます。
Pervasive PSQL は Microsoft フェールオーバー クラスター サービスおよび Linux Heartbeat と互換性があります。フェールオーバー クラスタリングの定義および実装については、各ベンダーのドキュメントを参照してください。Pervasive PSQL Server は、フェールオーバー クラスターが物理ノードを使用する場合に推奨される製品です。Pervasive PSQL Vx Server は、仮想マシン ノードを使用するクラスター用に推奨される製品です。
フェールオーバー クラスタリングを参照してください。
マイグレーション
一般論として、マイグレーションとは、実行している仮想マシンまたはアプリケーションを、クライアントやアプリケーションを切断することなく異なる物理マシン間で移動させることです。通常は、仮想マシンのメモリ、記憶域およびネットワーク接続が移行先に移行されます。
Pervasive PSQL Vx Server は Microsoft Hyper-V、VMware vSphere および Citrix XenServer で提供されるマイグレーション機能と互換性があります仮想 MAC アドレスとホスト名が仮想マシンの移動後も同じままであれば、PSQL Vx Server は正常に動作し続けます。マイグレーションの定義および実装については、各ベンダーのドキュメントを参照してください。
マイグレーションを参照してください。
フォールト トレランス
高可用性が稼働時間の予測可能な基準レベルを目指すのに対し、フォールト トレランスはコンポーネントに障害が発生してもシステムを中断することなく稼働させることを目的としています。フォールト トレランスでは同期された共有記憶域が必要です。仮想化環境では、障害が発生した仮想マシンと、置き換わる仮想マシンは異なる物理ホスト上に存在している必要があります。
フォールト トレランスは物理マシンのみを使用して実現します。ただし、仮想環境は、互いに足並みを揃えた仮想サーバーを保持することが容易であるため、物理環境のみという状況は次第に少なくなっています。Pervasive PSQL Server は物理環境のみでのフォールト トレランス機能と互換性があります。
仮想環境の場合、Pervasive PSQL Vx Server は VMware vSphere や Citrix XenServer で提供されるフォールト トレランス機能と互換性があります。フォールト トレランスの定義および実装については、各ベンダーのドキュメントを参照してください。
フォールト トレランスを参照してください。
障害回復
障害回復では、大きな障害の発生後にコンピューター操作の復元が必要となります。通常、これには日常的なオフサイトのデータ バックアップや新しい場所で主要な情報システムをアクティブ化する手続きが含まれます。
Pervasive PSQL Vx Server は、バックアップ物理マシンまたは仮想マシンを初期化する障害回復技術をサポートする主要なハイパーバイザーと互換性があります。すべての仮想 MAC アドレスとホスト名が仮想マシンの移動後も同じままであれば、PSQL Vx Server は正常に動作し続けます。これにより、短時間でのサーバー置換および回復が可能です。Pervasive PSQL Server は、物理マシン上での障害回復技術をサポートする主要なハイパーバイザーと互換性があります。
障害回復の定義および実装については、各ハイパーバイザー ベンダーのドキュメントを参照してください。
障害回復のために Pervasive PSQL が提供するもう 1 つの機能は Pervasive PSQL Insurance です。Pervasive PSQL Insurance を使用すれば、直ちにオンラインに戻し業務を続行することができます。その間に元の Pervasive PSQL ライセンスを復元できます。Pervasive PSQL Insurance は、3 回の認証が可能で、Windows および Linux の 32 ビットまたは 64 ビット環境で利用可能な 14 日間限定の一時ライセンスを提供します。詳細については、http://www.agtech.co.jp/products/pervasive/ をご覧ください。
障害回復を参照してください。
ハードウェア要件
このセクションで述べているすべての技術を利用する場合、Pervasive Software では、ベンダーが提供するハードウェア互換性リストで挙げられているサーバー、ディスク サブシステムおよびネットワーク コンポーネントを選択することをお勧めします。Pervasive Software でも、ベンダーの製品との互換性テストを行う際にはベンダー提供のハードウェア要件に従っています。
フェールオーバー クラスタリング
フェールオーバー クラスタリングは、複数の物理サーバー(ノード)が、1 つ以上のファイル共有またはボリュームを持つ、共通の共有記憶域サブシステムにアクセスする機能を提供します。このフェールオーバー サービスでは、一度に 1 つのサーバーだけがファイル共有またはボリュームを制御します。共有記憶域サブシステムの制御は、障害により停止したサーバーからクラスター内の次のスタンバイ サーバーへ自動的に渡されます。
Pervasive PSQL はデータベース エンジンをインストールしたクラスター ノード単位で個別にライセンスされている必要があります。これはそのノードが物理マシンまたは仮想マシンのどちらでも同じです。『Pervasive PSQL User's Guide』のライセンス モデルも参照してください。(ここで説明しているフェールオーバー クラスタリングは、Microsoft フェールオーバー クラスタリングまたはクラスター サービス、および Linux Heartbeat を対象としています。仮想マシン ベースのクラスターを取り入れるようなその他の高可用性ソリューションとは異なります)。
ここでは、以下の項目について説明します。
Windows Server 2008 以上を対象とした Microsoft フェールオーバー クラスタリング
Windows Server 2003 用の Microsoft Cluster Service
Linux Heartbeat
クラスター環境における Pervasive PSQL の管理
Windows Server 2008 以上を対象とした Microsoft フェールオーバー クラスタリング
ここではフェールオーバー クラスタリングへの Pervasive PSQL サービスの追加について説明します。これは次のことを前提とします。
フェールオーバー クラスタリングのインストールおよび構成方法を知っていること。また、Pervasive PSQL サービスを追加および管理するための情報が必要であること。
Pervasive PSQL および Pervasive PSQL Control Center(PCC)などの主要ユーティリティの使用法をよく理解していること。
ODBC アドミニストレーターを使用して DSN を設定できること。
Windows サーバーのバージョン間の違い
基本的に、フェールオーバー クラスタリングは Windows Server 2008、Windows Server 2008 R2 および Windows Server 2012 で同じです。
Windows Server 2012 では次の点が異なることに留意してください。
フェールオーバー クラスター マネージャーで、"サービスとアプリケーション" は "ロール" と呼ばれます。
レジストリ レプリケーションは、汎用サービスにはサポートされません。PCC を使ってデータベース エンジンのプロパティを設定するで説明されているとおり、すべてのノードで Pervasive PSQL データベース エンジンが手動設定されている必要があります。
事前要件
Pervasive PSQL サービスを追加する前に、フェールオーバー クラスタリングが正常に機能していることが必須です。たとえば、フェールオーバーを実行し、すべてのリソースが利用可能になっていることを確認してください。この操作を、フェールオーバーを開始した最初のノードに戻るまで繰り返し行います。フェールオーバー クラスタリングのセットアップ方法については、Microsoft のドキュメントを参照してください。
ほかのサービスの場合と同様に、Pervasive PSQL サービスを追加する前には必須のクラスタリング コンポーネントを設定します。コンポーネントを設定する際に、以下の点を確認してください。
Pervasive PSQL データを置く共有ディスクに対し、必要であれば NTFS ユーザー権限を編集します。通常、Pervasive PSQL トランザクショナルおよびリレーショナル サービスは、ローカル システム アカウント下で実行されます。ローカル システム アカウントには必ず共有ディスクへの読み取り/書き込み権限を持たせる必要があります。
共有プロトコルに "SMB" 選択し、必要であれば SMB 権限を編集します。
[DFS 名前空間への発行]を省略します。Pervasive PSQL サービスに DFS は必要ありません。
コンポーネントを設定したら、Pervasive PSQL クライアントをインストールしているマシンがクライアント アクセス ポイントと通信できることを検証するのが得策です。また、マシンが共有名を参照できることを確認してください。
推奨されるインストール手順
次の表では、Windows Server 2008 のクラスター サービスに Pervasive PSQL を追加する際の推奨手順を説明しています。 Windows Server 2012 向けの手順は基本的には同じですが、先に述べた相違点があります。
表 37 Windows Server 2008 以上のクラスター サービスへの Pervasive PSQL の追加
操作
説明
クラスター ノードへ Pervasive PSQL をインストールする
各クラスター ノードに Pervasive PSQL Server をインストールし、それらすべてに同一のオプションを選択します。
Pervasive PSQL データが存在するクラスター共有記憶域には Pervasive PSQL をインストールしないでください
XIO(Xtreme I/O)という Pervasive PSQL コンポーネントはインストールしないでください。マシンがフェールオーバーによってオンラインになり、共有記憶域をアクセスできないままにしておくと、ノードに XIO がインストールされている場合、そのノードがハングすることがあります。
インストール後、Pervasive PSQL トランザクショナル サービスとリレーショナル サービスは共にオペレーティング システムの起動時に自動的に開始されるよう設定されます。スタートアップの種類を手動に変更します。
通常、Pervasive PSQL トランザクショナルおよびリレーショナル サービスは、ローカル システム アカウント下で実行されます。Pervasive PSQL のインストールで問題が起きた場合は、クラスター ノード アカウントのドメインの権限を調べてください。
Pervasive PSQL 用のクラスター リソースを追加し、プロパティを設定する
クラスター リソースとして、Pervasive PSQL トランザクショナル サービスは必ず必要です。リレーショナル サービスはオプションで、アプリケーションがリレーショナル インターフェイスを使用する場合のみ必要です。
クラスター リソース用のプロパティを指定する際は以下のことを実施してください。
ネットワーク名をコンピューター名として使う]オプションを選択します。
トランザクショナル サービスの場合、ルート レジストリ キーの Software\Pervasive Software を使用します。
リレーショナル サービスを含める場合は、レジストリ キー用のデータ ソース名(DSN)の操作方法を決定します。以下の手順のいずれかを実行します。
そのクラスター ノードにインストールされているすべての ODBC データ ソースおよび ODBC プロバイダーに影響を与える場合は、SOFTWARE\ODBC キーを指定します。オペレーティング システムのアーキテクチャに応じて、以下のキーを追加します。
Software\ODBC\ODBC.INI(Windows 32 ビット用)または Software\Wow6432Node\ODBC\ODBC.INI(Windows 64 ビット用)
個別の DSN を指定する場合、レジストリでキーは追加しないでください。その代わり、最初に PCC でデータベース エンジンを設定する必要があります(PCC を使ってデータベース エンジンのプロパティを設定するを参照)。その後、アクティブなクラスター ノードに DSN を作成し、障害を発生させて、同じ DSN をスタンバイ ノードに作成することが必要です。これを、すべてのクラスター ノードに DSN が含まれるまで繰り返します。
メモ: 依存関係があるため、Pervasive PSQL リソースは最初に Pervasive PSQL トランザクショナル エンジン、次に Pervasive PSQL リレーショナル エンジンという順序でオンラインにし、停止する場合はこの逆の順序で停止するようにしてください。
必要なファイルとディレクトリを共有記憶域に置く
通常、Pervasive PSQL トランザクショナルおよびリレーショナル サービスは、ローカル システム アカウント下で実行されます。ローカル システム アカウントには必ず共有ディスクへの読み取り/書き込み権限を持たせる必要があります。
Pervasive PSQL をインストールしたアクティブ ノードのアプリケーション データ領域にある DBNAMES.CFG ファイルを、共有記憶域上の任意のディレクトリにコピーします。
同じノード上のアプリケーション データ領域にある以下のディレクトリを、共有記憶域上の同じディレクトリにコピーします。便宜上、DBNAMES.CFG と同じディレクトリにこれらをコピーできますが、別の場所でも構いません。
defaultdb
Demodata
tempdb
Transaction Logs
Pervasive System Analyzer を使用してトランザクショナル テストまたはリレーショナル テストを行う場合は、Pervasive Software\PSQL\Samples ディレクトリもコピーする必要があります。
PCC を使ってデータベース エンジンのプロパティを設定する
Pervasive PSQL Control Center(PCC)でデータベース エンジンを設定して、特定の構成設定をレジストリに追加します。クラスター内のアクティブ ノードのエンジンを設定した後、障害を発生させてクラスター内の次のノードにその設定を移行します。
PCC で、ディレクトリに関する以下のエンジン プロパティを設定します。PCC でサービスの再開始を促された場合は、[いいえ]を選択します。
トランザクション ログのディレクトリ]には、Transaction Logs ディレクトリをコピーする共有ディスク上の場所を指定します。
DBNames 設定ファイルのディレクトリ]には、DBNAMES.CFG ファイルをコピーする共有ディスク上の場所を指定します。
フェールオーバー クラスター管理コンソールで、Pervasive PSQL リソースを一旦オフラインにし、オンラインに戻します。
PCC で、データベースに関する以下のエンジン プロパティを設定します。
DEFAULTDB では、[辞書のロケーション]に、DEFAULTDB ディレクトリをコピーする共有ディスク上の場所を設定します。[データ ディレクトリ]では、DEFAULTDB ディレクトリをコピーする共有ディスク上の場所を追加し、デフォルトのデータ ディレクトリを削除します。
DEMODATA および TEMPDB データベース用の[辞書のロケーション]と[データ ディレクトリ]には、それらのディレクトリをコピーする共有ディスク上の場所を設定します。DEMODATA の場合、[辞書のロケーション]および[データ ディレクトリ]には "Demodata" を指定します。TEMPDB の場合、[辞書のロケーション]および[データ ディレクトリ]には "tempdb" を指定します。
データベース エンジンの設定を移行する
データベース エンジンの設定をクラスター内のほかのノードへ移行します。 フェールオーバー クラスター管理コンソールで、サービスまたはアプリケーションの移動アクションを実行し、Pervasive PSQL サービスをクラスター内の別のノードへ移動させます。
たとえば、フェールオーバーを実行し、すべてのリソースが利用可能になっていることを確認してください。サービスをさらに別のノードへ移動させ、すべてのリソースが利用可能であることを確認します。この操作をフェールオーバーが最初のノードに戻るまで行います。
これで、Pervasive PSQL はフェールオーバー クラスター用に構成されます。
Windows Server 2003 用の Microsoft Cluster Service
ここではフェールオーバー クラスタリングへの Pervasive PSQL サービスの追加について説明します。これは次のことを前提とします。
クラスター サービスのインストールおよび構成方法を知っていること。また、Pervasive PSQL をクラスター サービス グループに追加するための情報が必要であること。
Pervasive PSQL および Pervasive PSQL Control Center(PCC)などの主要ユーティリティの使用法をよく理解していること。
ODBC アドミニストレーターを使用して DSN を設定できること。
事前要件
Pervasive PSQL を追加する前に、クラスター サービスが正常に機能していることが必須です。たとえば、フェールオーバーを実行し、すべてのリソースが利用可能になっていることを確認してください。この操作を、フェールオーバーを開始した最初のノードに戻るまで繰り返し行います。クラスター サービスの設定、動作確認、タスクの実行方法の詳細については、Microsoft のドキュメントを参照してください。
ほかのアプリケーションの場合と同様に、Pervasive PSQL を追加する前には必須のクラスター コンポーネントを設定します。コンポーネントを設定するときは、Pervasive PSQL データを置く共有ディスクに対し、必要であればユーザー権限を編集します。通常、Pervasive PSQL トランザクショナルおよびリレーショナル サービスは、ローカル システム アカウント下で実行されます。ローカル システム アカウントには必ず共有ディスクへの読み取り/書き込み権限を持たせる必要があります。
コンポーネントを設定したら、Pervasive PSQL クライアントにアクセスし、クラスター共有記憶域と通信できることを確認します。Pervasive PSQL クライアントは、クラスター ノードのフェールオーバーの前および後に、クラスター共有記憶域と通信できる必要があります。フェールオーバーの前後で、Pervasive PSQL クライアント コンピューターから共有記憶域サブシステム上でコマンドが実行できれば、クラスターは正常に機能しています。
推奨されるインストール手順
次の表では、Windows Server 2003 のクラスター サービスに Pervasive PSQL を追加する際の推奨手順を説明しています。
表 38 Windows Server 2003 のクラスター サービスへの Pervasive PSQL の追加
操作
説明
Pervasive PSQL 用のクラスター グループを追加する
Microsoft クラスター アドミニストレーターで、Pervasive PSQL リソースを追加するクラスター グループを作成します。クラスター グループ内のリソースはすべて同時に失敗する(機能しなくなる)ので、Pervasive PSQL 用に単独のクラスター グループを作成することをお勧めします。これは必須ではありませんが、適切な管理手法です。
Pervasive PSQL のクラスター グループには、少なくとも以下のリソースが含まれるようにしてください。
共有記憶域サブシステムの IP アドレス
ネットワーク名(共有記憶域サブシステムの名前)
物理ディスク(Pervasive PSQL データベースを含むディスク サブシステム)共有記憶域はマップされたドライブではなく、マウントされたドライブにしてください。Pervasive PSQL サービスはデフォルトで「ローカル システム アカウント」に設定されます。このアカウントの場合、別のユーザー アカウントでマップしたマップ ドライブにはアクセスできません。
データー ファイル用のファイル共有
さらに、グループに対してフェールバックを可能にしたり、優先する実稼働ノードを指定したりすることができます。Pervasive PSQL のエラー時の動作も参照してください。
クラスター ノードへ Pervasive PSQL をインストールする
各クラスター ノードに Pervasive PSQL Server をインストールし、それらすべてに同一のオプションを選択します。
Pervasive PSQL データが存在するクラスター共有記憶域には Pervasive PSQL をインストールしないでください
XIO(Xtreme I/O)という Pervasive PSQL コンポーネントはインストールしないでください。マシンがフェールオーバーによってオンラインになり、共有記憶域をアクセスできないままにしておくと、ノードに XIO がインストールされている場合、そのノードがハングすることがあります。
通常、Pervasive PSQL トランザクショナルおよびリレーショナル サービスは、ローカル システム アカウント下で実行されます。Pervasive PSQL のインストールで問題が起きた場合は、クラスター ノード アカウントのドメインの権限を調べてください。
Pervasive PSQL トランザクショナル サービスをクラスター グループに追加する
クラスター リソースとして、Pervasive PSQL トランザクショナル サービスは必ず必要です。
Microsoft クラスター アドミニストレーターで、新しいリソースを追加し、[リソースの種類]に "汎用サービス" を指定します。対象とするグループを選択します。[別のリソース モニターでこのリソースを実行する]オプションはチェックしないでください。
リソースの実行可能な所有者として機能するノードを指定します。
依存関係用に、リソースの依存関係リストには以下の項目を追加してください。
IP アドレス
ネットワーク名
ファイル共有
汎用サービス パラメーター]にはサービス名に "Pervasive.SQL (transactional)" を指定します。[起動パラメーター]は空白のままにしておきます。[ネットワーク名をコンピューター名として使う]オプションを選択します。これにより、Pervasive PSQL は共有記憶域上でファイルを直接開くことができます。
レジストリ キーには、"SOFTWARE\Pervasive Software" を追加します。
リソースを追加したら、そのプロパティを選択します。[再開する]オプションおよび[グループに適用する]オプションが選択してください。オプションで、しきい値期間を設定することができます。
任意で、Pervasive PSQL リレーショナル サービスをクラスター グループに追加する
リレーショナル サービスはオプションで、アプリケーションがリレーショナル インターフェイスを使用する場合のみ必要です。
依存関係用に、[利用できるリソース]リストで "Pervasive PSQL トランザクショナル リソース" を選択します。リソースの IP アドレスおよびファイル共有はトランザクショナル リソースの依存関係なので、これらを追加する必要はありません。
汎用サービス パラメーター]にはサービス名に "Pervasive.SQL (relational)" を指定します。
レジストリのレプリケーションは、レジストリ キー用のデータ ソース名(DSN)の操作方法を決定します。以下の手順のいずれかを実行します。
そのクラスター ノードにインストールされているすべての ODBC データ ソースおよび ODBC プロバイダーに影響を与える場合は、SOFTWARE\ODBC キーを指定します。オペレーティング システムのアーキテクチャに応じて、以下のキーを追加します。
Software\ODBC\ODBC.INI(Windows 32 ビット用)または Software\Wow6432Node\ODBC\ODBC.INI(Windows 64 ビット用)
個別の DSN を指定する場合、レジストリでキーは追加しないでください。その代わり、最初に PCC でデータベース エンジンを設定する必要があります(PCC を使ったエンジンの設定を参照)。その後、アクティブなクラスター ノードに DSN を作成し、障害を発生させて、同じ DSN をスタンバイ ノードに作成することが必要です。これを、すべてのクラスター ノードに DSN が含まれるまで繰り返します。
クラスター アドミニストレーターを使って PSQL サービスをオンラインにする
インストール後、トランザクショナルおよびリレーショナル サービスは共にオペレーティング システムの起動時に自動的に開始されるよう設定されます。オペレーティング システムから、両方のサービスを停止し、そのスタートアップの種類を手動に変更します。
オペレーティング システムでサービスを停止した後、クラスター アドミニストレーターを使用してそのサービスをオンラインにします。
必要なファイルとディレクトリを共有記憶域に置く
通常、Pervasive PSQL トランザクショナルおよびリレーショナル サービスは、ローカル システム アカウント下で実行されます。ローカル システム アカウントには必ず共有ディスクへの読み取り/書き込み権限を持たせる必要があります。
Pervasive PSQL をインストールしたアクティブ ノードのアプリケーション データ領域にある DBNAMES.CFG ファイルを、共有記憶域上の任意のディレクトリにコピーします。
同じノード上のアプリケーション データ領域にある以下のディレクトリを、共有記憶域上の同じディレクトリにコピーします。便宜上、DBNAMES.CFG と同じディレクトリにこれらをコピーできますが、別の場所でも構いません。
defaultdb
Demodata
tempdb
Transaction Logs
Pervasive System Analyzer を使用してトランザクショナル テストまたはリレーショナル テストを行う場合は、Pervasive Software\PSQL\Samples ディレクトリもコピーする必要があります。
PCC を使ったエンジンの設定
Pervasive PSQL Control Center(PCC)でデータベース エンジンを設定して、特定の構成設定をレジストリに追加する必要があります。クラスター内のアクティブ ノードのエンジンを設定した後、障害を発生させてクラスター内の次のノードにその設定を移行します。
PCC の Pervasive PSQL エクスプローラーで新しいサーバーを作成し、そのサーバー名に対しクラスター共有記憶域のネットワーク名を指定します。
追加したサーバーのプロパティにアクセスし、[ディレクトリ]を選択します。
DBNames 設定ファイルのディレクトリ]に、クラスター共有ドライブ上の場所を指定します。これは手順 必要なファイルとディレクトリを共有記憶域に置くでリストされたファイルをコピーした場所です。共有記憶域はマップされたドライブではなく、マウントされたドライブにしてください。Pervasive PSQL サービスはデフォルトで「ローカル システム アカウント」に設定されます。このアカウントの場合、別のユーザー アカウントでマップしたマップ ドライブにはアクセスできません。
トランザクション ログのディレクトリ]に、クラスター共有ドライブ上の、ログを置きたい場所を入力します。
通信プロトコル]では、[TCP/IP マルチホーム]がオンになっていることを確認してください。
クラスター アドミニストレーターで、Pervasive PSQL トランザクショナル サービスをオフラインにすると、Pervasive PSQL リレーショナル サービスもオフラインになります。両方のサービスをオンラインにします。
クラスター アドミニストレーターで、障害を発生させて次のスタンバイ ノードがクラスターの新しい実稼動ノードになるようにします。この動作を繰り返して、すべてのクラスター ノードで障害を発生させます。
これで、Pervasive PSQL はフェールオーバー クラスター用に構成されます。
Linux Heartbeat
Heartbeat プログラムは Linux-HA(High-Availability Linux Linux)プロジェクトの中心的なコンポーネントの 1 つです。Heartbeat はあらゆる Linux プラットフォームで動作し、1 つのプロセスで停止ノードの検出、通信およびクラスター管理を行います。Pervasive PSQL Server は、Heartbeat クラスターが物理ノードを使用する場合に推奨される製品です。Pervasive PSQL Vx Server は、仮想マシン ノードを使用するクラスター用に推奨される製品です。
ここでは Linux Heartbeat への Pervasive PSQL サービスの追加について説明します。これは次のことを前提とします。
Heartbeat プログラムのインストールおよび構成方法を知っていること。また、Pervasive PSQL をクラスター サービス グループに追加するための情報が必要であること。
Pervasive PSQL および Pervasive PSQL Control Center(PCC)などの主要ユーティリティの使用法をよく理解していること。
事前要件
Pervasive PSQL をクラスターに追加する前に、Linux Heartbeat が正常に機能していることが必須です。Heartbeat のインストール、動作確認、タスクの実行方法については、「The High Availability Linux プロジェクト」(http://www.linux-ha.org/ja/HomePage_ja)ドキュメントを参照してください。
ほかのアプリケーションの場合と同様に、Pervasive PSQL を追加する前には必須のクラスター コンポーネントを設定します。
推奨されるインストール手順
次の表では、Linux Heartbeat に Pervasive PSQL を追加する際の推奨手順を説明しています。
表 39 Linux Heartbeat への Pervasive PSQL の追加
操作
説明
クラスター ノードへ Pervasive PSQL をインストールする
各クラスター ノードに Pervasive PSQL Server をインストールし、それらすべてに同一のオプションを選択します。Pervasive PSQL データベースが存在するクラスター共有記憶域には Pervasive PSQL をインストールしないでください
インストールが完了すると、オペレーティング システムの起動時にデータベース エンジンが自動的に起動するよう設定されます。ただし、クラスタリングでは、Linux Heartbeat がデータベース エンジンの起動と停止を制御します。クラスターの実稼動ノードがエンジンを起動し、それ以外のノードはエンジンを起動しません。
Pervasive PSQL Server をインストールしたら、"pvsw" および "pvsw-adm" 用のグループ ID と "psql" 用のユーザー ID がすべてのノードにおいて一致していることを確認してください。ID が一致していなければ、同一になるよう変更します。
共有記憶域を構成する
共有記憶域は、Pervasive PSQL データベースが存在する場所です。Heartbeat の共有記憶域はさまざまな方法で実装できます。このマニュアルではその数多くの実装方法のすべてを説明することはできません。このセクションでは、NFS マウントが使用されていると仮定します。
共有記憶域上で、データベースを配置する場所を作成します。この場所は自由に選択できます。ユーザー psql がその場所に対して読み取り、書き込みおよび実行権限を持っていることを確認してください。
共有記憶域に 2 つのグループと 1 人のユーザーを作成し、各クラスター ノードがデータベース ファイルにアクセスできるようにします。
pvsw グループおよび pvsw-adm グループはそれぞれ、クラスター ノード上の pvsw グループ ID および pvsw-adm グループ ID と一致している必要があります。
ユーザー psql は、クラスター ノード上の psql ユーザー ID と一致している必要があります。
共有記憶域マウント用のディレクトリを作成する
クラスター ノードごとに、ユーザー psql としてログインし、共有記憶域へマウントされるディレクトリを作成します(ユーザー psql にはパスワードがありません。su コマンドを使用した "root" アカウントによるアクセスのみを行うことができます)。ディレクトリ名は自由に選択できます。
Heartbeat サーバーを構成する
Pervasive PSQL データベース エンジンを制御するノードごとに Heartbeat サーバーを構成します。次のような構成を行います。
ノード。クラスターに参加させるすべてのノードを追加します。
認証。ノード間のネットワーク通信に使用する認証のタイプを指定します。
媒体。Heartbeat がノード間の内部的な通信に使用する方法を指定します。
スタートアップ。Heartbeat サーバーの起動のタイミングについての設定を指定します。これをオンに設定すると、Heartbeat サーバーはブート時に起動するようになります。
Heartbeat ユーザーのパスワードを割り当てる
Linux Heartbeat では Heartbeat Management Client へログインする際のデフォルトのユーザー名として hacluster を提供します。Heartbeat Management Client を実行するノードごとに、ユーザー hacluster のパスワードを割り当てます。
Pervasive PSQL 用のリソース グループを追加する
root としてログインし、クラスター ノードの 1 つで Heartbeat Management Client を開始します。ユーザー hacluster としてログインし、新しいグループを追加します。[ID]には、Pervasive PSQL グループの名前を指定します。[Ordered]と[Collocated]には "true" を設定します。
リソースをグループに追加する
次の 3 つのリソースを Pervasive PSQL グループに追加します。
IPaddr(IP アドレス)
Filesystem(ファイルシステム)
Psql(OCF リソース エージェント)
IPaddr(IP アドレス)
Heartbeat Management Client で、新しい "native" 項目を追加します。[Belong to group]には、Pervasive PSQL 用に追加したグループを選択します。[Type]には "IPaddr" を選択します。
追加したリソースで、IPに対してクラスターの IP アドレスを指定します。Linux Heartbeat がインストールされ構成されたときには、(ノードではなく)クラスターに割り当てられた IP アドレスを使用します。
Filesystem(ファイルシステム)
新しい "native" 項目をもう 1 つ追加します。[Belong to group]には、Pervasive PSQL 用に追加したグループを選択します。
Type]には、"Filesystem" を選択し、"fstype" というパラメーターを削除します。このパラメーターは必要ありません。新しいパラメーターを追加し、[Name]には "device" を選択します。[Value]には、共有記憶域のデバイス名、コロン、共有マウントのロケーションを指定します。
新しいパラメーターをもう 1 つ追加し、[Name]には "directory" を選択します。[Value]には、NFS マウントで使用するディレクトリを指定します。
Psql(OCF リソース エージェント)
新しい "native" 項目をもう 1 つ追加します。[Belong to group]には、Pervasive PSQL 用に追加したグループを選択します。[Type]では、[Description]フィールドに "PSQL OCF Resource Agent" の記載がある "psql" エントリをクリックします。このほかにパラメーターは必要ありません。
マウントされた共有記憶域上にサブディレクトリを作成する
Filesystem リソースを追加できた場合は、クラスター サーバーと共有記憶域間にマウントが存在するようになります。クラスター ノードの 1 つに、ユーザー psql としてログインします。共有記憶域マウントで、"log" と "etc" という名前のディレクトリを作成します。
たとえば、マウント ディレクトリが "/usr/local/psql/shared" の場合、/usr/local/psql/shared/log と /usr/local/psql/shared/etc というディレクトリを追加します。
PCC でクラスター サーバーを構成する
それぞれのクラスター ノードで、Pervasive PSQL Control Center(PCC)を使ったクラスター サーバーを構成する必要があります。
PCC を実行するノード以外のすべてのクラスター ノードを代替モードにします。psql ユーザーとして、1 つのアクティブ ノードで、あるいはアクティブ ノードにアクセスできるクライアントから PCC を実行します。
Pervasive PSQL エクスプローラーで、新しいサーバーを追加し、クラスターの名前(または IP アドレス)を指定します。
追加したサーバーのプロパティにアクセスします。ログインを指示された場合は、"admin" ユーザーとしてログインします。パスワードは空のままにします。[ディレクトリ]プロパティにアクセスします。[トランザクション ログのディレクトリ]には、"log" ロケーション用に作成したディレクトリを指定します。[DBNames 設定ファイルのディレクトリ]には、"etc" ロケーション用に作成したディレクトリを指定します。マウントされた共有記憶域上にサブディレクトリを作成するを参照してください。
PCC で新しいサーバーを追加し、そのプロパティをほかの各クラスター ノードから設定します。PCC を実行するノード以外のすべてのノードを代替モードにします
共有記憶域上にデータベースを作成する
クラスター ノードのうち 1 つのノードのオペレーティング システムから、ユーザー psql としてログオンし、データベースを置くファイル システム共有下にディレクトリを作成します(ユーザー root としてディレクトリを作成する場合、ユーザー psql はそのディレクトリに対して読み取り、書き込みおよび実行権限を持っていることを確認してください)。
PCC を実行するノード以外のすべてのクラスター ノードを代替モードにします。
psql ユーザーとして、1 つのアクティブ ノードで、あるいはアクティブ ノードにアクセスできるクライアントから PCC を実行します。PCC でクラスター サーバーを構成するで追加したサーバーに新しいデータベースを作成します。[場所]には、データベースを置くディレクトリを指定します。必要に応じてその他のデータベース オプションを指定します。
新しいデータベースの場合、必要であればテーブルを作成します。
各ノードからのデータベースへのアクセスを確認する
各クラスター ノードは共有記憶域上の Pervasive PSQL データベースにアクセスできる必要があります。データベースを作成したクラスター ノードを代替モードにします。これは "psql" リソース(データベース エンジン)を実行しているノードです。
クラスターの次のノードへフェール オーバーします。次のノードが、"psql" リソースの実行の制御を受け取ることを確認してください。クラスター内の各ノードに対して、上記の手順(代替、フェールオーバー、確認)を繰り返し、開始したノードまで戻ったら終了します。
クラスター環境における Pervasive PSQL の管理
フェールオーバー クラスター環境に Pervasive PSQL をインストールすると、Pervasive PSQL はリソースとして管理できます。ここでは、一般的な管理の内容について説明します。
Pervasive PSQL ライセンスおよびノードのメンテナンス
Pervasive PSQL のエラー時の動作
エラーが発生したノードにおける Pervasive PSQL の復元
Pervasive PSQL トランザクショナル サービスの停止と再開始
Pervasive PSQL 設定の変更
プロキシ サーバーを持つクラスター環境
ソフトウェアのアップグレード
Pervasive PSQL ライセンスおよびノードのメンテナンス
Pervasive PSQL ライセンスやマシンのメンテナンスに関する一般的な手順は、フェールオーバー クラスター環境のノードにも同様に適用されます。データベース エンジンがインストールされた物理マシンまたは仮想マシンの構成を変更する前には Pervasive PSQL 製品キーを認証解除してください。構成の変更が完了したら再度認証してください。
Pervasive PSQL User's Guide』のキーを認証解除するにはおよびキーを認証するにはを参照してください。
Pervasive PSQL のエラー時の動作
クラスター ノードでエラーが発生した場合、Pervasive PSQL クライアントはスタンバイ ノード上の Pervasive PSQL エンジンに自動的に再接続しません。アプリケーションでクライアントを Pervasive PSQL データベースに再接続するか、アプリケーションを再起動する必要があります。データベース エンジンで[自動再接続の有効化]がオンに設定されていたとしても同様の対処が必要です。
トランザクション一貫性保守がオフで、トランザクションが完了する前にエラーが発生した場合には、自動的にトランザクションを開始する前の状態にロール バックされます。つまり、すぐ前の完了済みチェック ポイントへ戻るということです。ロール バックは、アクティブ サーバーがデータ ファイルへのアクセスを要求した時点で発生します。
トランザクション一貫性保守を設定している場合、クラスター ノードに障害が発生した時点と最後のチェック ポイントの時点との間に発生した完了済みの変更は回復させることができます。トランザクション一貫性保守はすべてのノードで同じように構成される必要があります。また、トランザクション ログは共有記憶域に置かれます。ただし、トランザクション一貫性保守が有効だった場合でも、クラスターの障害が発生した時点で完了していないトランザクションは失われます。
エラーが発生したノードにおける Pervasive PSQL の復元
フェールオーバー クラスターには優先的に実行させるプライマリ ノードがあるかもしれません。プライマリ ノードでエラーが発生した場合、セカンダリ ノードを使用するよりも早急にプライマリ ノードの方を復元しようと思われるでしょう。そのような状況の場合は、Pervasive PSQL の一時ライセンスによってプライマリ ノードの確立を支援できる Pervasive PSQL Insurance の利用をご検討ください。
Pervasive PSQL Insurance を使用すれば、直ちにオンラインに戻し業務を続行することができます。その間に元の Pervasive PSQL ライセンスの復元を行うことが可能です。Pervasive PSQL Insurance は、3 回の認証が可能で、Windows および Linux の 32 ビットまたは 64 ビット環境で利用可能な 14 日間の一時ライセンスを提供します。詳細については、http://www.agtech.co.jp/products/pervasive/ をご覧ください。
Pervasive PSQL トランザクショナル サービスの停止と再開始
オペレーティング システムから Pervasive PSQL トランザクショナル サービスを手動で停止すると、アクティブ ノードからクラスターのフェールオーバーが発生します。サービス ノードのメンテナンスを実行しており、そのようなフェールオーバーを回避したい場合は、Pervasive PSQL トランザクショナル サービスをクラスター ユーティリティから停止します。
Pervasive PSQL 設定の変更
データベース エンジンの再起動を必要とする設定の変更
変更する設定によってはデータベース エンジンを再起動する必要があります。そのような変更の場合は、非アクティブ モードで変更を行うようにしてください。そうしないと、その再起動が原因でフェールオーバーが起こります。設定リファレンスを参照してください。
ユーザー数追加キーの追加
追加キーはアクティブ ノードまたは非アクティブ ノード上の Pervasive PSQL へいつでも追加することができます。ユーザー数追加キーを追加する場合、データベース エンジンの再起動は不要で、直ちにその追加が適用されます。『Pervasive PSQL User's Guide』のユーザー数、セッション数または使用データの追加も参照してください。
プロキシ サーバーを持つクラスター環境
ご利用のクラスター環境にプロキシ サーバーを組み込んでいる場合は、『Pervasive PSQL User's Guide』のプロキシ サーバー経由の認証アクセスを参照してください。
ソフトウェアのアップグレード
ある時点で、Pervasive PSQL またはフェールオーバー クラスター ソフトウェアをアップグレードする必要があるかもしれません。Pervasive PSQL の場合、必ず非アクティブ ノード上のデータベース エンジンをアップグレードするようにしてください。アップグレード バージョンのリリース ノートも参照してください。フェールオーバー クラスター ソフトウェアの場合は、ソフトウェア ベンダーが推奨する手順を参照してください。
マイグレーション
マイグレーションでは、Pervasive PSQL を実行している仮想マシンを、ある物理ホストから別のホストへ移動します。通常は、仮想マシンのメモリ、記憶域およびネットワーク接続が移行先に移行されます。ハイパーバイザーによって、マイグレーションは "ライブ" マイグレーションまたは "ホット" マイグレーションと呼ばれます。
"ライブ" マイグレーションまたは "ホット" マイグレーションでは、クライアントから Pervasive PSQL への接続がそのまま維持されます。これにより、ハードウェア バランスまたはリソース バランスの変更が可能です。"コールド" マイグレーションでは、仮想マシンを一時停止する必要があるため、ネットワーク接続が中断されます。クライアントから Pervasive PSQL への接続を再確立する必要があります。
マイグレーション環境には、実行中の Pervasive PSQL のインスタンスが 1 つだけあります。これにより、ホスト マシンがクラッシュした、またはホスト マシンを直ちにオフラインにする必要がある場合、その環境はやや脆弱になります。また、共有記憶域にエラーが生じた場合、データベース エンジンは物理記憶域に対する読み込みまたは書き込みを処理することができません。ハイパーバイザーによっては、共有記憶域を使用しないマイグレーション ソリューションを提供しています。
Pervasive PSQL Vx Server はマイグレーション環境に適した製品です。仮想 MAC アドレスとホスト名が仮想マシン移行後も同じままであれば、PSQL Vx Server は正常に動作し続けます。製品キーの状態は "アクティブ" のままです。
Pervasive PSQL Server を使用することも可能ですが、その場合は別のホストへの移行が発生したときに製品キーの状態が "検証失敗" に変わります。データベース エンジンは、一定期間(検証失敗期間)は検証失敗状態のキーで実行することができます。検証失敗期間が終わる前に元のホストへ移行し直すということであれば、データベース エンジンは正常に動作します。
マイグレーション環境で Pervasive PSQL をインストールまたは構成する際、特別な手順は必要ありません。ハイパーバイザーのドキュメントを参照してください。
フォールト トレランス
フォールト トレラント環境はマイグレーション環境と似ていますが、さらにコンポーネントがエラーになっても動作が中断されないようする機能も備えています。フォールト トレラント環境では、ネットワーク接続、継続的なサービスおよび同期された共有記憶域を介したデータ アクセスが確保されます。コンポーネントの切り替えが起こっても、クライアント マシンおよびアプリケーションは正常に機能し続け、データベース エンジンは中断されません。
Pervasive PSQL Vx Server はマイグレーションでの説明と同様の理由でフォールト トレラント環境に適した製品です。
フォールト トレラント環境で Pervasive PSQL をインストールまたは構成する際、特別な手順は必要ありません。ハイパーバイザーのドキュメントを参照してください。
障害回復
障害回復にはデータの回復やサイトの回復が含まれています。データの回復はデータを保護および復元する方法です。サイトの回復は、データを含むサイト全体を保護および復元する方法です。
データの回復は、ハイパーバイザーの共有記憶域および Pervasive PSQL のトランザクション ログとトランザクション一貫性保守によって容易に行うことができます。トランザクション ログおよびトランザクション一貫性保守を参照してください。Pervasive PSQL Server および Server Vx ではトランザクション ログとトランザクション一貫性保守を使用できます。
サイトの回復は Pervasive PSQL Server と Server Vx のどちらでも実行できます。Pervasive PSQL Server の場合は、物理マシン用に単独の製品キーが必要です。この回復に元のサイトの仮想マシンが含まれる場合、その仮想マシンの起動時には Pervasive PSQL 製品キーの状態が「検証失敗」に変わります。データベース エンジンは、一定期間(検証失敗期間)は検証失敗状態のキーで実行することができます。検証失敗期間が終わる前に元のホストへ移行し直すということであれば、データベース エンジンは正常に動作します。ただし、サイトの回復で元のホストが失われる可能性があります。
仮想 MAC アドレスとホスト名が、回復されたサイト仮想マシンと元の仮想マシンとで同じままであれば、PSQL Vx Server は正常に動作します。製品キーの状態は "アクティブ" のままです。
障害回復環境で Pervasive PSQL をインストールまたは構成する際、特別な手順は必要ありません。ハイパーバイザーのドキュメントを参照してください。