当記事は、コミュニティ掲載記事執筆者募集よりご寄稿いただいた記事となります。
柔軟なプロセス管理につながるTipsを詳細な手順と共にご紹介いただきます。
柔軟なプロセス管理につながるTipsを詳細な手順と共にご紹介いただきます。
はじめに
はじめまして、株式会社イーセクターのHULFTサポート担当です。
(弊社では、20年以上HULFTのサポートを行っており、現在200社以上のHULFTユーザ様と契約しています。)
RedHat7からSystemdという新しいシステム管理機能となりました。
その新しい機能によるHULFTデーモンを自動起動・自動停止する設定手順を記事にしたいと思います。
なお、下記は、方針・前提となります。
また、本記事に関するご意見・ご質問は、下部コメント欄、コミュニティ、もしくはお問い合わせ窓口にお寄せ下さい。
(弊社では、20年以上HULFTのサポートを行っており、現在200社以上のHULFTユーザ様と契約しています。)
RedHat7からSystemdという新しいシステム管理機能となりました。
その新しい機能によるHULFTデーモンを自動起動・自動停止する設定手順を記事にしたいと思います。
なお、下記は、方針・前提となります。
- Systemdの操作に慣れることも考慮し、HULFT専用のシェルスクリプトを作成しません。
- OS停止時にHULFTデーモンが確実に自動停止したことを確認するため、HULFTデーモン起動・停止時のログを保存するようにします。
- HULFT8 for Linux-Enterpriseを /opt/hulft へインストールしたこととします。
(HULFT8 for Linux-Standerdに対応していないことをご了承ください。)
また、本記事に関するご意見・ご質問は、下部コメント欄、コミュニティ、もしくはお問い合わせ窓口にお寄せ下さい。
手順
- デフォルトターゲット(SysVinitにおけるランレベル)を確認
HULFTデーモンの起動は、システムの初期が終了した後とすることから、作業対象のシステムのデフォルトターゲットを確認します。
「graphical.target」は、後の作業で使用するため、メモします。
※今回の手順は、「graphical.target」環境で実施しています。$ systemctl get-default
graphical.target - HULFT用環境ファイル(EnvironmentFile)を作成
HULFTデーモンを起動する前にHULFT用の環境変数を設定します。
今回は、HULFT専用のシェルスクリプトを使用しないため、HULFT用環境ファイルを作成します。
/etc/sysconfig ディレクトリに移動します。$ cd /etc/sysconfigHULFT用環境設定ファイル(hulft)を作成します。$ sudo vi hulft※hulftファイルの中は、以下のように記載します。# EnvironmentFile of hulsndd, hulrcvd, hulobsd
HULPATH=/opt/hulft/etc
HULEXEP=/opt/hulft/bin
PATH=/opt/hulft/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin - HULFT用Unitファイルの作成
HULFTデーモンを自動起動・自動停止するためのUnitファイルを作成します。
配信・集信・要求受付で合計3ファイル作成します。
/etc/systemd/systemディレクトリに移動します。$ cd /etc/systemd/system/配信デーモン用のUnitファイルを作成します。$ sudo vi hulsndd.service※hulsndd.serviceファイルの中は、以下のように記載します。集信デーモン用のUnitファイルを作成します。[Unit]
Description=HULFT Send Daemon
After=graphical.target
[Service]
EnvironmentFile=/etc/sysconfig/hulft
ExecStart=/bin/sh -c "hulclustersnd -start -m && ps -ef f | grep \
[h]ulsndd | grep -v '\\\\_' | awk '{printf $2}' >/var/run/hulsndd.pid"
ExecStop=/opt/hulft/bin/hulclustersnd -stop -f -m
PIDFile=/var/run/hulsndd.pid
Type=forking
Restart=no
LimitCORE=infinity
[Install]
WantedBy=graphical.target$ sudo vi hulrcvd.service※hulrcvd.serviceファイルの中は、以下のように記載します。要求受付デーモン用のUnitファイルを作成します。[Unit]
Description=HULFT Receive Daemon
After=graphical.target
[Service]
EnvironmentFile=/etc/sysconfig/hulft
ExecStart=/bin/sh -c "hulclusterrcv -start -m && ps -ef f | grep \
[h]ulrcvd | grep -v '\\\\_' | awk '{printf $2}' >/var/run/hulrcvd.pid"
ExecStop=/opt/hulft/bin/hulclusterrcv -stop -f -m
PIDFile=/var/run/hulrcvd.pid
Type=forking
Restart=no
LimitCORE=infinity
[Install]
WantedBy=graphical.target$ sudo vi hulobsd.service※hulobsd.serviceファイルの中は、以下のように記載します。[Unit]
Description=HULFT Request Acknowledge Daemon
After=graphical.target
[Service]
EnvironmentFile=/etc/sysconfig/hulft
ExecStart=/bin/sh -c "hulclusterobs -start -m && ps -ef f | grep \
[h]ulobsd | grep -v '\\\\_' | awk '{printf $2}' >/var/run/hulobsd.pid"
ExecStop=/opt/hulft/bin/hulclusterobs -stop -f -m
PIDFile=/var/run/hulobsd.pid
Type=forking
Restart=no
LimitCORE=infinity
[Install]
WantedBy=graphical.target - 作成したUnitファイルの有効化
[3.]で設定した内容を有効化します。
配信デーモン用ユニットファイルを有効化します。$ sudo systemctl enable hulsndd.service集信デーモン用ユニットファイルを有効化します。
Created symlink from /etc/systemd/system/graphical.target.wants/hulsndd.service to /etc/systemd/system/hulsndd.service.$ sudo systemctl enable hulrcvd.service要求受付デーモン用ユニットファイルを有効化します。
Created symlink from /etc/systemd/system/graphical.target.wants/hulrcvd.service to /etc/systemd/system/hulrcvd.service.$ sudo systemctl enable hulobsd.service
Created symlink from /etc/systemd/system/graphical.target.wants/hulobsd.service to /etc/systemd/system/hulobsd.service. - 有効化されたことを確認
念のため、有効化されたことを確認します。$ sudo systemctl list-unit-files -t service | grep hul
hulobsd.service enabled
hulrcvd.service enabled
hulsndd.service enabled - systemdの起動
起動する場合、[4.]で使用したコマンドの[enable]を[start]に置き換えてコマンドを実行します。
配信デーモン用ユニットを起動します。$ sudo systemctl start hulsndd.service集信用デーモン用ユニットを起動します。$ sudo systemctl start hulrcvd.service要求受付デーモン用ユニットを起動します。$ sudo systemctl start hulobsd.service - systemdの停止
停止する場合、[4.]で使用したコマンドの[enable]を[stop]に置き換えてコマンドを実行します。
配信デーモン用ユニットを停止します。$ sudo systemctl stop hulsndd.service集信用デーモン用ユニットを停止します。$ sudo systemctl stop hulrcvd.service要求受付デーモン用ユニットを停止します。$ sudo systemctl stop hulobsd.service - ジャーナル保存用ディレクトリ作成
デフォルトで (/etc/systemd/journald.conf 内のStorage= に auto 指定)、journal は /var/log/journal/ へ書き込みを行います。$ sudo mkdir /var/log/journal - ジャーナル保存の上限設定
ジャーナルファイルが大きいと困るので、上限を設定します。$ cp -p /etc/systemd/journald.conf /etc/systemd/journald.conf.org
$ vi /etc/systemd/journald.conf※journald.confファイルの中は、以下のように記載します。【略】
SystemMaxUse=300M
【略】 - 設定反映
ジャーナルを再起動することで、設定を反映します。$ sudo systemctl restart systemd-journald - HULFTデーモン起動・停止のジャーナルを表示
HULFTデーモン起動・停止のジャーナルを確認します。
なお、ページャーを使用しない場合、"--no-pager"を指定します。
配信デーモンのジャーナルを確認します。$ sudo journalctl -u hulsndd.service -l --no-pager集信デーモン用のジャーナルを確認します。$ sudo journalctl -u hulrcvd.service -l --no-pager要求受付デーモン用のジャーナルを確認します。$ sudo journalctl -u hulobsd.service -l --no-pager - 日時指定でジャーナルを表示
日時指定をする場合、下記のようなコマンドで可能です。
配信デーモンのジャーナルを確認します。$ sudo journalctl -u hulsndd.service --since="2019-07-01 00:00:00" --until="2099-08-05 00:00:00" -l --no-pager集信デーモン用のジャーナルを確認します。$ sudo journalctl -u hulrcvd.service --since="2019-07-01 00:00:00" --until="2099-08-05 00:00:00" -l --no-pager要求受付デーモン用のジャーナルを確認します。$ sudo journalctl -u hulobsd.service --since="2019-07-01 00:00:00" --until="2099-08-05 00:00:00" -l --no-pager - ジャーナル出力先にて使用している容量確認
現時点での使用容量を確認します。$ sudo journalctl -u systemd-journald -n 2 -l --no-pager
さいごに
本記事の内容が、みなさんのHULFT構築場面でお役に立てば幸いです。
なお、私が所属するイーセクターではRPA等も取り揃えております。
「イーセクター RPA」で検索をお願いいたします。
なお、私が所属するイーセクターではRPA等も取り揃えております。
「イーセクター RPA」で検索をお願いいたします。
コメント