付録C.12 クラスタシステムの構築
- 〈この項の構成〉
(1) クラスタシステムにJP1/DH - Serverをインストールする流れ
前提条件の確認のあと,実行系サーバおよび待機系サーバそれぞれにJP1/DH - Serverをインストールします。
-
インストールの前提条件を確認します。
-
JP1/DH-Serverをインストールします。
(2) インストールの前提条件
クラスタシステムにJP1/DH - Serverをインストールする前に,インストール環境の確認,および設定が必要です。
(a) OS,クラスタソフト
-
使用するOS,クラスタソフトが「付録C.2 サポートするクラスタソフト」で示すクラスタソフトと一致していること。
-
JP1/DH - Server,およびクラスタソフトで前提とするバッチ,サービスソフトが適用済みであること。
(b) 構成
-
フェールオーバーしても同じ処理ができるように,各サーバの環境が同じになっていること。
-
2台以上のサーバによるクラスタ構成となっていること。
(c) ディスク
-
システムがダウンしたときにファイルが消えないように,ジャーナル機能を持つファイルシステムなどでファイルが保護されていること。
(d) ネットワーク
-
ホスト名(hostnameコマンドの結果)に対応するIPアドレスで通信できること。クラスタソフトなどによって通信ができない状態に変更されないこと。
-
JP1/DH - Serverの動作中に,クラスタソフトやネームサーバなどによって,ホスト名とIPアドレスの対応が変更されないこと。
-
ホスト名に対応したLANボードがネットワークのバインド設定で最優先になっていること。ハートビート用などほかのLANボードが優先になっていないこと。
(e) 共用ディスク
-
フェールオーバーしたときに実行系サーバで書き込んだデータが破損しないように,次のすべての条件が満たされていることを確認します。条件が満たされていない場合,JP1/DH - Serverでエラー,データ消失,起動失敗などの問題が発生し,正常に動作しないおそれがあります。
-
共有ディスク上にJP1/DH - Serverがインストールされていないこと。
-
実行系サーバから待機系サーバへ引き継ぎできる共有ディスクが使用できること。
-
JP1/DH - Serverを起動する前に,共有ディスクが割り当てられること。
-
JP1/DH - Serverを実行中に,共有ディスクの割り当てが解除されないこと。
-
共有ディスクが,不当に複数サーバから使用されないよう排他制御されていること。
-
システムダウンなどでファイルが消えないように,ジャーナル機能を持つファイルシステムなどでファイルが保護されていること。
-
フェールオーバー後,ファイルに書き込んだ内容が保証されて引き継がれること。
-
フェールオーバー時に共有ディスクを使用しているプロセスがあっても,強制的にフェールオーバーできること。
-
共有ディスクの障害を検知した場合の回復処置として,JP1/DH - Serverの起動や停止が必要な場合は,クラスタソフトからJP1/DH-Serverを起動や停止できること。
-
(f) 論理ホスト名,IPアドレス
-
LANボードに障害が発生した場合に回復処理が実施されるように,次の条件を確認します。条件が満たされていない場合,クラスタソフトなどの制御によってLANボードが切り替えられるか,またはほかのサーバにフェールオーバーするまで,通信エラーが発生してJP1/DH - Serverが正常に動作しないおそれがあります。
-
論理ホスト名に英数字,「-」(ハイフン)以外の文字が使用されていないこと。
-
引き継ぎできる論理IPアドレスを使って通信できること。
-
論理ホスト名から論理IPアドレスが一意に求められること。
-
論理ホスト名がhostsファイルやネームサーバに設定され,TCP/IP通信ができること。
-
JP1/DH - Serverを起動する前に,論理IPアドレスが割り当てられること。
-
JP1/DH - Serverの実行中に,論理IPアドレスが削除されないこと。
-
JP1/DH - Serverの実行中に,論理ホスト名と論理IPアドレスの対応が変更されないこと。
-
ネットワーク障害を検知した場合の回復処置はクラスタソフトなどが制御し,JP1/DH - Serverが回復処理を意識する必要がないこと。また,回復処置の延長でJP1/DH - Server起動や停止が必要な場合は,クラスタソフトからJP1に起動や停止を実行要求すること。
-
(g) ポート管理
実行系サーバおよび待機系サーバで,Webサーバに接続するポート番号の設定が同一になっていること。ポート番号が同一になっていない場合,フェールオーバーで系が切り替わったときに,WebブラウザでJP1/DH - ServerのWEB-UI画面を表示できなくなります。ポート番号を変更する場合は,実行系サーバと待機系サーバの両方で同一のポート番号になるように変更してください。
(3) クラスタシステム構成マシンにJP1/DH - Serverをインストールする
実行系サーバおよび待機系サーバにJP1/DH-Serverをインストールします。
「クラスタソフト製品名時」と記載されている個所は,使用しているクラスタソフトと一致する場合にだけ行ってください。
-
実行系サーバと待機系サーバにJP1/DH - Serverがインストールされていないことを確認します。インストールされている場合はJP1/DH - Serverをアンインストールします。
-
実行系サーバと待機系サーバにJP1/DH - Serverをインストールします。
- WFSCの場合
-
ビルトインのAdministratorユーザでJP1/DH - Serverにログインします。
- HAモニターの場合
-
rootユーザでログインします。
JP1/DH - Serverのインストール先は,実行系サーバと待機系サーバで同じ名称のドライブおよびフォルダを指定します。
クラスタシステムにJP1/DH - Serverをインストールする場合は,新規インストール時の手順を実行してください。詳細については「5. インストールとセットアップ」を参照してください。
-
実行系サーバ上で,データベースのデータフォルダを共有ディスクに移動します。データベースが起動している場合は,データベースを停止してから操作してください。
移動元:<JP1/DH - Serverインストールフォルダ>\PostgreSQL\9.2\data
移動先:<共有ディスク>\PostgreSQL\9.2\data
共有フォルダへ移動したあと,移動先のフォルダにアクセス権を付与します。
- WFSCの場合
-
「postgres」アカウントに対して,「フルコントロール」権限を付与します。
- HAモニターの場合
-
次のコマンドで所有者,グループを「postgres」に変更します。
>chown -R postgres /<共有ディスク>/PostgreSQL/9.2/data >chgrp -R postgres /<共有ディスク>/PostgreSQL/9.2/data
-
データベースの起動オプションに指定するデータフォルダのパスを変更します。実行系サーバ,待機系サーバどちらの環境でも変更します。変更する起動オプションの指定方法は使用するクラスタソフトにより指定する個所が異なります。
- WFSCの場合
-
起動オプションはレジストリキーに設定しています。このため,該当のレジストリキーの値を変更します。レジストリキーのパス,変更内容の詳細は「付録C.9(2) クラスタ構成で使用するレジストリキー」を参照してください。
- HAモニターの場合
-
起動オプションはサービス起動/停止スクリプト「JP1_DH_DATABASE_SVR」ファイル内で指定しています。このため,クラスタ構成ではサービスの起動/停止時に,起動オプションだけ共有ディスクを指定する別のファイルを使用します。
クラスタ構成の場合に使用するファイルは,次のフォルダ以下に格納されています。
/opt/jp1dh/server/sbin/cluster/
「JP1_DH_DATABASE_SVR」ファイルの中に記載されている,変数「PGSQLDIR_D」の値を,データベースのデータフォルダの共有ディスクのパスに変更します。
パスを変更したあと,実行系サーバ上で以下のコマンドを実行します。
>/<JP1/DH-Serverインストールフォルダ>/sbin/cluster/JP_DH_DATABASE_SVR△start
変更した「JP1_DH_DATABASE_SVR」を使用して,データベースを起動します。
-
実行系サーバと待機系サーバの環境設定を行います。ここでの手順は「5.3.1 環境設定ファイルを変更する」を行ってください。なお,クラスタ構成では一部の環境設定手順が非クラスタ構成の場合と異なります。以下の点に注意して設定してください。
-
サーバのIPアドレスにはホスト機のIPアドレスではなく,論理アドレスを指定してください。環境設定ファイルの設定名は<ip>です。
-
サーバのFQDNにはホスト機のFQDNではなく,論理アドレスに対応するFQDNを指定してください。環境設定ファイルの設定名は<bind-hostname>,<bind-domainname>,<bind-sub-domainname>です。
-
配送データの保管先フォルダには共有ディスクのパスを指定してください。環境設定ファイルの設定名は<directory>です。
-
監査ログの出力先を共有ディスクのパスに変更します。監査ログの出力先は以下のファイルに設定します。
<インストールフォルダ>\misc\digikatsuwide\digikatsuwide\WEB-INF\services\ROOT_SERVICE.srv
設定ファイルのlog.fileディレクティブの値を共有ディスクのパスに変更します。
log.file = <共有ディスク>\log\jp1dh-audit.log
-
-
実行系サーバでJP1/DH-Serverのアプリケーションの構成を変更します。待機系サーバは実行系の後に行います。このため,この手順は実行系サーバにだけ作業を行ってください。
- WFSCの場合
-
Windowsのスタートメニューで「コマンド プロンプト」を選択し,右クリックメニューから「管理者として実行」メニューを選択します。「5.3.2 アプリケーションの構成を変更する」の内容を実行します。
- HAモニターの場合
-
「5.3.2 アプリケーションの構成を変更する」の内容を実行します。
-
待機系サーバでアプリケーションの構成を変更する前に,共有ディスク,ネットワーク等の現在の所有者を実行系サーバから待機系サーバに変更します。
- WFSCの場合
-
手順6.と同様の手順で,待機系サーバでJP1/DH - Serverのアプリケーションの構成を変更します。
待機系サーバでの変更作業が完了したあと,共有ディスク,ネットワーク等の現在の所有者を待機系サーバから実行系サーバに変更します。
- HAモニターの場合
-
実行系サーバ上で以下のコマンドを実行して,データベースを停止します。
>/<JP1/DH-Serverインストールフォルダ>/sbin/cluster/JP_DH_DATABASE_SVR△stop
データベースの停止が完了したら,共有ディスクのアクセスの切り替えを行います。共有ディスクへのアクセスの切り替え(実行系→待機系)は,mount/umountコマンドで手動で実行してください。
共有ディスクの切り替えが完了したら,待機系サーバ上で以下のコマンドを実行してデータベースを起動します。
>/<JP1/DH-Serverインストールフォルダ>/sbin/cluster/JP_DH_DATABASE_SVR△start
待機系サーバでの作業が完了したら,同様の手順で待機系サーバ上のデータベースを停止し,共有ディスクへのアクセスの切り替え(待機系→実行系),および実行系サーバ上でデータベースの起動を行います。
-
実行系サーバで電子証明書認証機能のための設定を行います。ここでの手順は「5.3.3 電子証明書認証機能のための設定」を行ってください。
-
実行系サーバと待機系サーバにルート証明書を登録します。ここでの手順は「5.3.4 ルート証明書の登録」を行ってください。
配送通知機能を使用する場合のメールサーバ連携で,メールサーバとの通信をSSLにより暗号化(SMTPS/STARTTLS)するとき,および本製品へのログインの際にディレクトリ・サーバを使用して認証する場合で,ディレクトリ・サーバとの通信をSSLにより暗号化(LDAPS)するときに,この手順が必要となります。
-
実行系サーバと待機系サーバのhostsファイルを設定します。ここでの手順は「5.3.5 hostsファイルを編集する」を行ってください。
-
実行系サーバ上でSSL通信に使用する証明書ファイルを作成します。ここでの手順は「5.4.1 SSL通信のための秘密鍵ファイルを作成する」,「5.4.2 パスワードファイルを作成する」,「5.4.3 SSL通信のための証明書ファイルを作成する」を行ってください。
なお,クラスタ構成では一部の環境設定手順が非クラスタ構成の場合と異なります。サーバのホスト名(FQDN)にはホスト機のIPアドレスではなく,論理アドレスに対するホスト名(FQDN)を指定してください。
-
手順10.で作成したファイルをすべて共有ディスクに格納します。
-
実行系サーバと待機系サーバでJP1/DH - WEBサーバの設定ファイルを編集します。ここでの手順は「5.4.4 JP1/DH Webサーバの設定を編集する」を行ってください。
なお,クラスタ構成では一部の環境設定手順が非クラスタ構成の場合と異なります。サーバのホスト名(FQDN)にはホスト機のIPアドレスではなく,論理アドレスに対するホスト名(FQDN)を指定してください。また,証明書は共有フォルダに格納して,証明書フォルダのパスは共有フォルダを指定してください。
- WFSCの場合
-
deploy_websvr.batツールを実行する場合は,Windowsスタートメニューから「コマンド プロンプト」を選択します。右クリックメニューから「管理者として実行」メニューを選択して表示されたコマンドプロンプト上で実行します。
- HAモニターの場合
-
rootユーザで実行します。