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

2.3.1 裁定サーバの設定

裁定サーバのデータベース多重化運用のセットアップについて説明します。

データベース多重化運用では、動作に必要なファイルをMirroring Controller裁定プロセスの管理ディレクトリで管理します。

1つの裁定プロセスに対して1つのMirroring Controller裁定プロセスの管理ディレクトリが対応します。

ポイント

1つの裁定サーバに、データベース多重化システムごとの裁定プロセスをそれぞれ起動することができます。

参照

  • mc_arbコマンドの詳細は、“リファレンス”を参照してください。

  • セットアップで編集する各パラメータの詳細については、“付録A パラメータ”を参照してください。

以下の手順で行います。

Linuxの場合
  1. 裁定サーバに、裁定プロセスの起動や停止を行う任意のOSユーザーでログインします。

  2. 環境変数の設定

    以下の環境変数を設定します。

    • PATH

      インストールディレクトリ/binを追加します。

    • MANPATH

      インストールディレクトリ/share/manを追加します。

    インストールディレクトリが“/opt/fsepv<x>assistant”の場合の環境変数の設定例を示します。“<x>”は製品のバージョンです。

    sh、bashの場合

    $ PATH=/opt/fsepv<x>assistant/bin:$PATH ; export PATH
    $ MANPATH=/opt/fsepv<x>assistant/share/man:$MANPATH ; export MANPATH

    csh、tcshの場合

    $ setenv PATH /opt/fsepv<x>assistant/bin:$PATH
    $ setenv MANPATH /opt/fsepv<x>assistant/share/man:$MANPATH
  3. 裁定サーバで必要なファイルを格納するMirroring Controller裁定プロセスの管理ディレクトリを作成します。

    Mirroring Controller裁定プロセスの管理ディレクトリは、ASCII文字で指定してください。

  4. Mirroring Controller裁定プロセスが管理するMirroring Controllerのネットワークの構成をネットワーク定義ファイル(network.confファイル)に定義します。

    サンプルファイルをもとにして、Mirroring Controller裁定プロセスの管理ディレクトリにnetwork.confファイルを作成します。network.confファイルには、手順1の裁定プロセスの起動や停止を行うOSユーザーにのみ読み込み権限と書き込み権限を設定してください。

    手順1の裁定プロセスの起動や停止を行うOSユーザー以外にアクセス権限が与えられていた場合には、mc_arbコマンドは動作しません。これにより、手順1の裁定プロセスの起動や停止を行うOSユーザー以外がMirroring Controller裁定プロセスを操作することを防止します。

    サンプルファイルのパス
    /インストールディレクトリ/share/mcarb_network.conf.sample

    network.confファイルには、プライマリサーバとスタンバイサーバのIPアドレスまたはホスト名、およびポート番号を指定して、Mirroring Controller裁定プロセスが管理するMirroring Controllerのネットワークの構成を定義します。

    詳細は、“A.3 ネットワーク定義ファイル”を参照してください。

    以下に定義例を示します。

    例)
    サーバ識別子に“server1”および“server2”、ポート番号に“27541”を指定している場合の例を以下に示します。
    server1 192.0.3.100 27541
    server2 192.0.3.110 27541
  5. Mirroring Controller裁定プロセスの制御に関する情報を裁定定義ファイル(arbitration.confファイル)に定義します。

    サンプルファイルをもとにして、Mirroring Controller裁定プロセスの管理ディレクトリにarbitration.confファイルを作成します。arbitration.confファイルには、手順1の裁定プロセスの起動や停止を行うOSユーザーにのみ読み込み権限と書き込み権限を設定してください。手順1の裁定プロセスの起動や停止を行うOSユーザー以外にアクセス権限が与えられていた場合には、mc_arbコマンドは動作しません。

    サンプルファイルのパス
    /インストールディレクトリ/share/mcarb_arbitration.conf.sample

    arbitration.confファイルには、以下のパラメータを設定します。

    表2.1 設定するパラメータ

    パラメータ

    指定内容

    備考

    port

    Mirroring Controller裁定プロセスのポート番号

    0 ~ 65535の範囲を超えて指定できません。他のソフトウェアと重ならないように設定してください。また、他のプログラムによって一時的に割り当てられる可能性のあるエフェメラルポートを指定しないでください。

    my_address

    'データベースサーバのMirroring Controllerプロセスからの接続を受け付けるIPアドレス、またはホスト名'

    [設定例]

    my_address = ‘192.0.3.120’

    IPアドレスはIPv4、IPv6の指定が可能です。

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

    syslog_ident

    'プログラム名'

    システムログ内のMirroring Controller裁定プロセスのメッセージを特定するために使用するプログラム名を半角シングルクォートで囲んで指定します。半角空白以外のASCII文字で指定してください。

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

    fencing_command

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

    [設定例]

    fencing_command = '/arbiter/fencing_dir/execute_fencing.sh'

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

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

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

    fencing_command_timeout

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

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

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

    デフォルトは20秒です。

    参考

    各パラメータの詳細およびその他のパラメータについては、“A.4.2 裁定定義ファイル”を参照してください。


