本文へジャンプ


NSDとは

NSD とは、Domino Server と共にインストールされる障害解析用のツールです。

R5.x 以前のバージョンでは、Windows プラットフォームのデフォルトのデバッガは QNC となっています。


R5.0.8 以前の Windows サーバー上で NSD を実行するためには、別途 NSD をインストールする必要があります。
※ R5.0.9以降では、デフォルトでインストールされています。


なお、Windows 上で NSD を実行する場合には、いくつか注意事項があります。


NSD ログファイル

NSD が出力したファイル (NSD ログ) は、Domino Server の障害を解析する際の資料として、最も基本的で、かつ重要なものです。
NSD ログが、障害の解析に必要な全ての情報を含むわけではありませんが、NSD ログが取得できない場合、障害の解析が非常に困難になります。

NSD ログの中でも、主に、スタックトレースの情報は、Notes/Domino の動作を読み取る上で重要です。

No. NSD に含まれる内容 確認できる情報
1 ヘッダ情報 Notes バージョン、デバッガのバージョン、ファイルディレクトリ
2 スタックトレース情報 クラッシュ原因となったプロセス ID、スレッド、カーネル ID
3 process tree ノーツプロセスは親子関係でプロセスが発生します。プロセスの派生(起動方法)に問題が無いか確認します。
4 ipc stats (UNIX) システム上の共有メモリのセグメントとセマフォのオーナーごとの使用状況を確認します。オーナーとグループに問題が無いか確認します。
5 notes.ini Notes Server の設定値
6 システムインフォメーション PATH,LANG,ノーツが使用する環境変数の設定値
7 環境変数 OS の設定、システムリソースの設定、ユーザ1人当たりの Max プロセス数、パッチ情報
8 仮想メモリと
ネットワーク状態
ノーツ以外のシステム全体のプロセスを確認します。DATA 配下のファイル情報でファイル名、パーミッションを確認します。

iSeries プラットフォームについて

iSeries プラットフォームでは NSD を手動で実行することはできません。 サーバークラッシュ発生時に自動実行されます。



NSD 使用方法 - UNIX/Linux プラットフォーム

NSD ログの取得方法には、サーバーのハングアップ時などに手動で実行する方法と、あらかじめ設定を行っておき、サーバーのクラッシュ時に自動で実行する方法の 2 つがあります。

NSD ログの手動取得方法

  1. ノーツ起動ユーザーでログインします。
  2. Domino server のデータディレクトリに移動します。
  3. 言語の環境を C に設定します。
    (sh, kshの場合)
    # LANG=C
    # export LANG

    (cshの場合)
    # setenv LANG C
  4. 下記のコマンドで、nsd.sh を実行します。
    # /opt/lotus/bin/nsd

nsd -kill でサーバーを強制終了させる方法

  1. ノーツ起動ユーザーでログインします。
  2. Domino server のデータディレクトリに移動します。
  3. Domino Server を実行しているユーザーになります。
  4. 言語の環境を C に設定します。
    (sh, kshの場合)
    # LANG=C
    # export LANG

    (cshの場合)
    # setenv LANG C
  5. 下記のコマンドで、nsd.sh を実行します。
    # /opt/lotus/bin/nsd

※注意 Solaris 版 R4.6x サーバーを suid-root で設定している場合、root 権限で Domino が実行されているため、root ユーザーで nsd も実行する必要があります。また nsd を実行する際は /opt/lotus/bin/nsd -user <user name>という形式で -user をつけて実行してください。-kill する場合は /opt/lotus/bin/nsd -user <user name> -kill となります。


障害時の NSD 自動実行方法

障害時の NSD 自動実行方法は、Notes/Domino のバージョンによって異なります。現在ご使用の Domino のバージョンを確認し、設定を行ってください。

