スタンバイサーバのインスタンスの作成・設定・登録について、説明します。
注意
Mirroring Controllerは、Windowsサービスへ登録されているインスタンスを対象にします。
参照
各パラメータの詳細については、“付録A パラメータ”を参照してください。
mc_ctlコマンドの詳細は、“リファレンス”を参照してください。
以下の手順で行います。
セットアップの準備作業を行います。
“導入ガイド(サーバ編)”の“セットアップの準備作業”を参照して、スタンバイサーバにインスタンスを作成する前の準備作業を行ってください。
注意
プライマリサーバとスタンバイサーバを同一サーバ内に構築する場合には、プライマリサーバとSymfoware Serverのイベントソース名が重複しないように準備作業を行ってください。
格納データの暗号化の設定を行います。
プライマリサーバのキーストア・ファイルのコピーをスタンバイサーバ側に配置します。
詳細は、“運用ガイド”の“データベース多重化運用”を参照して、設定してください。
mc_ctlコマンドをsetupモードで実行して、スタンバイサーバにプライマリサーバのインスタンスの複製を作成します。この時、mc_ctlコマンドにより、各オプションに指定されたプライマリサーバへの接続情報を使用してrecovery.confも作成されます。
例)
> mc_ctl setup -M D:\mcdir\inst1 -r standby -U ユーザー名 -h プライマリサーバのホスト名 -p プライマリサーバのポート番号 --standby-name=スタンバイサーバ名
注意
プライマリサーバへの接続がパスワード認証を必要とする方式の場合、自動で認証が行われるようにしておく必要があります。
mc_ctlコマンドのsetupモードに-Pオプションを指定すると、mc_ctlコマンドによりrecovery.confにパスワードが設定されて自動的に接続できるようになります。
mc_ctlコマンドのsetupモードに-Pオプションを指定しない場合は、recovery.confにパスワードが設定されないため、パスワードファイル(%APPDATA%¥postgresql¥pgpass.conf)を作成してreplicationデータベースに対するパスワードを設定してください。
postgresql.confファイルに以下のパラメータを設定してください。
パラメータ | 指定内容 | 備考 |
---|---|---|
synchronous_standby_names | 'プライマリサーバ名' | プライマリサーバを切り替えたあとに、旧プライマリサーバを新しくスタンバイサーバとして組み込んだときに必要です。 Mirroring Controller起動中は、本パラメータを変更しないでください。 |
Windowsサービスへのインスタンスの登録を行います。
“導入ガイド(サーバ編)”の“インスタンスの作成”を参照して、インスタンスをWindowsサービスへ登録します。なお、Mirroring Controllerがインスタンスを起動/停止するために、pg_ctlコマンドのregisterモードを以下の指定で実行してください。
-Nオプションのサービス名には、サーバ定義ファイルのdb_instance_service_nameパラメータに指定した名前を指定する
-Sオプションに“demand”を指定して、システム起動時に自動的にサービスを起動しない
-wオプションを指定して、起動処理または停止処理の完了待ちを行う
注意
多重化したインスタンスのWindowsサービスは、Mirroring Controllerが起動するため、自動起動を行う設定にしないでください。
プライマリサーバとスタンバイサーバを同一サーバ内に構築する場合には、プライマリサーバとSymfoware Serverのインスタンスの登録サービス名が重複しないように登録してください。
Mirroring Controllerのプロセスを起動します。
プライマリサーバのMirroring Controllerのプロセスが起動していることを確認してから、起動します。
インスタンス管理者ユーザーで、mc_ctlコマンドをstartモードで-fオプションを指定して実行します。これにより、自動切り替え/切り離しの有効化を行います。
なお、-fオプションを指定せずに起動した場合、自動切り替え/切り離しは有効になりません。有効にするには、Mirroring Controllerを起動したあとにmc_ctlコマンドをenable-failoverモードで実行するか、-fオプションを指定してMirroring Controllerを再起動してください。
例)
> mc_ctl start -M D:\mcdir\inst1 -w -f
インスタンス管理者ユーザーで、mc_ctlコマンドをstartモードで実行します。
例)
> mc_ctl start -M D:\mcdir\inst1 -w
Mirroring Controllerプロセスの状態を確認します。
インスタンス管理者ユーザーでmc_ctlコマンドをstatusモードで実行します。“mirroring status”が切り替え可能状態(switchable)になっていることを確認してください。
例)
> mc_ctl status -M D:\mcdir\inst1