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

2.12 多重化したインスタンスとMirroring Controllerの自動起動・停止の設定

データベースサーバのOSの起動・停止に合わせて、多重化したインスタンスとMirroring Controllerを自動的に起動・停止することができます。

注意

プライマリサーバとスタンバイサーバのMirroring Controllerの起動順序は保証しません。プライマリサーバの起動を確認したあとに、スタンバイサーバの起動を順次行って起動順序を保証してください。

また、データベースサーバのMirroring Controllerプロセスと裁定サーバのMirroring Controller裁定プロセスの起動順序は保証しません。裁定サーバを最初に起動できない場合には、mc_ctlコマンドのstartモードに--async-connect-arbiterオプションを指定して実行し、Mirroring Controllerプロセスを起動してください。

多重化したインスタンスとMirroring Controllerを起動する場合、時刻補正やネットワーク環境の開設などを待ち合わせるようにしてください。

以下の手順で行います。

  1. unitファイルの作成

    以下に格納されているunitファイルのサンプルをコピーして、対象とするインスタンスにあわせて修正します。

    サンプルファイルのパス

    /インストールディレクトリ/share/mcoi.service.sample
    例)
    インストールディレクトリが“/opt/fsepv<x>server64”、インスタンス名を“inst1”とした場合の例を示します。“<x>”は製品のバージョンです。
    # cp /opt/fsepv<x>server64/share/mcoi.service.sample /usr/lib/systemd/system/mcoi_inst1.service

    unitファイルは、以下のオプションの下線部分を修正します。

    セクション

    オプション

    指定値

    説明

    Unit

    Description

    Fujitsu Enterprise Postgres Mirroring Controller <インスタンス名>

    機能概要を記述します。

    対象とするインスタンス名を記述します。(注1)

    Service

    ExecStart

    /bin/bash -c 'インストールディレクトリ/bin/mc_std start インストールディレクトリ Mirroring Controller管理ディレクトリ mc_ctlオプション'

    サービスの起動時に実行するコマンドを指定します。

    mc_ctlオプションには、-Mオプション以外のmc_ctlコマンドの実行時に追加したいオプションを指定します。

    なお、このmc_ctlオプションの指定内容は、指定値のmc_stdコマンドからmc_ctlコマンドに引き継がれます。(注2)

    ExecStop

    /bin/bash -c 'インストールディレクトリ/bin/mc_std stop インストールディレクトリ Mirroring Controller管理ディレクトリ mc_ctlオプション'

    サービスの停止時に実行するコマンドを指定します。

    mc_ctlオプションには、-Mオプション以外のmc_ctlコマンドの実行時に追加したいオプションを指定します。

    ただし、停止時に--mc-onlyオプションを使いMirroring Controllerだけを停止するには、起動時に--mc-onlyオプションを使用して起動しておく必要があります。

    なお、このmc_ctlオプションの指定内容は、指定値のmc_stdコマンドからmc_ctlコマンドに引き継がれます。

    User

    ユーザー

    インスタンス管理者のOSのユーザーアカウントを指定します。

    Group

    グループ

    インスタンス管理者のユーザーが所属するグループを指定します。

    注1) ここで使用するインスタンス名とは、インスタンスを識別できる名称を指します。

        インスタンスを識別するための命名規約は以下です。

    • 16バイト以内

    • 先頭の文字は、ASCIIアルファベット

    • 先頭以外の文字は、ASCIIアルファベット、ASCII数字

    注2) 裁定サーバを利用して自動縮退を行う運用の場合、最初に裁定サーバのMirroring Controller裁定プロセスを起動させた後にデータベースサーバのMirroring Controllerプロセスを起動させてください。裁定サーバを最初に起動させることができない場合には、--async-connect-arbiterオプションを指定して実行し、Mirroring Controllerプロセスを起動してください。

  2. 自動起動・停止の有効化

    OSのスーパーユーザーで、systemctlコマンドを使って自動起動・停止を有効にします。

    例)
    # systemctl enable mcoi_inst1.service

注意

Mirroring Controllerの自動起動・停止の設定を実施している場合、Mirroring Controllerの停止は、mc_ctlコマンドではなく、OSのスーパーユーザーで、systemctlコマンドを使用して停止してください。

)

# systemctl stop mcoi_inst1.service

停止しない場合は、“運用ガイド”の“インスタンス停止失敗時の対処”を参照して、インスタンスを停止します。そのあと、mc_ctlコマンドに-eオプションを指定してMirroring Controllerを強制停止してください。

)

$ mc_ctl stop -M /mcdir/inst1 -e

mc_ctlコマンドでMirroring Controllerを停止した場合、システムログに下記のメッセージが出力されますが、systemdによる自動停止が実行されたためであり、問題ありません。

メッセージ

FATAL: Mirroring Controllerの停止に失敗しました 対象サーバ:"{0}" (MCA00043)