データベースサーバのOSの起動・停止に合わせて、多重化したインスタンスとMirroring Controllerを自動的に起動・停止することができます。
注意
プライマリサーバとスタンバイサーバのMirroring Controllerの起動順序は保証しません。プライマリサーバの起動を確認したあとに、スタンバイサーバの起動を順次行って起動順序を保証してください。
また、データベースサーバのMirroring Controllerプロセスと裁定サーバのMirroring Controller裁定プロセスの起動順序は保証しません。裁定サーバを最初に起動できない場合には、mc_ctlコマンドのstartモードに--async-connect-arbiterオプションを指定して実行し、Mirroring Controllerプロセスを起動してください。
多重化したインスタンスとMirroring Controllerを起動する場合、時刻補正やネットワーク環境の開設などを待ち合わせるようにしてください。
以下の手順で行います。
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プロセスを起動してください。
自動起動・停止の有効化
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)