ページの先頭行へ戻る
PRIMECLUSTER Wizard 4.4 for SAP HANA(R) 導入運用手引書
FUJITSU Software

A.2 hvhdb コマンドを登録した Cmdline リソースで異常が発生した場合の障害の切り分け

PRIMECLUSTER システムで異常が発生した場合、“PRIMECLUSTER 導入運用手引書”の“故障リソースの検出”の手順に従い、異常が発生したリソースを切り分け、リソースに応じた対処を実施します。

hvhdb コマンドを登録した Cmdline リソースで異常が発生した場合、PRIMECLUSTER のログを参照し、SAP HANA のコマンドが異常となっていないかを確認します。SAP HANA のコマンドで異常が発生した場合、そのコマンドが出力したメッセージやコマンドの復帰値を元に、SAP HANA のマニュアルを参照して対処できます。

ログは、RMS の環境変数 RELIANT_LOG_PATH に指定されたディレクトリに保存されています。デフォルトは /var/opt/SMAWRrms/log です。

表A.1 SAP HANA の異常を確認する際に参照するログ

ログの名称

ログファイル名

ログの内容

hvhdb チェックスクリプトログ

ファイル名の末尾は _hvhdb-m.log

SAP HANA インスタンスやシステムレプリケーションの監視処理で採取されるログです。新たなリソース状態と判断するきっかけとなった処理のログが出力されます。
正常に動作していた SAP HANA インスタンスが意図せず急に停止してリソース異常になった場合は、本ログの SAP HANA コマンドの出力結果を基に SAP HANA のマニュアルを参照して対処してください。

アプリケーションログ

ファイル名に小文字のクラスタアプリケーション名が含まれ、かつ、拡張子が .log

クラスタアプリケーションの起動や停止、切替え処理中に実行されたコマンドのログが格納されています。
クラスタアプリケーションの起動や停止で異常が発生した場合は、本ログの SAP HANA コマンドの出力結果を基に SAP HANA のマニュアルを参照して対処してください。

