ページの先頭行へ戻る
Enterprise Postgres 12 SP1 クラスタ運用ガイド(データベース多重化編)
FUJITSU Software

A.4.1 データベースサーバのサーバ定義ファイル

Mirroring Controllerの監視および制御に関する情報をサーバ識別子.confファイルに定義します。サーバ識別子の最大長は、64バイトです。半角空白以外のASCII文字で指定してください。

プライマリサーバとスタンバイサーバの環境が異なる場合は、環境に合わせて異なる内容を定義してください。

表A.4 サーバ識別子.confファイル

パラメータ

設定値

説明

db_instance

'データ格納先ディレクトリ'

[設定例]

db_instance = 'D:\\database1\\inst1'

監視対象のインスタンスを特定するデータ格納先ディレクトリを半角シングルクォートで囲んで指定してください。

ASCII文字で、パスの区切り文字には\\を指定してください。

target_db

postgres、template1のいずれか

データベースインスタンスに接続するデータベース名を指定します。デフォルトはpostgresです。

db_instance_username

'データベースのインスタンスへ接続するユーザー名'

データベースのインスタンスへ接続するユーザー名を指定します。

ASCII文字で指定してください。

本パラメータはデータベース管理者ユーザーとMirroring Controllerの起動を行うOSユーザーが異なる場合に指定します。

データベーススーパーユーザーを半角シングルクォートで囲んで指定してください。

ユーザー名の最大長は63バイトです。

デフォルトはMirroring Controllerの起動を行うOSユーザーです。

db_instance_password

'インスタンス管理者ユーザーのユーザー名に対応するパスワード'

Mirroring Controllerがデータベースのインスタンスへ接続するためのパスワードを半角シングルクォートで囲んで指定します。

ASCII文字で指定してください。

本パラメータは、Mirroring Controllerからデータベースのインスタンスへの接続設定において、パスワード認証を行う場合に指定が必要です。

パスワード認証を行わない場合に本パラメータを指定すると、無視されます。

本パラメータの指定値に'または\を含む場合は、それぞれ\'および\\と記載してください。

enable_hash_in_password

onまたはoff

db_instance_passwordの指定値に含まれている#をパスワードの文字とみなす場合はonを指定し、コメントとみなす場合はoffを指定します。

デフォルトはoffです。

core_file_path

'コアファイルを出力するディレクトリ'

コアファイルを出力するディレクトリを半角シングルクォートで囲んで指定します。ASCII文字で、パスの区切り文字には\\を指定してください。

本パラメータを省略すると、Mirroring Controller管理ディレクトリを指定したものとみなされます。

db_instance_service_name

'FUJITSU Enterprise Postgresのインスタンスの登録サービス名'

FUJITSU Enterprise PostgresインスタンスのWindowsサービスへの登録サービス名を指定します。

半角シングルクォートで囲んでASCII文字で指定してください。

mc_service_name

'Mirroring Controllerの登録サービス名’

Mirroring ControllerのWindowsサービスへの登録サービス名を指定します。半角シングルクォートで囲んで、スラッシュ(/)と円記号(\)以外のASCII文字で指定してください。

サービス名の最大長は124バイトです。

デフォルトは、'MirroringControllerOpen'です。

event_source(注1)

'イベントソース名'

イベントログ内のMirroring Controllerメッセージを特定するのに使用されるイベントソース名を半角シングルクォートで囲んで指定します。ASCII文字で指定してください。

イベントソース名の最大長は255バイトです。

デフォルトは、'MirroringControllerOpen'です。

remote_call_timeout

管理通信のタイムアウト

Mirroring Controllerのエージェントプロセスがサーバ間で行う通信のタイムアウト値(ミリ秒)を指定します。

OSのTCP接続のタイムアウト時間(注2)よりも短くなるように0~2147483647の間の数値で指定してください。

0はタイムアウトの制限がないことを示します。

デフォルトは、70000ミリ秒(70秒)です。

agent_alive_timeout

Mirroring Controllerプロセスの生死監視のタイムアウト時間(秒数)

指定された秒数以上の時間応答がない場合は、Mirroring Controllerプロセスを再起動します。

0または2~2147483647の間の数値で指定します。0を指定した場合、タイムアウトの制限がないことを示します。

デフォルトは、0秒です。

heartbeat_error_action

