プライマリサーバのセットアップについて、説明します。
以下の手順で行います。
プライマリサーバにログインします。
データベース多重化機能で必要なファイルを格納するMirroring Controller管理ディレクトリを作成します。
Mirroring Controller管理ディレクトリは、半角空白以外のASCII文字で指定してください。また、インスタンス管理者ユーザーに対する書き込み権限を付与してください。
Mirroring Controllerのプロセス間で連携するネットワークの構成をnetwork.confファイルに定義します。
サンプルファイルをもとにして、Mirroring Controller管理ディレクトリにnetwork.confファイルを作成します。network.confファイルには、インスタンス管理者ユーザーにのみ読み込み権限を設定してください。
インスタンス管理者ユーザー以外にアクセス権限が与えられていた場合には、mc_ctlコマンドは動作しません。これにより、インスタンス管理者ユーザー以外がMirroring Controllerを操作することを防止します。
サンプルファイルのパス
/インストールディレクトリ/share/mc_network.conf.sample
network.confファイルには、プライマリサーバとスタンバイサーバのホスト名(またはIPアドレス)、およびポート番号を指定して、Mirroring Controllerのプロセス同士が連携するためのネットワークの構成を定義します。
詳細は、“B.3 ネットワーク定義ファイル”を参照ください。
以下に定義例を示します。
これは、Mirroring Controllerのポート番号に26540を指定している場合の例です。“server1”および“server2”は、任意のサーバ識別子です。
例)
server1 192.0.2.100 26540 server2 192.0.2.110 26540
ポート番号は、プライマリサーバ、スタンバイサーバのどちらにおいても、他のソフトウェアと重ならないように設定してください。
WebAdminのように/etc/servicesファイルを用いて空きポート番号を検索して使用するプログラムが存在するため、プライマリサーバ側のポート番号を/etc/servicesファイルに登録しておいてください。
なお、サービス名は、任意の名前で登録してください。
Mirroring Controllerの監視および制御に関する情報をサーバ識別子.confファイルに定義します。
サンプルファイルをもとにして、Mirroring Controller管理ディレクトリにサーバ識別子.confファイルを作成します。サーバ識別子.confファイルには、インスタンス管理者ユーザーにのみ読み込み権限を設定してください。インスタンス管理者ユーザー以外にアクセス権限が与えられていた場合には、mc_ctlコマンドは動作しません。
サーバ識別子.confファイルのファイル名には、手順3でnetwork.confファイルに指定したサーバ識別子名を使用してください。
サンプルファイルのパス
/インストールディレクトリ/share/mc_server.conf.sample
サーバ識別子.confファイルには、以下のパラメータを設定します。
パラメータ | 指定内容 | 備考 |
---|---|---|
db_instance | 'データ格納先ディレクトリ' | 半角空白以外のASCII文字で指定してください。 |
db_instance_password | 'インスタンス管理者のユーザーIDに対応するパスワード' | Mirroring Controllerからデータベースのインスタンスへの接続設定において、パスワード認証を行う場合に指定してください。 半角空白以外のASCII文字で指定してください。 |
syslog_ident | 'プログラム名' | システムログ内のMirroring Controllerメッセージを特定するために使用するプログラム名を指定してください。半角空白以外のASCII文字で指定してください。postgresql.confファイルのパラメータと同じプログラム名にすることで、Mirroring Controllerの出力内容を透過的に参照できるため、ログの参照が容易になります。 |
heartbeat_interval | 800(ミリ秒数) | 応答がない状態を検知してからプライマリサーバを切り替えるなどの操作を行うまでの時間は、以下の式で計算します。 heartbeat_timeout(秒数)×heartbeat_retry(回数)=1×2=2(秒) この設定では、800ミリ秒間隔で異常を監視して、1秒間の応答がない状態が2回続いた場合にはプライマリサーバを切り替えるか、またはスタンバイサーバをプライマリサーバから切り離すかの操作を行います。 |
heartbeat_timeout | 1(秒数) | |
heartbeat_retry | 2(回数) |
Mirroring Controllerのプロセスを起動します。
インスタンス管理者ユーザーで、mc_ctlコマンドをstartモードでfオプションを指定して実行します。これにより、自動切り替え/切り離しの有効化を行います。
なお、fオプションを指定せずに起動した場合、自動切り替え/切り離しは有効になりません。有効にするには、Mirroring Controllerを起動したあとにmc_ctlコマンドをenable-failoverモードで実行するか、fオプションを指定してMirroring Controllerを再起動してください。
例)
$ mc_ctl start -M /mcdir/inst1 -f
インスタンス管理者ユーザーで、mc_ctlコマンドをstartモードで実行します。
例)
$ mc_ctl start -M /mcdir/inst1