Windowsの場合
  1. 裁定サーバに、裁定プロセスの起動や停止を行う任意のOSユーザーでログインします。

  2. 環境変数の設定

    以下の環境変数を設定します。

    • PATH

      インストールフォルダ\bin、および、インストールフォルダ\libを追加します。

    インストールフォルダが“c:\Program Files\Fujitsu\fsepv<x>assistant64”の場合の環境変数の設定例を示します。“<x>”は製品のバージョンです。

    > SET PATH=c:\Program Files\Fujitsu\fsepv<x>assistant64\bin;c:\Program Files\Fujitsu\fsepv<x>assistant64\lib;%PATH%
  3. 裁定サーバで必要なファイルを格納するMirroring Controller裁定プロセスの管理ディレクトリを作成します。

    Mirroring Controller裁定プロセスの管理ディレクトリは、ASCII文字で指定してください。

  4. Mirroring Controller裁定プロセスが管理するMirroring Controllerのネットワークの構成をネットワーク定義ファイル(network.confファイル)に定義します。

    サンプルファイルをもとにして、Mirroring Controller裁定プロセスの管理ディレクトリにnetwork.confファイルを作成します。

    サンプルファイルのパス
    インストールディレクトリ\share\mcarb_network.conf.sample

    network.confファイルには、プライマリサーバとスタンバイサーバのIPアドレスまたはホスト名、およびポート番号を指定して、Mirroring Controller裁定プロセスが管理するMirroring Controllerのネットワークの構成を定義します。

    詳細は、“A.3 ネットワーク定義ファイル”を参照してください。

    以下に定義例を示します。

    例)
    サーバ識別子に“server1”および“server2”、ポート番号に“27541”を指定している場合の例を以下に示します。
    server1 192.0.3.100 27541
    server2 192.0.3.110 27541
  5. network.confファイルのアクセス権限を変更します。

    network.confファイルには、手順1の裁定プロセスの起動や停止を行うOSユーザーにのみ読み込み権限と書き込み権限を設定してください。手順1の裁定プロセスの起動や停止を行うOSユーザー以外にアクセス権限が与えられていた場合には、mc_arbコマンドは動作しません。これにより、手順1の裁定プロセスの起動や停止を行うOSユーザー以外がMirroring Controller裁定プロセスを操作することを防止します。

    例)
    手順1の裁定プロセスの起動や停止を行うOSユーザーのユーザー名が“fsepuser”の場合に、手順1の裁定プロセスの起動や停止を行うOSユーザーを所有者にしてフルアクセス権を付与する場合の実行例を示します。Windowsサーバに“fsepuser”でログインしている場合の操作手順です。
    > takeown /f network.conf
    > icacls network.conf /reset
    > icacls network.conf /inheritance:r
    > icacls network.conf /grant fsepuser:F
  6. Mirroring Controller裁定プロセスの制御に関する情報を裁定定義ファイル(arbitration.confファイル)に定義します。

    サンプルファイルをもとにして、Mirroring Controller裁定プロセスの管理ディレクトリにarbitration.confファイルを作成します。

    サンプルファイルのパス
    インストールディレクトリ\share\mcarb_arbitration.conf.sample

    arbitration.confファイルには、以下のパラメータを設定します。

    表2.2 設定するパラメータ

    パラメータ

    指定内容

    備考

    port

    Mirroring Controller裁定プロセスのポート番号

    0 ~ 65535の範囲を超えて指定できません。他のソフトウェアと重ならないように設定してください。また、他のプログラムによって一時的に割り当てられる可能性のあるエフェメラルポートを指定しないでください。

    my_address

    'データベースサーバのMirroring Controllerプロセスからの接続を受け付けるIPアドレス、またはホスト名'

    [設定例]

    my_address = ‘192.0.3.120’

    IPアドレスはIPv4、IPv6の指定が可能です。

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

    service_name

    '裁定プロセスのWindowsサービスへの登録サービス名'

    スラッシュ(/)および円記号(\)以外のASCII文字で指定してください。

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

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

    event_source

    'イベントログ内の裁定プロセスのメッセージを特定するために使用するイベントソース名'

    半角空白以外のASCII文字で指定してください。

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

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

    fencing_command

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

    [設定例]

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

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

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

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

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

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

    fencing_command_timeout

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

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

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

    デフォルトは20秒です。


    参考

    各パラメータの詳細およびその他のパラメータについては、“A.4.2 裁定定義ファイル”を参照してください。

  7. arbitration.confファイルのアクセス権限を変更します。

    arbitration.confファイルには、手順1の裁定プロセスの起動や停止を行うOSユーザーにのみ読み込み権限と書き込み権限を設定してください。手順1の裁定プロセスの起動や停止を行うOSユーザー以外にアクセス権限が与えられていた場合には、mc_arbコマンドは動作しません。

    例)
    手順1の裁定プロセスの起動や停止を行うOSユーザーのユーザー名が“fsepuser”の場合に、手順1の裁定プロセスの起動や停止を行うOSユーザーを所有者にしてフルアクセス権を付与する場合の実行例を示します。Windowsサーバに“fsepuser”でログインしている場合の操作手順です。
    > takeown /f arbitration.conf
    > icacls arbitration.conf /reset
    > icacls arbitration.conf /inheritance:r
    > icacls arbitration.conf /grant fsepuser:F
  8. Windowsファイアウォールを設定します。

    Windowsファイアウォール機能を有効にする場合、手順3でネットワーク定義ファイルに指定したMirroring Controllerのポート番号を有効にしてください。詳細は、“E.2 Windowsファイアウォールの設定”を参照してください。

  9. WindowsサービスへMirroring Controller裁定プロセスを登録します。

    mc_arbコマンドをregisterモードで実行します。

    mc_arbコマンドの-Pオプションには、コマンドを実行したOSユーザーのパスワードを指定してください。

    例)
    > mc_arb register -M D:\mcarb_dir\arbiter1 -P ******** 

    注意

    mc_arbコマンドの-Pオプションにパスワードを指定するときには、セキュリティ上の観点から他のユーザーに参照されないように注意してください。

    参考

    mc_arbコマンドの-SオプションでMirroring Controller裁定プロセスの自動起動・停止の設定を行うことができます。詳細は、“2.13 Mirroring Controller裁定プロセスの自動起動・停止の設定”を参照してください。

    手順6でarbitration.confファイルのservice_nameパラメータに指定したサービス名で、WindowsサービスにMirroring Controller裁定プロセスが登録されます。

    sc qcコマンドを実行して、登録状態を確認することもできます。