OS/サーバの生死監視においてハートビート異常を検出した場合の動作

arbitration:裁定サーバを利用して自動縮退を行います。

command:縮退の判断を行うユーザー出口を呼び出して自動縮退を行います。

message:メッセージを通知します。

fallback:無条件に自動縮退を行います。

デフォルトはarbitrationです。

プライマリサーバおよびスタンバイサーバで同じ設定にしてください。

災害対策運用において、待機センタでデータベース多重化機能を利用する場合、運用センタおよび待機センタでfallbackは指定できません。

heartbeat_interval

OS/サーバの生死監視における異常監視の間隔時間(ミリ秒数)

OS/サーバを監視するため、heartbeat_intervalに指定した間隔で、異常の監視を行います。

異常を検出した場合には、heartbeat_error_actionに指定した動作に従います。heartbeat_error_actionにarbitrationを指定した場合、OS/サーバの監視の異常検知時間は、裁定サーバを利用しない運用に比べ、最大でarbitration_timeoutの指定値の分だけ長くなります。

1~2147483647の間の数値で指定してください。

指定した数値はdb_instance_check_intervalとdisk_check_intervalのデフォルト値として使用されます。

デフォルトは、800ミリ秒です。

heartbeat_timeout

OS/サーバの生死監視における異常監視のタイムアウト時間(秒数)

指定された秒数以上のあいだ、応答がない場合に、プライマリサーバの切り替えやスタンバイサーバの切り離しが必要となる異常が発生したと見なします。

異常を検出した場合には、heartbeat_error_actionに指定した動作に従います。heartbeat_error_actionにarbitrationを指定した場合、OS/サーバの監視の異常検知時間は、裁定サーバを利用しない運用に比べ、最大でarbitration_timeoutの指定値の分だけ長くなります。

1~2147483647の間の数値で指定してください。

指定した数値はdb_instance_check_timeoutのデフォルト値として使用されます。

デフォルトは、1秒です。

heartbeat_retry

OS/サーバの生死監視における異常監視のリトライ回数(回数)

プライマリサーバの切り替えやスタンバイサーバの切り離しが必要となる異常を検知した場合のリトライ回数を指定します。指定回数+1回以上連続して異常を検知した場合に切り替えや切り離しを行います。

異常を検出した場合には、heartbeat_error_actionに指定した動作に従います。heartbeat_error_actionにarbitrationを指定した場合、OS/サーバの監視の異常検知時間は、裁定サーバを利用しない運用に比べ、最大でarbitration_timeoutの指定値の分だけ長くなります。

0~2147483647の間の数値で指定してください。

指定した数値はdb_instance_check_retryとdisk_check_retryのデフォルト値として使用されます。

デフォルトのリトライ回数は、2回です。

db_instance_check_interval

データベースプロセスの生死監視の間隔時間(ミリ秒数)

データベースプロセスを監視するため、db_instance_check_intervalに指定した間隔で生死監視を行います。

本パラメータの設定は、ストリーミングレプリケーションの異常監視にも使用されます。

1~2147483647の間の数値で指定してください。

デフォルトは、heartbeat_intervalの設定値です。

db_instance_check_timeout

データベースプロセスの生死監視のタイムアウト時間(秒数)

指定された秒数以上のあいだ、応答がない場合に、プライマリサーバの切り替えやスタンバイサーバの切り離しが必要となる異常が発生したと見なします。

1~2147483647の間の数値で指定してください。

デフォルトは、heartbeat_timeoutの設定値です。

db_instance_check_retry

データベースプロセスの生死監視のリトライ回数(回数)

プライマリサーバの切り替えやスタンバイサーバの切り離しが必要となる異常を検知した場合のリトライ回数を指定します。指定回数+1回以上連続して異常を検知した場合に切り替えや切り離しを行います。ただし、データベースプロセスのダウンを検知した場合は、本パラメータの設定に関わらず即時に切り替えや切り離しを行います。

本パラメータの設定は、ストリーミングレプリケーションの異常監視にも使用されます。

0~2147483647の間の数値で指定してください。

デフォルトのリトライ回数は、heartbeat_retryの設定値です。

db_instance_timeout_action

none、message、failoverのいずれか

インスタンスの無応答監視に対する振る舞いを指定します。

none: 無応答監視を行わない

