RHEL環境においてSystemManagerGのサービスが異常終了した場合に、コアダンプを出力するよう設定する方法について説明します。
インストール時のサービス設定ではコアダンプを出力しない設定となっており、障害発生時のお問い合わせで調査が難航する可能性があります。そのため以下の手順を実施していただき、SystemManagerGのサービスがコアダンプを出力するよう設定することを推奨いたします。
以降の手順ではSystemManagerGのサービスごとに、coreファイルの出力上限サイズを指定します。なお実際に出力されるcoreファイルは、設定した上限サイズを超えることがあります。そのため、coreファイルが出力されるディレクトリ(デフォルトではインストールディレクトリ)は余裕を持って空き領域を確保していただくか、もしくは上限サイズの設定値に余裕を持たせた値を指定してください。また以降の手順では上限サイズを指定せずすべての情報をcoreファイルに出力させるケースの記載もあります。その場合は、運用状況にもよりますがファイルサイズが十数GBに達する場合もありますのでディスクの空き領域を十分確保していただくようお願いいたします。
【マネージャ】
・RHEL7/8 (systemd) の場合
下記ファイルのServiceセクションにLimitCORE(単位:バイト数)の設定を、以下の★の行のように追記します。(実際には★は不要です。)
以下の例では8GBとして設定しています。なおサイズ上限を設定せず、すべての情報を出力させる場合は 「LimitCORE=infinity」 と指定します。
以下の例はAPIGatewayサービスを例としていますが、全コンポーネント(後述)のファイルに追記してください。
■修正イメージ
/etc/systemd/system/msc_apigateway.service
--------------------------------
[Service]
:
LimitCORE=8589934592 ★
--------------------------------
■修正対象ファイル
・/etc/systemd/system/msc_*.service
・/etc/systemd/system/ServiceGovernor.service
・/usr/lib/systemd/system/universal-scheduler.service
全コンポーネントのファイルを編集後、編集内容を読み込ませサービスを再起動します。
ここでもAPIGatewayサービスを例としていますが、上記の編集を行ったコンポーネントすべての再起動が必要です。
各コンポーネントの再起動の手順はインストールガイド「付録 A 製品の起動・停止方法」をご参照ください。
# systemctl daemon-reload
# systemctl restart msc_apigateway
【エージェント (通常エージェント, 論理エージェント)】
・RHEL7/8 (systemd) の場合
マネージャと同様の手順です。対象ファイルは以下です。
■修正対象ファイル
/etc/systemd/system/msc_agent.service
/etc/systemd/system/msc_logical_agent.service
・RHEL5/6 (init.d) の場合
サービス起動停止スクリプトに「ulimit -c <ブロック数>」を追記します。
以下の例では1GBとして設定しています。なおサイズ上限を設定せず、すべての情報を出力させる場合は 「ulimit -c unlimited > /dev/null 2>&1」 と指定します。
通常エージェントの場合、以下の★の行を追記しサービスを再起動してください。(実際には★は不要です。)
■修正イメージ
--------------------------------
start(){
echo "Starting ${PROG}"
★ ulimit -c 1048576 > /dev/null 2>&1
/opt/nec/pf/opm/agent/bin/msc_opm --daemon --pidfile ${PID_FILE} > /dev/null
RETVAL=$?
:
--------------------------------
■修正対象ファイル
・/etc/init.d/msc_agent
論理エージェントも同様で、以下の★の行を追記しサービスを再起動してください。
■修正イメージ
--------------------------------
start(){
echo "Starting ${PROG}"
★ ulimit -c 1048576 > /dev/null 2>&1
/opt/nec/pf/opm/logical_agent/bin/msc_opm --daemon --pidfile ${PID_FILE} > /dev/null
RETVAL=$?
:
--------------------------------
■修正対象ファイル
・/etc/init.d/msc_logical_agent
【確認方法】
RHEL7/8、RHEL5/6のいずれの環境でも以下のファイルで設定が反映されていることを確認できます。
プロセス毎のlimitsファイルでコアファイルサイズが指定値になっていることをご確認ください。
/proc/<SysMgrGコンポーネントのプロセスID>/limits
--------------------------------
Limit Soft Limit Hard Limit Units
:
Max core file size 8589934592 8589934592 bytes ★指定値になっていること
--------------------------------