SAP HANA のコマンドが出力したメッセージとコマンドの復帰値は、以下の手順で確認します。

  1. hvhdb コマンドを登録した Cmdline リソースが異常となった時刻を、“PRIMECLUSTER 導入運用手引書”の“故障リソースの検出”の手順で確認します。

  2. 異常が発生したノードへログインします。

  3. PRIMECLUSTER のログ格納ディレクトリへカレントディレクトリを移動します。

    # cd /var/opt/SMAWRrms/log
  4. ls -l コマンドでログのファイル名を確認し、以下の 2 つのログが存在することを確認します。

    (1) hvhdb チェックスクリプトログ (ファイル名末尾が~_hvhdb-m.log のファイル)

    (2) アプリケーションログ (ファイル名が <クラスタアプリケーション名>.log )

    例:クラスタアプリケーションが HANAPRD の場合のログ格納ディレクトリの ls コマンドの結果

    # ls -l
    total 80
    drwxr-xr-x 2 root root  4096 Jan 14 21:26 2016-01-11_19:47:49
    drwxr-xr-x 2 root root  4096 Jan 14 21:56 2016-01-14_21:26:20
    drwxr-xr-x 2 root root  4096 Jan 16 06:32 2016-01-14_21:56:12
    drwxr-xr-x 2 root root  4096 Jan 17 12:53 2016-01-16_06:32:14
    -rw-r--r-- 1 root root 10348 Jan 17 15:29 ManageProgram001_Cmd_HANAPRD_hvhdb-m.log ...(1)
    -rw-r--r-- 1 root root 24486 Jan 17 13:29 bmlog
    -r--r--r-- 1 root root  6305 Apr 15  2015 errorcodes.txt
    -r--r--r-- 1 root root 36313 Jan 17 15:28 hanaprd.log ...(2)
    -rw-r--r-- 1 root root   542 Jan 17 14:00 hvcleanupnfs.log
    -rw-r--r-- 1 root root   960 Jan 17 12:53 hvdet_system.g0log
    -rw-r--r-- 1 root root   952 Jan 17 12:53 hvdet_system.g1log
    -rw-r--r-- 1 root root   518 Jan 17 12:53 hvdet_system.g2log
    -rw-r--r-- 1 root root    98 Jan 17 12:53 rcstartlog
    -rw-r--r-- 1 root root 10348 Jan 17 13:29 switchlog
    -rw-r--r-- 1 root root     0 Jan 17 12:53 tracelog
  5. hvhdb チェックスクリプトログとアプリケーションログを確認します。

    事象発生時の時刻を参考に、ログの以下のメッセージと出力時刻から、実行されたコマンドの処理結果を確認します。

    NOTICE: Invoking <実行コマンド>                           (1)
    NOTICE: <実行コマンド> exited with the code <復帰値>.     (2)
     または                                                   (2)
    ERROR: <実行コマンド> exited with the code <復帰値>.      (2)

    (1) は、<実行コマンド> を実行する直前の時刻です。また、<実行コマンド> に出力された文字列が実行したコマンドです。

    (2) は、(1) で実行された <実行コマンド> が終了した時点で出力されるログです。<復帰値> は <実行コマンド> が終了したときの復帰値です。

    (2) のメッセージは、復帰値 0 となることが期待される場合は ERROR、0 以外の復帰値も想定される場合に NOTICE として出力されます。

    (1) と (2) の間に出力されているメッセージは、<実行コマンド> が出力したメッセージです。

    hvhdb チェックスクリプトログの例

    以下のログの例では、2016-01-17 12:21:39.939 に起動された「su - prdadm -c "sapcontrol -nr 00 -function GetProcessList"」というコマンドが、同日の12:21:39.990に終了コード4で終了したことがわかります。

            :
    ManageProgram001_Cmd_APP1: Detector: 2016-01-17 12:21:39.939: NOTICE: Invoking su - prdadm -c "sapcontrol -nr 00 -function GetProcessList"
    
    17.01.2016 12:21:39
    GetProcessList
    OK
    name, description, dispstatus, textstatus, starttime, elapsedtime, pid
    hdbdaemon, HDB Daemon, GRAY, Stopped, , , 9332
    ManageProgram001_Cmd_APP1: Detector: 2016-01-17 12:21:39.990: NOTICE: su - prdadm -c "sapcontrol -nr 00 -function GetProcessList" exited with the code 4.
    The next state is Offline.:
              :

    アプリケーションログの例

    以下のログでは、クラスタアプリケーションが Standby になる際に実行したコマンド「su - prdadm -c "sapcontrol -nr 00 -function WaitforStarted 3600 10"」が復帰値 2 で終了している例です。sapcontrol コマンドが”FAIL: process hdbdaemon HDB Daemon not running”と出力していることもログから判断できます。

            :
    ManageProgram001_Cmd_APP1: Standby: 2016-01-18 09:38:08.453: NOTICE: Invoking su - prdadm -c "sapcontrol -nr 00 -function WaitforStarted 3600 10".
    
    18.01.2016 09:38:28
    WaitforStarted
    FAIL: process hdbdaemon HDB Daemon not running
    ManageProgram001_Cmd_APP1: Standby: 2016-01-18 09:38:28.522: ERROR: su - prdadm -c "sapcontrol -nr 00 -function WaitforStarted 3600 10" exited with the code 2.
  6. 異常発生時刻のメッセージがログファイル中に見つからない場合、またはファイルがない場合

    PRIMECLUSTER のログ格納ディレクトリ配下にある日付時刻を名前とするディレクトリ配下に、事象発生時刻のログが格納されていないかも確認してください。事象発生後、OS を再起動したり RMS を再起動した場合は、RMS 起動時に日付時刻を名前とするサブディレクトリにログが移動されています。