message: 無応答監視を行い、異常を検知した場合はメッセージを通知する

failover: 無応答監視を行い、異常を検知した場合は自動縮退を行う

デフォルトは、failoverです。

disk_check_interval

ディスクの異常監視の間隔時間(ミリ秒数)

ディスク障害を監視するため、disk_check_intervalに指定した間隔(ミリ秒)で異常監視を行います。ファイルが作成できなかった場合は、プライマリサーバの切り替えやスタンバイサーバの切り離しが必要となる異常が発生したと見なします。

1~2147483647の間の数値で指定してください。

デフォルトは、heartbeat_intervalの設定値です。

disk_check_retry

ディスクの異常監視のリトライ回数(回数)

プライマリサーバの切り替えやスタンバイサーバの切り離しが必要となる異常を検知した場合のリトライ回数を指定します。

指定回数+1回以上連続して異常を検知した場合に切り替えや切り離しを行います。

0~2147483647の間の数値で指定してください。

デフォルトのリトライ回数は、heartbeat_retryの設定値です。

tablespace_directory_error_action

message、またはfailover

テーブル空間の格納ディレクトリに異常を検知した場合の振る舞いを指定します。

message: メッセージを通知する

failover: 自動縮退を行う

デフォルトは、failoverです。

arbiter_alive_interval

Mirroring Controller裁定プロセスとの接続監視の間隔時間(ミリ秒数)

指定された間隔でMirroring Controller裁定プロセスに対し、ハートビートを行います。

1~2147483647の間の数値で指定してください。

デフォルトは16000ミリ秒です。

本パラメータは、裁定サーバを利用しない運用では設定不要です。

arbiter_alive_timeout

Mirroring Controller裁定プロセスとの接続監視のタイムアウト時間(秒数)

ハートビートが指定された秒数以上のあいだ応答がない場合には、Mirroring Controller裁定プロセスとの接続が切断されたと判断し、メッセージを出力して、再接続を試みます。

1~2147483647の間の数値で指定してください。

デフォルトは20秒です。

本パラメータは、裁定サーバを利用しない運用では設定不要です。

arbiter_alive_retry

Mirroring Controller裁定プロセスとの接続監視のリトライ回数(回数)

Mirroring Controller裁定プロセスとのハートビートの異常検知をした場合の、ハートビートのリトライ回数を指定します。指定された回数以上、ハートビートの応答がない場合には、Mirroring Controller裁定プロセスとの接続が切断されたと判断します。

0~2147483647の間の数値で指定してください。

デフォルトは0回です。

本パラメータは、裁定サーバを利用しない運用では設定不要です。

arbiter_connect_interval

Mirroring Controller裁定プロセスとの接続の試行間隔(ミリ秒数)

Mirroring Controllerプロセスの起動時に接続が失敗した場合、またはMirroring Controller裁定プロセスとの切断時に、指定された間隔で再接続を試行します。

1~2147483647の間の数値で指定してください。

デフォルトは16000ミリ秒です。

本パラメータは、裁定サーバを利用しない運用では設定不要です。

arbiter_connect_timeout

Mirroring Controller裁定プロセスとの接続のタイムアウト時間(秒数)

Mirroring Controllerプロセスの起動時、またはMirroring Controller裁定プロセスとの切断時の再接続時に、指定された秒数以上のあいだ接続ができない場合は、Mirroring Controller裁定プロセスとの接続に失敗したと判断し、再接続を試みます。

1~2147483647の間の数値で指定してください。

デフォルトは20秒です。

本パラメータは、裁定サーバを利用しない運用では設定不要です。

fencing_command

'フェンシングコマンドのファイルパス名'

[設定例]

fencing_command = 'c:\\mc\\fencing_dir\\execute_fencing.bat'

異常と判断したデータベースサーバをフェンシングするフェンシングコマンドのファイルパス名を指定します。

区切り文字には\\を指定してください。

ファイルパス名は絶対パスを指定し、半角シングルクォートで囲んで指定してください。

260バイト未満の長さで指定してください。

マルチバイト文字を使用する場合、OSの文字コードと同じにしてください。

本パラメータは、heartbeat_error_actionにcommandを設定した場合は、指定必須です。

fencing_command_timeout

フェンシングコマンドのタイムアウト時間(秒数)

