Enterprise Edition――フェールオーバー(PostgreSQLがバックエンドDBの場合)
Applications Managerでフェールオーバーを実装するには、次の手順に従ってください。
単一データベースとデュアルApplications Managerの構成
この設定では、プライマリApplications Manager、セカンダリApplications Manager、共有の1データベースを利用します。Applicatiions Managerは2つとも、共通のデータベースを参照してデータを管理します。プライマリがDBと交信している間、セカンダリが実行しているのはDBからの情報聞き取りのみです。プライマリ サーバーがダウンすると、セカンダリ サーバーが引き継ぎを行います。しばらくして最初のサーバーが再起動すると、今度はプライマリではなくセカンダリとして動作を始めます。
フェールオーバーをインストールする前に(Managedサーバーの場合)
|
フェールオーバー構成詳細
ここでは、ノード1、ノード2、ノード3の3つを立ち上げるものとします。
Applications Manager:ノード1、ノード2
PostgreSQLデータベース:ノード3
手順1:PosgreSQLデータベース サーバーをノード3にインストールし、起動確認します。
当社サイトよりApplications Managerをダウンロードしてください。PostgresSQLは製品にバンドルされており、バンドル版のPostgreSQL利用を推奨します。
リモートPostgres DBサーバーのセットアップ手順
- DBを実行するリモート サーバーで行うのと同様に、Applicaions Managerを通常通りインストールしてください。この環境ではDBを使うことだけが目的であるため、Professional Editionをインストールします(Windowsではインストーラーを右クリックし、「管理者として実行」します。コマンド プロンプトも同じ手順で、管理者として実行してください。コマンド プロンプトのラベルが「Administrator」かで確認可能です)。
- このApplicaions Managerを1回起動して、停止します。
- ManageEngine Applications Managerサービスの停止を確認してください。
- Applications Manageから、サーバー管理者権限のコマンド プロンプトを開きます。<AppManager_Home>フォルダーへ移動し、次のコマンドを実行します。 shutdownApplicationsManager.bat -force
- 上記コマンドを繰り返し、全プロセスの停止を確認してください。
- Windowsでは、コマンド プロンプトを開き、<AppManager_Home>binフォルダーへ移動してuninstallservice.batを実行、Applications ManagerのWindowsサービスを削除します。この場合はDBだけが必要なので、製品のサービスは不要です。
- pg_hba.confへの変更:
- <AppManager_Home>/working/pgsql/data/amdbフォルダーのpg_hba.confを開きます。
- # IPv4 local 接続で、アドレスを127.0.0.1/32から0.0.0.0/0に変更してください。これによって、リモート サーバーからのPostgreSQL DBへの接続が可能になります。
- postgresql.confへの変更:
- <AppManager_Home>/working/pgsql/data/amdbフォルダーのpostgresql.confを開きます。
listen_addressesのコメントを解除し、localhostを「*」に変更します。
- <AppManager_Home>/working/pgsql/data/amdbフォルダーのpostgresql.confを開きます。
- Windowsでは、<AppManager_Home>\working\binフォルダーにコマンド プロンプトで移動し、「register_pgdbservice.bat」を実行します。これによって、PosgreSQLがWindowsサービスとしてインストールされます。
- ここで、ApplicationsManager_Posgresqlサービスの起動が可能となり、PostgreSQL DBサーバーの接続準備ができたことになります。
- Linuxでは、<AppManager_Home>/workingフォルダーへ移動し、sh./bin/startPGSQL.shを実行すると、PostgreSQL DBサーバーの接続準備ができたことになります。
手順2:Applications Managerをノード1にインストールします。
- Applications Managerを、通常リモート サーバーに行うのと同様に、インストールしてください。このApplications Managerを、下記の手順で最低1回は起動・停止します。
- ManageEngine Applications ManagerのWindowsサービスの停止を確認してください。
- Applications Manageから、サーバー管理者権限のコマンド プロンプトを開きます。
- <AppManager_Home>フォルダーへ移動し、次のコマンドを実行します。shutdownApplicationsManager.bat -force
- 上記コマンドを繰り返し、全プロセスの停止を確認してください。
- <AppManager_Home>conf\AMServer.propertiesファイルをエディターで開き、下記エントリを更新のうえ保存します。
am.dbserver.type=pgsql
am.db.port=15432(ポート番号は、インストールしたPostgreSQLの<AppManager_Home>\working\pgsql\data\amdb\postgres_ext.confファイルで確認できます)。
am.dbport.check=false - 下記の2か所にあるdatabase_params.confファイルを更新します。これらのファイルは同一です。変更必要箇所は、JDBCのURLだけです。PostgreSQL DBを実行しているリモート サーバーのホスト名とポートを更新してください。
- Url jdbc:postgresql://paulp0558:15432/amdbdontTrackOpenResources=true&useUnicode=true&characterEncoding=UTF-8 AppModules TopoDB-MapDB-EventDB-AlertDB-PollDB-PolicyDB-USERSTORAGEDB-ApplnDB
以下の2か所にあるdatabase_params.confファイルでも、同じ変更を行います。
<AppManager_Home>\working\conf\PGSQL
<AppManager_Home>\working\conf - これによって、Applications ManagerのWindowsサービスを起動する準備が完了です。Applications Managerはリモート サーバーで実行中のPostgreSQLに接続します。このサーバーは、プライマリ サーバーとして動作します。<AppManager_Home>\logs\rapper.logで確認ください。
- Url jdbc:postgresql://paulp0558:15432/amdbdontTrackOpenResources=true&useUnicode=true&characterEncoding=UTF-8 AppModules TopoDB-MapDB-EventDB-AlertDB-PollDB-PolicyDB-USERSTORAGEDB-ApplnDB
- Linuxでは、スタートアップ プロセスの起動と追跡は、次のように実行します。
nohup sh startApplicationsManager.sh &
Enterキーを押してください。
tail -f nohup.out
手順3:Applications Managerをノード2にインストールします。これはセカンダリ サーバーとして動作します。
am.dbserver.type=pgsql
am.db.port=15432(ポート番号は、インストールしたPostgreSQLの<AppManager_Home>/working/pgsql/data/amdb/postgres_ext/.confファイルで確認できます)。
am.dbport.check=false
- Applications Managerを、通常リモート サーバーに行うのと同様に、インストールしてください。このApplications Managerを、下記の手順で最低1回は起動・停止します。
- Windowsサービスの場合、ManageEngine Applications Managerサービスの停止を確認してください。
- Applications Manageから、サーバー管理者権限のコマンド プロンプトを開きます。
- <AppManager_Home>フォルダーへ移動し、次のコマンドを実行します。shutdownApplicationsManager.bat -force
- 上記コマンドを繰り返し、全プロセスの停止を確認してください。
- <AppManager_Home>\conf\AMServer.propertiesファイルをエディターで開き、下記エントリを更新のうえ保存します。
- database_params.confファイルshown in below 2 locations.これらのファイルは同一です。Only change you have to make is for jdbc URL as shown belowの更新
PostgreSQL DBを実行しているリモート サーバーのホスト名とポートを更新してください。
Url jdbc:postgresql://paulp0558:15432/amdbdontTrackOpenResources=true&useUnicode=true&characterEncoding=UTF-8 AppModules TopoDB-MapDB-EventDB-AlertDB-PollDB-PolicyDB-USERSTORAGEDB-ApplnDB
- 以下の2か所にあるdatabase_params.confファイルでも、同じ変更を行います。
<AppManager_Home>\working\conf\PGSQL
<AppManager_Home>\working/conf
これによって、Applications ManagerのWindowsサービスを起動する準備が完了です。このApplicaions Managerは、プライマリがすでに稼働中のため、完全には起動しません。サーバーは起動後、プライマリへの聞き取りを行います。同じ設定は、<AppManager_Home>\logs\wrapper.logからも可能です。
メモ:
Linuxでは、スタートアップ プロセスの起動と追跡は、次のように実行します。
nohup sh startApplicationsManager.sh &
Enterキーを押してください。
tail -f nohup.out
nohup出力サンプル INFO | jvm 1 | 2013/08/05 01:00:06 | Checking for availability of Primary Server in Database. Found an entry. ノード1のApplications Managerがダウンすると、ノード2のApplications Managerが起動します。フェールオーバー発生時はメール通知で、ダウン中のノードの問題解決が必要とわかります。ダウンから回復したサーバーはセカンダリとなって、次回の障害の際はフェールオーバー先となるよう、情報聞き取りを始めます。 INFO | jvm 1 | 2013/08/05 01:09:47 | Monitoring Primary Server at 192.168.1.3 メモ:上記の手順をEnerprise構成全体で、フェールオーバーを設定するそれぞれのApplications Managerに実行してください。 |