待機センタでデータベース多重化機能を利用しない運用から利用する運用への変更手順を示します。
“3.8.1 ローリングアップデート”の手順を実施し、保守作業の手順において、プライマリサーバとスタンバイサーバで以下の設定変更を行います。
サーバ識別子.confファイルの編集
heartbeat_error_actionパラメータにはfallback以外を指定してください。
ポイント
待機センタでデータベース多重化機能を利用する場合、運用センタおよび待機センタでは、OSのダウンおよび無応答の監視において、ハートビート異常で無条件に自動縮退を行う動作を選択することはできません。
Windowsサービスによるインスタンス、およびMirroring Controllerの起動・停止を、個別で行う設定から、同時に行う設定に変更します。
WindowsサービスからMirroring Controllerの登録を解除
mc_ctlコマンドをunregisterモードで実行します。
例)
> mc_ctl unregister -M D:\mcdir\inst1
Windowsサービスからインスタンスの登録を解除
pg_ctlコマンドをunregisterモードで-Nオプションを指定して実行します。-Nオプションのサービス名には、サーバ識別子.confファイルのdb_instance_service_nameパラメータに指定した名前を指定してください。
例) 登録サービス名が“inst1”の実行例を以下に示します。
> pg_ctl unregister -D D:\database\inst1 -N inst1
WindowsサービスへのMirroring Controllerの登録
mc_ctlコマンドをregisterモードで実行します。
mc_ctlコマンドの-Pオプションには、コマンドを実行したOSユーザーのパスワードを指定してください。
例)
> mc_ctl register -M D:\mcdir\inst1 -P ********
Windowsサービスのインスタンスの登録
pg_ctlコマンドのregisterモードで-Nオプション、-Sをオプションを指定して実行してください。
-Nオプションのサービス名には、サーバ識別子.confファイルのdb_instance_service_nameパラメータに指定した名前を指定してください。
-Sオプションには“demand”を指定して、システム起動時に自動的にサービスを起動しないようにします。
例) 登録サービス名が“inst1”の実行例を以下に示します。
> pg_ctl register -D D:\database\inst1 -N inst1 -S demand
アプリケーション業務の停止
待機センタに接続するアプリケーション業務を停止します。
pg_ctlコマンドをstopモードで実行し、待機センタのプライマリ候補サーバとスタンバイサーバのインスタンスを停止します。
例)
> pg_ctl stop -D D:\database\inst1
待機センタのプライマリ候補サーバとスタンバイサーバのサーバ識別子.confを編集し、待機センタでデータベース多重化機能を利用する場合に必要な以下のパラメータを追加します。
パラメータ | 指定内容 | 備考 |
---|---|---|
standbycenter_mode | primaryまたはstandby | 待機センタのプライマリ候補サーバとして運用するサーバにprimary、スタンバイサーバとして運用するサーバにstandbyを指定します。 |
primarycenter_primary_conninfo | 'host=運用センタ内のプライマリサーバのホスト名,スタンバイサーバのホスト名 port=運用センタ内のプライマリサーバのポート番号,スタンバイサーバのポート番号 application_name=自サーバ名 target_session_attrs=read-write …' | 運用センタのプライマリサーバに接続するための情報をPostgreSQLの接続文字列の形式で指定します。 host、port、application_name、target_session_attrsの指定は必須です。 application_nameには、自サーバのpostgresql.auto.confファイルのprimary_conninfoで設定するapplication_nameの値と同じ値を設定します。 target_session_attrsにはread-writeを設定します。 |
standbycenter_primary_conninfo | 'host=待機センタ内の相手サーバのホスト名 port=待機センタ内の相手サーバのポート番号 application_name=自サーバ名 …' | 待機センタのプライマリ候補サーバに接続するための情報をPostgreSQLの接続文字列の形式で指定します。 host、port、application_nameの指定は必須です。 application_nameには、自サーバのpostgresql.auto.confファイルのprimary_conninfoで設定するapplication_nameの値と同じ値を設定します。 target_session_attrsを指定する場合はread-writeを設定しないでください。 |
注意
センタ切り替えの手順を簡易化するため、待機センタでのみ設定が必要なパラメータを除いたサーバ識別子.confファイルの設定は、運用センタと待機センタで共通の値を指定することを推奨します。待機センタでのみ設定が必要なパラメータについては、“12.2 データベースサーバのサーバ定義ファイル”を参照してください。
自動または手動による接続先切り替え時に、Mirroring Controllerがpostgresql.auto.confファイルのprimary_conninfoパラメータの設定値を以下のように変更します。そのため、必須の接続文字列以外に必要な情報がある場合は、primarycenter_primary_conninfoおよびstandbycenter_primary_conninfoパラメータに設定する接続文字列に含めてください。
待機センタの新プライマリ候補サーバのpostgresql.auto.confファイルのprimary_conninfoパラメータの設定を、サーバ識別子.confファイルのprimarycenter_primary_conninfoパラメータの設定で上書きします。
待機センタの新スタンバイサーバのpostgresql.auto.confファイルのprimary_conninfoパラメータの設定を、サーバ識別子.confファイルのstandbycenter_primary_conninfoパラメータの設定で上書きします。
自動または手動による接続先切り替えでは、Mirroring Controllerがサーバ識別子.confファイルのstandbycenter_modeの値を、新プライマリ候補サーバではprimaryに、新スタンバイサーバではstandbyに変更します。
postgresql.auto.confファイルのprimary_conninfoパラメータの設定と、サーバ識別子.confファイルのprimarycenter_primary_conninfoパラメータの設定は、プライマリ候補サーバ内で同じ値を指定してください。プライマリ候補サーバのpostgresql.auto.confファイルのprimary_conninfoパラメータの設定方法の詳細は、“7.3.3 プライマリ候補サーバのインスタンスの作成・設定・登録”を参照してください。
postgresql.auto.confファイルのprimary_conninfoパラメータの設定と、サーバ識別子.confファイルのstandbycenter_primary_conninfoパラメータの設定は、スタンバイサーバ内で同じ値を指定してください。スタンバイサーバのpostgresql.auto.confファイルのprimary_conninfoパラメータの設定方法の詳細は、“7.3.6 スタンバイサーバのインスタンスの作成・設定・登録”を参照してください。
待機センタのプライマリ候補サーバとスタンバイサーバのpostgresql.confファイルに以下のパラメータを設定します。
パラメータ | 変更内容 |
---|---|
restart_after_crash | off |
Windowsサービスによるインスタンス、およびMirroring Controllerの起動・停止を、個別で行う設定から、同時に行う設定に変更します。
WindowsサービスからMirroring Controllerの登録を解除
mc_ctlコマンドをunregisterモードで実行します。
例)
> mc_ctl unregister -M D:\mcdir\inst1
Windowsサービスからインスタンスの登録を解除
pg_ctlコマンドをunregisterモードで-Nオプションを指定して実行します。-Nオプションのサービス名には、サーバ識別子.confファイルのdb_instance_service_nameパラメータに指定した名前を指定してください。
例) 登録サービス名が“inst1”の実行例を以下に示します。
> pg_ctl unregister -D D:\database\inst1 -N inst1
WindowsサービスへのMirroring Controllerの登録
mc_ctlコマンドをregisterモードで実行します。
mc_ctlコマンドの-Pオプションには、コマンドを実行したOSユーザーのパスワードを指定してください。
例)
> mc_ctl register -M D:\mcdir\inst1 -P ********
Windowsサービスのインスタンスの登録
pg_ctlコマンドのregisterモードに-Nオプション、-Sをオプション指定して実行してください。
-Nオプションのサービス名には、サーバ識別子.confファイルのdb_instance_service_nameパラメータに指定した名前を指定してください。
-Sオプションには“demand”を指定して、システム起動時に自動的にサービスを起動しないようにします。
例) 登録サービス名が“inst1”の実行例を以下に示します。
> pg_ctl register -D D:\database\inst1 -N inst1 -S demand
裁定サーバを利用して自動縮退を行うデータベース多重化運用を行う場合は、mc_arbコマンドをstartモードで実行し、Mirroring Controller裁定プロセスを起動します。
例)
$ mc_arb start -M /mcarb_dir/arbiter1
例)
> mc_arb start -M D:\mcarb_dir\arbiter1
mc_ctlコマンドをstartモードで実行し、プライマリ候補サーバとスタンバイサーバのインスタンスとMirroring Controllerを起動します。
例)
> mc_ctl start -M D:\mcdir\inst1
データベースまたは裁定サーバからMirroring Controllerのコマンドにより接続状態を確認します。接続状態の確認手順については、“2.8 接続状態の確認”を参照してください。
アプリケーション業務の再開
待機センタに接続するアプリケーション業務を再開します。
注意
インスタンスとMirroring Controllerの自動起動・停止の設定は、待機センタでデータベース多重化機能を利用する場合としない場合で設定が異なります。詳細は、“7.5 インスタンスとMirroring Controllerの自動起動・停止の設定”を参照してください。