指定された秒数以上のあいだ、コマンドの応答がない場合は、フェンシングに失敗したと判断し、フェンシングコマンドの実行プロセスに対して、シグナル(SIGTERM)を送信します。

1~2147483647の間の数値で指定してください。

デフォルトは20秒です。

arbitration_timeout

Mirroring Controller裁定プロセスでの裁定処理のタイムアウト時間(秒数)

OS/サーバの生死監視時間である裁定定義ファイルのfencing_command_timeout以上の値を指定する必要があります。

指定された秒数以上のあいだ、応答がない場合には、プライマリサーバの切り替えやスタンバイサーバの切り離しは行われません。そのため、手動での縮退操作を行ってください。

裁定サーバのarbitration.confにheartbeat_interval、heartbeat_timeout、heartbeat_retryの値を指定している場合は、裁定サーバの値を使用してarbitration_timeoutの時間を設計してください。

1~2147483647の間の数値で指定してください。

デフォルトは30秒です。

本パラメータは、裁定サーバを利用しない運用では設定不要です。

arbitration_command

'裁定コマンドのファイルパス名'

[設定例]

arbitration_command = 'c:\\mc\\arbitration_dir\\execute_arbitration_command.bat'

OS/サーバの生死監視において異常を検出した場合に実行する裁定コマンドのファイルパス名を指定します。

区切り文字には\\を指定してください。

ファイルパス名は絶対パスを指定し、半角シングルクォートで囲んで指定してください。

マルチバイト文字を使用する場合、OSの文字コードと同じにしてください。

260バイト未満の長さで指定してください。

本パラメータは、heartbeat_error_actionにcommandを設定した場合は、指定必須です。

arbitration_command_timeout

裁定コマンドのタイムアウト時間(秒数)

指定された秒数以上のあいだ、裁定コマンドの応答がない場合は、裁定コマンドの実行に失敗したと判断し、裁定コマンドの実行プロセスに対して、シグナル(SIGTERM)を送信します。

1~2147483647の間の数値で指定してください。

デフォルトは30秒です。

本パラメータは、heartbeat_error_actionにcommandを設定した場合のみ、指定可能です。

shutdown_detached_synchronous_standby

on、またはoff

スタンバイサーバを切り離す際にスタンバイサーバのインスタンスを強制停止させるか否かを指定します。

on: インスタンスを停止する

off: インスタンスを停止しない

onを指定し、切り離し前コマンドを作成していた場合、切り離し前コマンドを実行した後にインスタンスの停止を行います。

デフォルトは、offです。

post_switch_command

'切り替え後コマンドのファイルパス名'

[設定例]

post_switch_command = 'c:\\mc\\status_change\\execute_post_switch.bat'

プライマリサーバのフェイルオーバ時に、新プライマリサーバが昇格した後にMirroring Controllerが呼び出すコマンドのパス名を指定します。

災害対策運用における待機センタの場合、スタンバイサーバのレプリケーションの接続先変更とプライマリ候補サーバへの切り替えが発生した後にMirroring Controllerが呼び出すコマンドのパス名を指定します。

区切り文字には\\を指定してください。

ファイルパス名は絶対パスを指定し、半角シングルクォートで囲んで指定してください。

260バイト未満の長さで指定してください。

post_attach_command

'組み込み後コマンドのファイルパス名'

[設定例]

post_attach_command = 'c:\\mc\\status_change\\execute_post_attach.bat'

スタンバイサーバがクラスタシステムに組み込まれた後にMirroring Controllerが呼び出すコマンドのパス名を指定します。

区切り文字には\\を指定してください。

ファイルパス名は絶対パスを指定し、半角シングルクォートで囲んで指定してください。

260バイト未満の長さで指定してください。

pre_detach_command

'切り離し前コマンドのファイルパス名'

[設定例]

pre_detach_command = 'c:\\mc\\status_change\\execute_pre_detach.bat'

スタンバイサーバがクラスタシステムから切り離される前にMirroring Controllerが呼び出すコマンドのパス名を指定します。

区切り文字には\\を指定してください。

ファイルパス名は絶対パスを指定し、半角シングルクォートで囲んで指定してください。

260バイト未満の長さで指定してください。

status_change_command_timeout

状態遷移コマンドのタイムアウト時間(秒数)

