データベースサーバのOSの起動・停止に合わせて、多重化したインスタンスとMirroring Controllerを自動的に起動・停止することができます。
注意
プライマリサーバとスタンバイサーバのMirroring Controllerの起動順序は保証しません。プライマリサーバの起動を確認したあとに、スタンバイサーバの起動を順次行って起動順序を保証してください。
以下の手順で行います。
インスタンス管理者ユーザーのOSユーザーの設定
インスタンス管理者ユーザーのOSユーザーでログインした場合に、インスタンスの起動に必要な環境変数を設定します。
この設定は、“su -”コマンドを実行するときに必要です。
シェルスクリプトの編集
サンプルのシェルスクリプトをコピーして、シェルスクリプト内の環境変数などを環境に合わせて編集します。
サンプルのシェルスクリプトのパス
/インストールディレクトリ/share/rc_mcoi.sample
シェルスクリプトの複写とアクセス権の設定
OSのスーパーユーザーで、作成したシェルスクリプトを/etc/rc.d/init.d配下に複写してアクセス権を設定します。
例) シェルスクリプトを“rc_mc_inst1”として作成した場合の例を以下に示します。
# cp rc_mc_inst1 /etc/rc.d/init.d/ # chmod 755 /etc/rc.d/init.d/rc_mc_inst1
自動起動・停止の登録と有効化
OSのスーパーユーザーで、chkconfigコマンドを使用してシェルスクリプトの登録と有効化を行います。登録と有効化を行うには、以下のオプションを指定してください。
オプション | 内容 |
---|---|
--add | 起動スクリプトとしてシェルスクリプトを登録します。 |
--level | 各ラン・レベルにおける起動スクリプトの設定と有効化を行います。 |
例) シェルスクリプトを登録してラン・レベル3と5に対して有効化した場合の例を以下に示します。
# chkconfig --add rc_mc_inst1 # chkconfig --level 35 rc_mc_inst1 on
以下の手順で行います。
unitファイルの作成
以下に格納されているunitファイルのサンプルをコピーして、対象とするインスタンスにあわせて修正します。
サンプルファイルのパス
/インストールディレクトリ/share/mcoi.service.sample
例)
インストールディレクトリが“/opt/fsepv<xy>server64”、インスタンス名を“inst1”とした場合の例を示します。
# cp /opt/fsepv<xy>server64/share/mcoi.service.sample /usr/lib/systemd/system/mcoi_inst1.service
unitファイルは、以下のオプションの下線部分を修正します。
セクション | オプション | 指定値 | 説明 |
---|---|---|---|
Unit | Description | FUJITSU Enterprise Postgres Mirroring Controller <インスタンス名> | 機能概要を記述します。 対象とするインスタンス名を記述します。(注) |
Service | ExecStart | /bin/bash -c 'インストールディレクトリ/bin/mc_std start インストールディレクトリ Mirroring Controller管理ディレクトリ' mc_ctlオプション | サービスの起動時に実行するコマンドを指定します。 mc_ctlオプションには、mc_ctlコマンドの実行時に追加したいオプションを指定します。 なお、このmc_ctlオプションの指定内容は、指定値のmc_stdコマンドからmc_ctlコマンドに引き継がれます。 |
ExecStop | /bin/bash -c 'インストールディレクトリ/bin/mc_std stop インストールディレクトリ Mirroring Controller管理ディレクトリ' mc_ctlオプション | サービスの停止時に実行するコマンドを指定します。 mc_ctlオプションには、mc_ctlコマンドの実行時に追加したいオプションを指定します。 なお、このmc_ctlオプションの指定内容は、指定値のmc_stdコマンドからmc_ctlコマンドに引き継がれます。 | |
User | ユーザー | インスタンス管理者のOSのユーザーアカウントを指定します。 | |
Group | グループ | インスタンス管理者のユーザーが所属するグループを指定します。 |
注) ここで使用するインスタンス名とは、インスタンスを識別できる名称を指します。
インスタンスを識別するための命名規約は以下です。
16バイト以内
先頭の文字は、ASCIIアルファベット
先頭以外の文字は、ASCIIアルファベット、ASCII数字
自動起動・停止の有効化
OSのスーパーユーザーで、systemctlコマンドを使って自動起動・停止を有効にします。
例)
# systemctl enable mcoi_inst1.service