データベースサーバのOSの起動・停止に合わせて、インスタンスを自動的に起動・停止することができます。
以下に示す手順に従って、インスタンスの自動起動・停止の設定を行ってください。
なお、フェイルオーバ運用においてインスタンスを動作させる場合は、クラスタシステムが起動停止を制御するので、本機能を使用しないでください。また、データベース多重化運用を行う場合には、“クラスタ運用ガイド(データベース多重化編)”の“多重化したインスタンスとMirroring Controllerの自動起動・停止の設定”を参照してください。
パスに記載されている“<x>”は、製品のバージョンを示します。
インスタンス管理者のOSユーザーアカウントの設定
インスタンス管理者のOSユーザーアカウントでログインした場合に、インスタンスの起動に必要な環境変数を設定するようにします。
シェルスクリプトの作成
以下に格納されているシェルスクリプトのサンプルを、/etc/init.d配下に複写し、アクセス権を設定して登録します。また、シェルスクリプトは対象とするインスタンスにあわせて修正します。
FUJITSU Enterprise Postgresのインストールディレクトリ/share/rc_fsepsvoi.sample
修正する内容は、以下です。
“SYMDATA”変数は、データ格納先ディレクトリを設定してください。
“SYMUSER”変数は、手順1で説明したインスタンス管理者のOSユーザーアカウントを設定してください。
“LOCKFILE”変数の“/var/lock/subsys”配下のファイル名は、シェルスクリプト名と同じにしてください。
インストールディレクトリが“/opt/fsepv<x>server64”、シェルスクリプトを“rc_fsepsvoi_inst1”として作成した場合の例を示します。
# cp /opt/fsepv<x>server64/share/rc_fsepsvoi.sample /etc/init.d/rc_fsepsvoi_inst1
# chmod 755 /etc/init.d/rc_fsepsvoi_inst1
自動起動・停止の登録と有効化
OSのスーパーユーザーで、chkconfigコマンドを使って登録と有効化をします。
“chkconfig --add”で登録し、“chkconfig --level”でランレベルの設定と有効化を行います。
# chkconfig --add rc_fsepsvoi_inst1 # chkconfig --level 35 rc_fsepsvoi_inst1 on
注意
systemdを使用してインスタンスを起動する場合、時刻補正やネットワーク環境の開設などを待ち合わせるようにしてください。
unitファイルの作成
以下に格納されているunitファイルのサンプルを複写し、対象とするインスタンスにあわせて修正します。
FUJITSU Enterprise Postgresのインストールディレクトリ/share/fsepsvoi.service.sample
インストールディレクトリが“/opt/fsepv<x>server64”、インスタンス名を“inst1”とした場合の例を示します。
# cp /opt/fsepv<x>server64/share/fsepsvoi.service.sample /usr/lib/systemd/system/fsepsvoi_inst1.service
unitファイルは、以下のオプションの下線部分を修正します。
セクション | オプション | 指定値 | 説明 |
---|---|---|---|
Unit | Description | FUJITSU Enterprise Postgres <インスタンス名> | 機能概要を記述します。 対象とするインスタンス名を記述します。(注) |
Service | ExecStart | /bin/bash -c 'インストールディレクトリ/bin/pgx_symstd start インストールディレクトリ データ格納先ディレクトリ' | サービスの起動時に実行するコマンドを指定します。 |
ExecStop | /bin/bash -c 'インストールディレクトリ/bin/pgx_symstd stop インストールディレクトリ データ格納先ディレクトリ' | サービスの停止時に実行するコマンドを指定します。 | |
ExecReload | /bin/bash -c 'インストールディレクトリ/bin/pgx_symstd reload インストールディレクトリ データ格納先ディレクトリ' | サービスの停止時に実行するコマンドを指定します。 | |
User | ユーザー | インスタンス管理者のOSのユーザーアカウントを指定します。 | |
Group | グループ | インスタンス管理者のユーザーが所属するグループを指定します。 |
注) ここで使用するインスタンス名とは、以下です。
WebAdminを使用してインスタンスを作成した場合 : インスタンス名
initdbコマンドを使用してインスタンスを作成した場合 : インスタンスを識別できる名称
インスタンス名およびインスタンスを識別するための命名規約は以下です。
16バイト以内
先頭の文字は、ASCIIアルファベット
先頭以外の文字は、ASCIIアルファベット、ASCII数字
自動起動・停止の有効化
OSのスーパーユーザーで、systemctlコマンドを使って自動起動・停止を有効にします。
# systemctl enable fsepsvoi_inst1.service