切り替え後コマンド、組み込み後コマンド、および切り離し前コマンドのタイムアウト時間を指定します。指定された秒数以上のあいだ、コマンドの応答がない場合は、ステータス変更コマンドの実行プロセスに対して、シグナル(SIGTERM)を送信します。

タイムアウト時間は、1~2147483647の間の数値で指定します。

デフォルトは、20秒です。

check_synchronous_standby_names_validation

on、またはoff

postgresql.confのsynchronous_standby_namesパラメータがユーザーの誤操作により変更されたかを、Mirroring Controllerが運用中に定期的にチェックするか否かを指定します。

ただし、チェックを行うと、Mirroring ControllerがデータベースサーバのCPUを冗長に使用し、SQL文を高頻度で実行することから、本パラメータを有効にすることは推奨できません。

本パラメータは、FUJITSU Enterprise Postgres 9.6以前の動作を行う場合に指定する互換パラメータです。

災害対策運用において、待機センタでデータベース多重化機能を利用する場合、待機センタでは本パラメータは指定できません。

デフォルトは、offです。

standbycenter_mode

primary、またはstandby

待機センタモードで運用するMirroring Controllerのサーバ種別を指定します。

primary: プライマリ候補サーバ

standby: スタンバイサーバ

本パラメータは、運用センタと待機センタの両方でデータベース多重化機能を利用する場合は指定必須です。指定しない場合、Mirroring Controllerは運用センタモードで動作します。

Mirroring Controller起動中は、本パラメータを変更しないでください。

自動または手動による切り替えにおいて、Mirroring Controllerが本パラメータの値を、新プライマリ候補サーバでは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を設定します。

本パラメータの指定値に円記号(\)を含める場合は、円記号を2つ続けて指定してください。

本パラメータは、standbycenter_modeを指定した場合は、指定必須です。

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を設定しないでください。

本パラメータの指定値に円記号(\)を含める場合は、円記号を2つ続けて指定してください。

本パラメータは、standbycenter_modeを指定した場合は、指定必須です。

db_instance_ext_pq_conninfo

'データベースのインスタンスへ接続するlibpq接続SSLパラメータ'

Mirroring Controllerがデータベース接続時に追加するlibpqの接続パラメータをkey-valueの形式で指定します。指定可能な接続パラメータはSSLに関するパラメータです。パラメータはASCII文字で指定してください。

db_instance_ext_jdbc_conninfoにも、本パラメータに指定した接続パラメータを指定する必要があります。

パスを指定する接続文字列には、区切り文字に\\を指定してください。

db_instance_ext_jdbc_conninfo

'データベースのインスタンスへ接続するJDBC接続SSLパラメータ'

Mirroring Controllerがデータベース接続時に追加するJDBCの接続パラメータをURI形式で指定します。指定可能な接続パラメータはSSLに関するパラメータです。パラメータはASCII文字で指定してください。

db_instance_ext_pq_conninfoにも、本パラメータに指定した接続パラメータを指定する必要があります。

パスを指定する接続文字列には、区切り文字に\\を指定してください。

注1) postgresql.confファイルのevent_sourceパラメータの指定と似たイベントソース名にすることで、Mirroring Controllerの出力内容と透過的に参照できるため、ログの参照が容易になります。

注2) OSのTCP接続のタイムアウト時間はTCPグローバルパラメータの初期RTOと最大SYN再送信数により決まります。remote_call_timeoutパラメータはOSのTCP接続のタイムアウト時間よりも短い値を設定しなければならないため、必要に応じていずれかのパラメータを変更してください。


OS/サーバの生死監視においてハートビート異常を検出した場合の動作を設定するheartbeat_error_actionパラメータに設定した値により、一部指定可能なパラメータが異なります。

表A.5 heartbeat_error_actionパラメータの設定値によるパラメータの指定可否

パラメータ

設定値

arbitration

command

message

fallback

arbiter_alive_interval

×

×

×

arbiter_alive_timeout

×

×

×

arbiter_alive_retry

×

×

×

arbiter_connect_interval

×

×

×

arbiter_connect_timeout

×

×

×

arbitration_timeout

×

×

×

arbitration_command

×

×

×

arbitration_command_timeout

×

×

×

fencing_command

×

fencing_command_timeout

×

shutdown_detached_synchronous_standby

×

×

◎:指定必須

○:指定可能

×:指定不可