設定

  1. 6.5

    サーバー文書の [基本] タブ - [Fault Recovery] の [診断情報を収集するために NSD を実行] にチェックを入れて設定を有効にします。

  1. 6

    サーバー文書の [基本] タブ - [Fault Recovery] の [サーバーの障害/クラッシュのあとに実行するスクリプト] フィールドに、NSD もしくは NSD を実行するシェルスクリプトを記述します。

  1. R5.x

    NOTES.INI で設定を行います。"CleanupScriptPath=" で NSD もしくは NSD を実行するシェルスクリプトを記述します。



NSD 使用方法 - Windowsプラットフォーム

NSD のインストール方法

R5.0.8 以前の Windows サーバー上で NSD を実行するためには、別途 NSD をインストールする必要があります。
※ R5.0.9以降では、デフォルトでインストールされています。

  1. Lotus Customer Support にお問合せの上、現在使用している Notes/Domino のバージョンと同じバージョンの NSD.EXE および PSAPI.DLL を入手します。
    Windows 2000 の場合は、NSD.EXE のみを入手します。
  2. PSAPI.DLL を、PATH で指定されている任意のディレクトリへコピーします。
    例:C:\winnt\system32
  3. NSD.EXE をノーツ/ドミノのデータディレクトリにコピーします。
    (パーティションサーバーの場合はそれぞれのデータディレクトリにコピーします。)

※MEMCHECK.EXE も入手した場合は、ファイルをノーツ/ドミノのデータディレクトリにコピーします。
(パーティションサーバーの場合はそれぞれのデータディレクトリにコピーします。)



NSD ログの取得方法には、サーバーのハングアップ時などに手動で実行する方法と、あらかじめ設定を行っておき、サーバーのクラッシュ時に自動で実行する方法の 2 つがあります。

NSD ログの手動取得方法

  1. Domino server のデータディレクトリに移動します。
  2. nsd.exe を実行します。

以下のファイルが作成されます。

nsd_<オプション>_<platform>_<host name>_<month>_<day>@<hour>_<minutes>.log (ex.) nsd_all_SUNSPA_oslo_06_08@13_45.log

nsd -kill でサーバーを強制終了させる方法

  1. Domino server のデータディレクトリに移動します。
  2. nsd.exe -kill を実行します。


障害時の NSD 自動実行方法

障害時の NSD 自動実行方法は、Notes/Domino のバージョンによって異なります。現在ご使用の Domino のバージョンを確認し、設定を行ってください。

設定

  1. 6.5

    サーバー文書の [基本] タブ - [Fault Recovery] の [診断情報を収集するために NSD を実行] にチェックを入れて設定を有効にします。

  1. 6

    特に設定を行う必要はありません。デフォルトの状態でサーバークラッシュ時に自動的に実行されます。

  1. R5.x

    1. DOS プロンプトから Domino Server のプログラムディレクトリに移動し、NSD -i -auto と入力します。(これにより、デフォルトのデバッガが QNC から NSD に変更されます。)
    2. レジストリエディタにて、"マイコンピュータ\HKEY_LOACAL_MACHINE\SOFTWARE\ Microsoft\WindowsNT\CurrentVersion\AeDebug" の "Debugger" に NSD が設定され、"Auto" に 1 が設定されたことを確認します。
    3. サーバークラッシュ時に NSD の自動実行が終了すると、画面上に "NSD" というプロンプトが表示されていますので、"kill" と入力してドミノのプロセスを強制終了させます。
    4. "quit" と入力して NSD を終了させます。


Windows 上で NSD を実行する場合の注意事項

  1. NSD 実行後は再起動が必要です。

    スレッドコールスタックを見つけるために、NSD はデバッガとしてプロセスにアタッチしなければなりません。
    現在 Windows上では、プログラムが一度それを手に入れた場合、その後解放することができません。
    また NSD プログラムはプロセスが終了しない限り終わらせることができないので、ターゲットとなっているサーバー/クライアントは運用不可能な状態になり、再起動が必要となります。
  2. 複数の NOTES.INI がある場合

    ローカルハードディスクに複数の NOTES.INI がある場合、NSD は実行に失敗します。その場合は次の -ini オプション付きで実行してください。

    例)>nsd -ini c:\Domino\data\notes.ini
 
Lotus software