管理の手引き


AFS パフォーマンスのモニターおよび監査

AFS は、3 つの主要なモニター・ツールを備えています。

AFS は、AIX を実行するファイル・サーバー・マシン上での AFS イベントを監査するためのツールも提供します。


説明の要約

この章では、指示されたコマンドを使用して次のタスクの実行方法を説明します。
scout プログラムの初期化 scout
トレース・ログに関する情報の表示 fstrace lslog
イベント・セットに関する情報の表示 fstrace lsset
トレース・ログのサイズの変更 fstrace setlog
イベント・セットの状態の設定 fstrace setset
トレース・ログの内容のダンプ fstrace dump
トレース・ログの消去 fstrace clear
afsmonitor プログラムの初期化 afsmonitor


scout プログラムの使用

scout プログラムは、ファイル・サーバー・マシン上で実行されるファイル・サーバー・プロセスの状況をモニターします。これは、指定した一連のファイル・サーバー・プロセスの統計を集めて、これをグラフィカル形式で表示し、構成可能なしきい値を超える統計がある場合は警告します。

具体的に scout プログラムには、以下の機能があります。

システム要件

scout プログラムは、ほとんどの UNIX で標準のユーティリティーとして配布される curses グラフィックス・パッケージにアクセスする AFS クライアント・マシン上で実行します。 scout プログラムは、ダム端末および端末をエミュレートするウィンドウ操作システムのどちらでも実行できますが、出力表示は、反転表示およびカーソルのアドレス指定をサポートするマシンが最も適しています最適な結果を得るには、TERM 環境変数には、正しい端末タイプ、または実際の端末タイプに類似した特性を持つ端末タイプを設定する必要があります。 AIX を実行するマシンでは、TERM を vt100 に設定することをお勧めします (その端末が類似しているものである場合)。その他のオペレーティング・システムに対しては、設定可能な値は、 xtermxtermsvt100vt200、および wyse85 です。

scout プログラムの実行には特権は必要ないため、バイナリーのあるディレクトリー (通常の構成では /usr/afsws/bin ディレクトリー) にアクセスできるユーザーであれば、これを使用することができます。統計を収集するプログラムのプローブは、ファイル・サーバー・プロセスに大きな負荷を課しませんが、バイナリー・ファイルを適切なアクセス制御リスト (ACL) を持つディレクトリーに配置することにより、その使用を制限することができます。

scout プログラムの複数インスタンスを単一のクライアント・マシンで実行することができます。それぞれのインスタンスは、その専用接続上 (そのウィンドウ内) にあります。これはフォアグラウンドで実行する必要があり、これを実行するウィンドウは、割り込みシグナルを除いて追加入力を受け入れません。

scout プログラムは複数のマシンで実行することもでき、その出力は単一マシンで表示ができます。これには制御マシンから他のマシンに telnet 接続をオープンし、それぞれのリモート・ウィンドウでプログラムを初期化します。この場合、-host フラグを scout コマンドに組み込み、各リモート・マシンの名前を出力表示ウィンドウ上部の banner line に表示することができます。 バナー行 を参照してください。

-basename 引き数を使用したドメイン名の指定

前述のように、scout プログラムを使用して、任意の数のファイル・サーバー・マシン上のプロセスをモニターすることができます。すべてのマシンが同一のセルに含まれる場合、そのホスト名はすべて同一のドメイン名サフィックス (ABC Corporation のセルの abc.com など) を持ちます。この場合、-basename 引き数を scout コマンドに使用すると、いくつかの利点があります。

scout 表示のレイアウト

scout プログラムは、統計を専用ウィンドウか、ウィンドウ操作環境が使用できない場合は通常の画面のいずれかで表示します。最適な結果を得るためには、画面が反転表示で表示し、カーソルのアドレス指定を実行するウィンドウまたは画面を使用します。

scout 画面には 3 つの主要な領域の バナー行統計表示領域 および プローブ/メッセージ行 があります。本機能グループでは、その内容および コマンドおよび表示のサンプル に示すグラフィック例を説明します。

バナー行

デフォルトでは、ウィンドウまたは画面の上部のバナー行に文字列 scout が表示され、 scout プログラムが実行中であることを示します。コマンド行で適切なオプションを組み込むことにより、以下の 2 種類の追加情報を表示することができます。

統計表示領域

統計表示領域は、ウィンドウの大半を占め、 6 つの列に分割されます。以下のリストには、ウィンドウ内でこれが左から右に現れる順に説明しています。

Conn
ファイル・サーバー・プロセスとクライアント・マシン間でオープンしている RPC 接続の数を表示します。通常この数は、 4 番目の列の Ws 以上の値となります。この数を Ws 列の値より大きくすることができるのは、そのマシンの各ユーザーは同時にいくつかの異なる接続をオープンすることが可能であり、 1 つのクライアント・マシンは複数のユーザーを扱えるためです。

Fetch
ファイル・サーバー・プロセスが開始されてからクライアント・マシンから受信したフェッチ・タイプの RPC (フェッチ・データ、フェッチ・アクセス・リスト、およびフェッチ状況) の RPC 数を表示します。ファイル・サーバー・プロセスが再始動すると 0 にリセットします。

Store
ファイル・サーバー・プロセスが開始されてからクライアント・マシンから受信した保管タイプの RPC (保管データ、保管アクセス・リスト、および保管状況) の RPC 数を表示します。ファイル・サーバー・プロセスが再始動すると 0 にリセットします。

Ws
最近の 15 分間にファイル・サーバー・プロセスと通信したクライアント・マシン (ワークステーション) の数を表示します (このようなマシンは、 アクティブ と呼ばれます)。 1 つのクライアント・マシンが 1 つのファイル・サーバー・プロセスに対して複数の接続をオープンすることができるため、この数値が Conn 列の数値より小さくなる可能性があります。

[Unlabeled column]
ファイル・サーバー・プロセスが実行されているファイル・サーバー・マシンの名前を表示します。幅は 12 文字です。これより文字数が長い名前は切り捨てられ、最後の文字にアスタリスク (*) が表示されます。すべてのマシンが同一のドメイン名サフィックスの場合は、-basename 引き数を使用して切り捨てを行わなくてもよいようにします。-basename 引き数を使用したドメイン名の指定 を参照してください。

Disk attn
最大 26 までのファイル・サーバー・マシンの AFS サーバー (/vicep) パーティションで使用可能なブロックの K バイト数を表示します。各パーティションは次のように表示されます。

      partition_letter:free_blocks

たとえば、a:8949 は、パーティション /vicepa には 8,949 KB の空きがあることを示します。ウィンドウの幅がすべてのパーティション項目を 1 行で表示するには狭すぎる場合は、scout プログラムは自動的にパーティションの項目を6 番目の列内のサブ列にスタックします。

Disk attn 列のラベルは、列内の項目が強調表示されるしきい値を示します。デフォルトでは、scout プログラムは 95% 以上使用されているパーティションを強調表示し、この場合のラベルは以下のようになります。

   Disk attn: > 95% used

このしきい値およびその強調表示との関係についての詳細は、 重要な統計の強調表示 を参照してください。

5 番目 (ファイル・サーバー・マシン名) 以外のすべての列に対しては、 -attention 引き数を使用してしきい値を設定し、この値を超えるものについては scout プログラムが統計を強調表示するようにできます。デフォルトでは、強調表示されるのは 5 番目および 6 番目の列の値のみです。 -attention 引き数の使用法については、 重要な統計の強調表示 を参照してください。

プローブ、レポート作成行

画面下部の行には、scout がファイル・サーバー・プロセスを統計のために何回プローブしたかを示します。統計表示領域には、最新のプローブによって収集された統計が表示されます。デフォルトでは、scout プログラムはファイル・サーバーを 60 秒ごとにプローブしますが、 -frequency 引き数を使用して別のプローブ頻度を指定することができます。

重要な統計の強調表示

現在しきい値を超える統計に注目できるよう、 scout プログラムはこれは反転表示 (強調表示) します。ほとんどの統計に対してしきい値が設定でき、特別な注意が必要な値と正常な値を判別することができます。

サーバー障害の強調表示

5 番目の列のみ、強調表示を制御することができません。この列で識別するファイル・サーバー・マシンについては、別の列に統計が表示されます。あるマシンのファイル・サーバー・プロセスがプローブへの応答に失敗すると、 scout プログラムはこの列を強調表示して、他の列の値を空白にします。プローブへの応答が失敗した場合には、ファイル・サーバー・プロセス、ファイル・サーバー・マシン、またはネットワークの障害が示されている可能性があるため、強調表示によりユーザーへのサービスの障害となる状況に注意を向けるようにします。

ファイル・サーバー・プロセスが再びプローブに応答すると、その名前が正常に表示され、他の行に再度統計が表示されます。一度にすべてのマシン名が強調表示される場合は、ネットワーク障害によってファイル・サーバー・マシンと scout プログラムを実行しているクライアント・マシンとの接続が中断した可能性があります。

極端な統計値の強調表示

5 つの統計表示行の 1 つ以上の行にしきい値を設定するには、 -attention 引き数を使用します。しきい値は、モニターするすべてのファイル・サーバー・プロセスに適用されます (異なるマシンに異なるしきい値は設定できません)。詳細は、 scout プログラムの起動 の構文記述を参照してください。

実行中の scout プログラムに対し、しきい値を変更することはできません。現行のプログラムを停止して、新規に開始します。また、scout プログラムは再始動にあたりしきい値を保存しないため、プログラムを開始するごとにしきい値を指定しなくてはなりません。

scout の表示サイズ変更

scout プログラムの実行中は、表示ウィンドウのサイズを変更しないでください。サイズを大きくしても問題はありませんが、scout プログラムは必ずしも新規のサイズに調整されるとは限りません。表示幅を縮小すると、列の位置合わせが乱れる場合があり、表示が読みづらくなります。どのようなサイズ変更を実行しても、scout プログラムは、次のプローブの結果を表示するまでは表示の調整を全く行いません。

表示サイズを効率よく変更する場合は、scout プログラムを停止させてからウィンドウのサイズを変更し、それからプログラムを再始動します。この場合でも、表示環境から受け取る情報の正確さに応じて、サイズ変更に対する scout プログラムの反応は異なります。開発段階でのテストでは、表示環境がウィンドウのサイズ変更についての信頼できる情報を提供しないことが判明しています。 X ウィンドウ・システムを使用する場合は、以下のコマンドのシーケンスを scout プログラムを開始 (またはコマンドをシェル初期化ファイルに配置) する前に実行すると、サイズ変更を適切に調整することができます。

   % set noglob
   % eval '/usr/bin/X11/resize' 
   % unset noglob

scout プログラムの起動

  1. 専用のコマンド・シェルを開きます。必要であれば、これを適当なサイズに変更します。
  2. scout コマンドを発行して、プログラムを起動します。

       % scout  [initcmd]  -server <FileServer name(s) to monitor>+  \
                [-basename <base server name>]  \
                [-frequency <poll frequency, in seconds>] [-host]  \
                [-attention <specify attention (highlighting) level>+]  \
                [-debug <turn debugging output on to the named file>]
    

    ここで、

    initcmd
    このコマンドが AFS コマンド構文解析プログラムを使用できるようにするオプション文字列です。これは省略して無視することもできます。

    -server
    監視する各ファイル・サーバー・プロセスが実行されているファイル・サーバー・マシンを指定することによって、それらのプロセスを識別します。 -basename 引き数を使用しない場合は、完全修飾したホスト名を使用します。この場合、すべてのマシン名に共通のドメイン名サフィックスを省略して、それぞれのマシン名の開始部分のみを指定します。

    -basename
    -server 引き数で指定したすべてのファイル・サーバー・マシンに共通のドメイン名サフィックスを指定します。この引き数についての説明は、 -basename 引き数を使用したドメイン名の指定 を参照してください。

    ドメイン名サフィックスをマシン名の開始部分から分離するピリオドは除外して、サフィックス内のピリオドは入れてください。 (たとえば、 ABC Corporation セルでは、正しい値は abc.com であり、.abc.com ではありません。)

    -frequency
    scout プログラムによるファイル・サーバー・プロセスのプローブ頻度を秒単位で設定します。0 (ゼロ) より大きい整数を指定します。デフォルトは 60 秒です。

    -host
    scout プログラムを実行するマシンの名前を、ウィンドウのバナー行に表示します。デフォルトでは、マシン名は表示されません。

    -attention
    1 つ以上の統計を強調表示するしきい値を定義します。統計としきい値の組み合わせはいずれの順でも指定でき、それぞれの組み合わせおよび組み合わせ内の各部分は 1 つ以上のスペースで区切ります。以下のリストに、それぞれの統計に対する構文を定義します。

    conn connections
    ファイル・サーバーがクライアント・マシンに対しオープンにした接続の数が connections 値を超えた場合、 Conn (最初の) 列の値が強調表示されます。値がしきい値より低くなると、強調表示は解除されます。デフォルトのしきい値はありません。

    fetch fetch_RPCs
    クライアントがファイル・サーバー・プロセスに対して行ったフェッチ RPC の数が fetch_RPCs の値を超えた場合、 Fetch (2 番目の) 列の値が強調表示されます。ファイル・サーバー・プロセスが再始動した場合にのみ、強調表示は解除され、この場合、値はゼロに戻ります。デフォルトのしきい値はありません。

    store store_RPCs
    クライアントがファイル・サーバー・プロセスに対して行った保管 RPC の数が store_RPC の値を超えた場合、Store (3 番目の) 列の値が強調表示されます。ファイル・サーバー・プロセスが再始動した場合にのみ、強調表示は解除され、この場合、値はゼロに戻ります。デフォルトのしきい値はありません。

    ws active_clients
    アクティブ・クライアント・マシン (最近の 15 分間でファイル・サーバーに接触したマシン) の数が active_clients の値を超えた場合、 Ws (4 番目の) 列の値が強調表示されます。値がしきい値より低くなると、強調表示は解除されます。デフォルトのしきい値はありません。

    disk percent_full % または disk min_blocks
    ディスクの使用スペースが percent_full 値で指定したパーセントを超えた場合、または空きブロックの KB 数が min_blocks 値を下回った場合、 Disk attn (6 番目の) 列のパーティションの値が強調表示されます。値が percent_full しきい値を下回る、またはmin_blocks を上回った場合、強調表示は解除されます。

    指定した値は、6 番目の列のヘッダー中、文字列 Disk attn の後に表示されます。デフォルトのしきい値は、 95% です。

    percent_full の受け入れ可能な値は、 0 (ゼロ) から 99 の範囲の整数で、この統計を min_blocks 値と区別するためにパーセント記号を追加します。 .

    以下の例では、Conn 列のしきい値を 100、Ws 列を 50、および Disk attn 列を 75% に設定しています。Fetch および Store 列にはしきい値はありません。

    -attention conn 100 ws 50 disk 75%

    以下の例では、前の例と同じ結果となりますが、 Disk attn 列のしきい値が 5000 KB の空きブロックに設定されています。

    -attention disk 5000 ws 50 conn 100

    -debug
    デバッグの出力を可能にし、その出力を指定したファイルに送信します。パス名の一部は、現行作業ディレクトリーとの関連で解釈されます。デフォルトではデバッグの出力は生成されません。

scout プログラムの停止

  1. 表示ウィンドウで Ctrl-c を入力します。ユーザーの環境で通常使用する割り込みシグナルがこれと異なる場合でも、これが正しい割り込みシグナルとなります。

コマンドおよび表示のサンプル

本機能グループでは、scout プログラムの例を示します。各種引き数の組み合わせによる画面表示が示されています。

最初の例では、ABC Corporation 社の管理者がオプションの引き数またはフラグを何も指定せずに scout コマンドを発行します。複数のマシン名を指定するため、 -server 引き数を指定します。-basename 引き数は使用していませんが、それぞれのマシン名の開始部分について指定します。この際、セルのネーム・サービスにより、 scout プログラムが接続の確立に必要とする完全修飾名を取得します。

   % scout -server fs1 fs2 

図 2 は、結果として示される表示を表しています。最初に気付くのは、5 番目 (ラベルなし) の列に表示されるマシン名は、管理者がコマンド行に入力したとおりに表示されるということです。表示領域の 2 行目 (マシン名 fs2 が 5 番目の列に表示されている) を参照してください。Conn および Ws 列は共に、fs2 がクライアント・マシンとの間で 144 の RPC 接続をオープンしていることを示しており、各クライアントごとに複数の接続が可能であることを示します。Fetch 列は、ファイル・サーバー・プロセスが最後に起動されてから、クライアント・マシンが 2,734,278 のフェッチ RPC を fs2 に対して実行したことを示し、Store 列はクライアント・マシンが 34,066 の保管 RPC を実行したことを示します。

Disk attn 列には 6 つのパーティション項目が表示され、それぞれのパーティションには a から f までの文字が付きます (/vicepa から /vicepf に対して)。これらは、ウィンドウ幅の関係で 2 つのサブ列で 3 行に表示されます。ウィンドウの幅がそれ以上に広い場合は、サブ列の数はこれより多くなります。パーティション項目のうち 4 つ (acd、および e) は反転表示され、それらの項目が 95% 占有 (Disk attn ヘッダーに表示されるしきい値) を超えていることを示しています。

図 2. 最初の例 scout 表示


最初の例 scout 表示

2 番目の例では、管理者は、scout プログラムのオプション引き数をさらに使用しています。

   % scout -server fs1 fs2 -basename abc.com -host -frequency 5 -attention disk 5000 

オプションの引き数を使用すると、図 3図 2 にはいくつかの違いが発生します。最初の違いは、 -host フラグが取り入れられているため、バナー行には、 -basename 引き数で指定されたベース名 abc.com とともに、[client52] として scout プロセスを実行しているマシンの名前が表示されます。

もう 1 つの違いは、その値は 図 2 の場合と同じですが、マシン fs2 のパーティションのうち 4 つではなく 2 つが反転表示されます。これは、管理者が強調表示のしきい値を最低 5000 ブロックに変更したためで、Disk attn 列のヘッダーにも表示されます。マシン fs2 のパーティション /vicepa および /vicepd はまだ 95% 占有ですが、5000 以上の空きブロックを持っています。パーティション /vicepc および /vicepe は空きブロックが 5000 より少ないため強調表示されています。

また、プローブ頻度の変更によって生じる結果にも注目してください。この結果は画面の左下のプローブ/メッセージ行に表示されます。この画面例と例 1 の画面例は共に、管理者が scout コマンドを発行してから 1 分間経過しています。ただし、この例では、scout プロセスがファイル・サーバー・プロセスをプローブした回数が 1 回ではなく 12 回となっています。

図 3. 2 回目の例 scout 表示


2 回目の例 scout 表示

図 4 では、State University セルの管理者はそのセルのファイル・サーバー・マシンの 3 つをモニターします。管理者は -basename 引き数を使用して stateu.edu ドメイン名を指定します。

   % scout -server server2 server3 server4 -basename stateu.edu 

図 4. 3 番目の scout 表示


3 番目の例 scout 表示

図 5 は、scout プログラムの 3 つの機能を説明しています。最初に、異なるセルのファイル・サーバー・マシン (fs1.abc.comserver3.stateu.edu および sv7.def.com) を 1 つの表示でモニターします。これらのマシンは異なるセルに所属するため、 -basename 引き数を指定することはできません。

2 番目に、 5 番目の列に入りきらないマシン名を切り捨てて表示しているようすを示しています。名前の最後にアスタリスクを使用して、これが省略されていることを示しています。

3 番目に、scout プロセスがファイル・サーバー・プロセスに到達できないと、どのような状態になるかを示しています。この場合、マシンのうちの 1 つの sv7.def.com が強調表示され、他の列の値が空白になっています。

図 5. 4 番目の例 scout 表示


4 番目の例 scout 表示


fstrace コマンド・スイートの使用

本機能グループは、システム管理者がデバッグの目的でキャッシュ・マネージャーの活動をトレースするために使用する fstrace コマンドについて説明します。 クライアント・マシンとキャッシュ・マネージャーの管理 に説明されているキャッシュ・マネージャーについて精通しているユーザーを前提としています。

fstrace コマンド・スイートにより、キャッシュ・マネージャーの内部活動をモニターし、その操作を詳細に記録またはトレースすることができます。操作は、イベント と呼ばれますが、 cm イベント・セット より構成されます。 cm イベントの例としては、ファイルのフェッチおよび UNIX ls コマンドを使用した、ファイルおよびサブディレクトリーのリストに対する情報の検索があります。

以下に fstrace コマンドとその機能を示します。

fstrace コマンド・スイートについて

fstrace コマンド・スイートの機能は、 fs debug コマンドが提供する機能に相当し、これを大幅に拡張します。この使用目的は、クライアント・マシンの停止、キャッシュの整合性の問題、クロック同期エラー、およびボリュームまたは AFS ファイルへのアクセス失敗など、キャッシュ・マネージャーの特定の問題の診断を補助することにあります。このため、fstrace ロギングは、 AFS サーバー・プロセスの場合とは異なり、常時使用可能とはしておかない方がよいでしょう。

トレース・ログのほとんどのメッセージは、下位レベルのキャッシュ・マネージャー操作に対応しています。 AFS ソース・コードに習熟している操作員でなければ解釈できない場合が考えられます。 AFS ソース・ライセンスを所有する場合は、ソースを自分自身で解釈するか、または AFS 製品サポート・グループと共同して根底にある問題を解決することができます。 AFS ソース・ライセンスを所有していない場合は、問題が発生したらすぐに AFS 製品サポート・グループに連絡する方が効率的でしょう。 fstrace トレースが適切であれば、これをアクティブにするよう指示がなされます。

ログのサイズはすぐに増大し、ローカル・ファイル・スペースにファイルを書き込む場合は、貴重なディスク・スペースを使用することになります。さらに、ログのサイズが大きくなり過ぎると、結果を解析して関連情報を見つけるのが困難になる場合があります。

AFS を使用可能にし、cm イベントが発生するたびトレース・ログ cmfx にメッセージが書き込まれます。問題を診断するには、トレース・ログの出力を確認してキャッシュ・マネージャーが実行した操作を分析します。トレース・ログのデフォルトのサイズは 60 KB ですが、このサイズは変更することができます。

fstrace コマンド・スイートを使用するためには、まずトレースを使用可能にしてから、 fstrace setset コマンドを使用してトレース・ログのためのスペースを予約または割り振ります。このコマンドを使用すると、cm イベント・セットを以下の 3 つのうちの 1 つの状態に設定し、イベント・セットに対してトレースを使用可能にするか使用不可にする、またはカーネル内のトレース・ログのためのスペースを割り振り解除することができます。

活動状態
イベント・セットに対してトレースを使用可能にし、トレース・ログのためのスペースを割り振ります。

活動停止中
一時的にイベント・セットに対してトレースを使用不可にします。しかしながら、イベント・セットはデータを送信するログが占有するスペースの割り振りを継続します。

休止
イベント・セットに対するトレースを使用不可にします。さらに、イベント・セットはデータを送信するログが占有するスペースを解放します。 cmfx トレース・ログにデータを送信する cm イベント・セットがこの状態であるときには、そのログに割り振られたスペースは解放または割り振り解除されます。

イベント・セットとトレース・ログ両方は、持続 として指定することができます。指定すると、イベント・セットの状態が誤ってリセットされなくなり、またはトレース・ログがクリアされなくなります。指定は、カーネルがコンパイルされるときに行われ、変更することはできません。

cmのようなイベント・セットが持続している場合、-set 引き数を fstrace setset コマンドに組み込まないとその状態を変更することができません。(すなわち、引き数なしで fstrace setsetコマンドを発行すると、他のすべてのイベント・セットの状態と同様にその状態を変更することはできません)。同様に、cmfxのようなトレース・ログが持続している場合、-set または -log 引き数のいずれかをfstrace clear コマンドに取り入れた場合にだけクリアすることができます ( 引き数なしでfstrace clear コマンドを発行しても他のすべてのトレース・ログと同様にクリアすることはできません。)

問題が発生した場合は、fstrace setset コマンドを使用して cm イベント・セットを活動状態に設定します。使用中の AFS クライアントでトレースを使用可能にすると、記録されるイベントのボリュームが重要となります。したがって、問題を診断する際には、できる限り AFS 活動を制限して、ログにある異質のトレーシングの量を少なくします。トレースがシステム・パフォーマンスに悪い影響を与える場合があるため、問題を診断していないときは cm トレースを 休止状態にします。

問題が再生可能である場合は、 fstrace clear コマンドを使用して cmfx トレース・ログを消去します。問題を簡単に再生できない場合は、問題が再度発生するまでイベント・セットの状態を活動状態のままにしておきます。

トレース・ログの内容を表示させて cm イベントを分析するためには、 fstrace dump コマンドを使用して、トレース・ログの内容行を標準出力またはファイルにコピーします。
注:特定のコマンドまたはプロセスが問題の原因となっている場合は、その id (PID) を判別します。fstrace dump コマンドの出力から PID を検索し、問題に関連する行のみを見つけます。

fstrace コマンド・スイートの使用要件

特権が必要でない fstrace help コマンドおよび fstrace apropos コマンド以外は、 fstrace コマンドを発行するには、そのコマンドを発行する人間がローカル・クライアント・マシン上で root としてログインする必要があります。 fstrace コマンドを発行する前に、必要な特権を持っていることを確認してください。

ロギングを実行できるようにするためには、キャッシュ・マネージャー・カタログが、適切な位置にある必要があります。 fstrace コマンド・スイートは、標準 UNIX カタログ・ユーティリティーを使用します。デフォルトのロケーションは、/usr/vice/etc/C/afszcm.cat です。キャッシュ・マネージャー・カタログは、そのファイルを任意の場所に移し、適切な NLSPATH および LANG 環境変数を使用すると、別のディレクトリーに入れることができます。

fstrace コマンドを効率的に使用する

To use fstraceコマンドを最も効率的に使用するには、指示どおりに構成します。

トレース・ログの活動化

AFS クライアント・マシンでキャッシュ・マネージャーのトレースを開始するには、まず最初に以下を構成します。

fstrace setlog コマンドは、 cmfx カーネルのトレース・ログのサイズを K バイトで設定します。トレース・ログはデフォルトで、カーネルの 60 K バイトを占有します。トレース・ログが既に存在する場合は、このコマンドが発行されると消去され、指定されたサイズの新規ログが作成されます。トレース・ログが存在しない場合は、希望するサイズの新規ログが作成されます。

fstrace setset コマンドは、 cm カーネルのイベント・セットの状態を設定します。 cm イベント・セットの状態は、該当するイベント・セットに含まれるイベントの情報がロギングされるかどうかを決定します。

AFS クライアント・マシンに対してカーネルのトレースを設定すると、イベント・セットの状態およびトレース・ログのために割り振られたカーネル・バッファーのサイズをチェックすることができます。 cm イベント・セットの状態に関する情報を表示するためには、 fstrace lsset コマンドを発行します。 cmfx トレース・ログの情報を表示するためには、 fstrace lslog コマンドを使用します。トレース・ログまたはイベント・セットの状態の表示 にある説明を参照してください。

トレース・ログの構成方法

  1. まだの場合は、su コマンドを発行し、マシン上でローカル・スーパーユーザー root になります。

       % su root
       Password: root_password
    
  2. fstrace setlog コマンドを発行し、 cmfx カーネルのトレース・ログのサイズを設定します。

       # fstrace setlog  [-log <log_name>+]  -buffersize <1-kilobyte_units>
    

次の例は、cmfx トレース・ログのサイズを 80 KB に設定します。

   # fstrace setlog cmfx 80 

イベント・セットの設定方法

  1. まだの場合は、su コマンドを発行し、マシン上でローカル・スーパーユーザー root になります。

       % su root
       Password: root_password
    
  2. fstrace setset コマンドを発行して、イベント・セットの状態を設定します。

       % fstrace setset [-set <set_name>+] [-active] [-inactive]  \
                        [-dormant] 
    

以下の例では、cm イベント・セットをアクティブにします。

   # fstrace setset cm -active

トレース・ログまたはイベント・セットの状態の表示

イベント・セットは、トレース・ログに取り入れるため活動 状態になっている必要があります。イベント・セットの状態を表示するには、fstrace lsset コマンドを使用します。その状態を設定するには、イベント・セットの設定方法に説明してあるように、 fstrace setset コマンドを使用します。

トレース・ログのサイズおよび割り当て情報を表示するには、-long 引き数を付けてfstrace lslogコマンドを発行します。

イベント・セットの状態を表示

  1. まだの場合は、su コマンドを発行し、マシン上でローカル・スーパーユーザー root になります。

       % su root
       Password: root_password
    
  2. fstrace lsset コマンドを発行して、使用可能なイベント・セットおよびその状態を表示します。

       # fstrace lsset  [-set <set_name>+]
    

次の例は、ローカル・マシン上のイベント・セットおよびその状態を表示します。

   # fstrace lsset cm
   Available sets:
   cm active

このコマンドの出力は、イベント・セットおよびその状態をリストします。 cm イベント・セットのイベントの 3 つの状態は、以下のとおりです。

活動状態
トレースが使用可能です。

活動停止中
トレースは使用不可になりますが、スペースは対応するトレース・ログ (cmfx) にまだ割り当てられています。

休止
トレースは使用不可になり、スペースは対応するトレース・ログ (cmfx) には割り当てられません。イベント・セットのトレースを使用不可にします。

ログ・サイズの表示

  1. まだの場合は、su コマンドを発行し、マシン上でローカル・スーパーユーザー root になります。

       % su root
       Password: root_password
    
  2. fstrace lslog コマンドを発行して、カーネルのトレース・ログに関する情報を表示します。

       # fstrace lslog  [-set <set_name>+]  [-log <log_name>]  [-long] 
    

次の例は、-long フラグを使用して、 cmfx トレース・ログに関する追加情報を表示します。

   # fstrace lslog cmfx -long
   Available logs:
   cmfx : 60 kbytes (allocated)

このコマンドの出力は、そのトレース・ログに関する情報をリストします。-long フラグを指定せずに fstrace lslog コマンドを発行すると、このコマンドはログ名だけをリストします。 -long フラグを指定して fstrace lslog コマンドを発行すると、このコマンドはログ、ログの K バイト単位のサイズ、およびログの割り振り状態をリストします。

カーネルのトレース・ログの割り振り状態には、以下の 2 つがあります。

割り振り済み
カーネル内にログ用のスペースが予約されています。この状態は、このログに書き込まれるイベント・セットの状態が 活動状態 (イベント・セットに対するトレースが使用可能である) または 非活動状態 (イベント・セットに対するトレースが一時的に使用不可である) のいずれかであることを意味します。しかしながら、イベント・セットはデータを送信するログが占有するスペースの予約を継続します。

割り振り解除
カーネル内にログ用のスペースが予約されていません。この状態は、このログに書き込まれるイベント・セットの状態が 活動中止 (イベント・セットに対するトレースが使用不可である) であることを意味します。

トレース・ログのダンプとクリア

トレースしたいキャッシュ・マネージャー・オペレーションが完了したら、fstrace dump コマンドを使用してトレース・ログを標準出力ストリームにダンプするか、または -file 引き数で名前が付けられたファイルにダンプします。または、トレース・ログを連続してダンプするには、-follow 引き数を使用します (希望する場合、-file 引き数と結合して)。連続ダンプを停止するには、< Ctrl-c> のような割り込みシグナルを押します。

データが必要なくなったときトレース・ログをクリアするには、fstrace clear コマンドを発行します。(fstrace setlog コマンドは、ログのサイズを変更するために使用するときには既存のトレース・ログも自動的にクリアします。)

トレース・ログの内容のダンプ方法

  1. まだの場合は、su コマンドを発行し、マシン上でローカル・スーパーユーザー root になります。

       % su root
       Password: root_password
    
  2. fstrace dump コマンドを発行し、トレース・ログをダンプします。

       # fstrace dump [-set <set_name>+]  [-follow <log_name>]  \
                      [-file <output_filename>]  \
                      [-sleep <seconds_between_reads>]
    

各ダンプの出力の先頭には、ダンプが開始された日時を指定するヘッダーがあります。 -follow 引き数が指定されていない場合は、ダンプされるログの数が表示されます。ヘッダーは次のように表示されます。

   AFS Trace Dump --
   Date: date time
   Found n logs.

ここで、date は、トレース・ログ・ダンプの開始日、 time はトレース・ログ・ダンプの開始時間、そして nfstrace dump コマンドによって検索されたログの数を指定します。

以下は、トレース・ログのダンプ・ヘッダーの例です。

   AFS Trace Dump --
   Date: Fri Apr 16 10:44:38 1999
   Found 1 logs.

ヘッダーの後にはログの内容が続き、そのログの内容は活動中のイベント・セットからログに書き込まれたメッセージで構成されます。ログに書き込まれるメッセージは、以下の 3 つの構成要素で構成されます。

トレース・ログのメッセージの形式は次のとおりです。

   time timestamp, pid pid:event message

ここで、timestamp は任意に開始点から経過した秒数であり、 pid はキャッシュ・マネージャー・イベントのプロセス ID 番号、および event message は AFS ソース・コード内の機能に対応するキャッシュ・マネージャー・イベントです。

以下は、ダンプしたトレース・ログ・メッセージの例です。

   time 749.641274, pid 3002:Returning code 2 from 19

トレース・ログのメッセージを最適な読み取り可能形式にするには、クライアント・マシンのローカル・ディスクにキャッシュ・マネージャー・カタログ・ファイルがインストールされている必要があります。通常の位置は、/usr/vice/etc/C/afszcm.cat です。以下のように文字列 raw op で開始するメッセージは、カタログがインストールされていないことを示します。

   raw op 232c, time 511.916288, pid 0
   p0:Fri Apr 16 10:36:31 1999

1024 秒ごとに、現行の時間メッセージが別々のログに書き込まれます。このメッセージの形式は次のとおりです。

   time timestamp, pid pid: Current time: unix_time

ここで、timestamp は任意に開始点から経過した秒数であり、 pid はプロセス ID 番号、そして unix_time は 1970 年 1 月 1 日以降の標準時刻形式です。

現行の時間メッセージを使用して、各ログ・メッセージに関連する実際の時間を判別することができます。実際の時間の判別は以下のとおりに行います。

  1. 実際の時間を判別したいログ・メッセージの位置を指定する。
  2. 現行の時間メッセージにたどり着くまでダンプ・レコードを逆方向に検索する。
  3. 現行の時間メッセージの timestamp がログ・メッセージの timestamp より小さい場合は、後者の値から前者の値を減算します。現行の時間メッセージの timestamp がログ・メッセージの timestamp より大きい場合は、後者の値に 1024 を追加し、その結果から前者の値を減算します。
  4. ログ・メッセージの実際の時間を決定するためには、結果の数値を現行の時間メッセージの unix_time に加算します。

ログ・データは限定された循環バッファーに保管されるため、いくつかのデータは読み取られる前に上書きされる場合があります。このことが発生すると、ダンプの適切な場所に以下のメッセージが表示されます。

   Log wrapped; data missing.
注:作業負荷が大きい場合にダンプの中間でこのメッセージが表示される場合がありますが、このメッセージはすべてのログ・データがログに書き込まれないこと、またはいくつかのデータが上書きされることを示します。 fstrace setlog コマンドを使用してログのサイズを大きくすると、この問題の発生を少なくすることができます。

トレース・ログの内容の消去

  1. まだの場合は、su コマンドを発行し、マシン上でローカル・スーパーユーザー root になります。

       % su root
       Password: root_password
    
  2. fstrace clear コマンドを発行して、ログ名またはイベント・セットを指定してログを消去します。

       # fstrace clear  [-set <set_name>+]  [-log <log_name>+]
    

次の例は、ローカル・マシン上の cm イベント・セットが使用する cmfx ログを消去します。

   # fstrace clear cm

次の例もまたローカル・マシン上の cmfx ログを消去します。

   # fstrace clear cmfx

fstrace コマンドの例

本機能グループには、fstrace コマンド・スイートの使用例を広範囲にわたって説明しています。このコマンドは、 AFS 製品サポートで問題の診断を行う際に、キャッシュ・マネージャーの活動の詳細なトレースを収集するのに役立ちます。製品サポート担当者の指示により、トレースのための適切なパラメーター設定が選択できます。

カーネルのトレース・ログを開始する前に、ファイル・アクセスの問題に遭遇している AFS クライアント・マシン上のキャッシュ・マネージャーを分離するようにしてください。必要であれば、このマシン上のキャッシュ・マネージャーの活動を最小にするために、ユーザーに別のマシンに移動するように指示します。トレース・ログに記録される無関係な AFS 活動記録の量を最低限にするには、fstrace バイナリーおよびダンプ・ファイルは AFS ではなくローカル・ディスクに配置します。 fstrace コマンドを発行するには、ローカル・スーパーユーザー root としてログインする必要があります。

カーネルのトレースを開始する前に、fstrace lsset コマンドを発行して cm イベント・セットの状態をチェックします。

   # fstrace lsset cm

クライアント・マシン上でそれまでにトレースが使用可能にされていない場合、またはトレースがオフにされている場合は、次の出力が表示されます。

   Available sets:
   cm inactive

クライアント・マシン上でトレースがオフにされ、トレース・ログのためのカーネル・メモリーが割り振られていない場合は、次の出力が表示されます。

   Available sets:
   cm inactive (dormant)

cm イベント・セットの現行の状態が 活動停止中または活動停止中 (休止中)である場合は、 -active フラグを指定した fstrace setset コマンドを発行してカーネルのトレースをオンにしてください。

   # fstrace setset cm -active

現時点でクライアント・マシン上でトレースが使用可能である場合は、次の出力が表示されます。

   Available sets:
   cm active

現時点でトレースが使用可能である場合は、 fstrace setset コマンドを使用する必要はありません。fstrace clear コマンドを発行して、既存のトレース・ログの内容を消去し、現行の問題に関係のない以前のトレースを除去します。

   # fstrace clear cm

イベント・セットの状態をチェックした後で、fstrace lslog コマンドを -long フラグとともに発行して、カーネル・トレース・ログの現在の状態およびサイズをチェックする必要があります。

   # fstrace lslog cmfx -long

クライアント・マシン上でそれまでにトレースが使用可能にされていない場合、または cm イベント・セットが以前活動状態または活動停止中に設定された場合、次に示す出力に類似した出力が表示されます。

   Available logs:
   cmfx : 60 kbytes (allocated)

fstrace トレース・ユーティリティーは、デフォルトで 60 K バイトのメモリーをトレース・ログに割り振ります。カーネル・トレース・ログに割り振るトレース・ログの量は、 fstrace setlog コマンドを使用して設定することによって、増やしたり減らしたりすることができます。 -buffersize 引き数で指定する数値は、カーネル・トレース・ログに割り振られる K バイトの数を示します。カーネル・トレース・ログのサイズを 100 K バイトに増やす場合は、次のコマンドを発行します。

   # fstrace setlog cmfx 100

カーネル・トレース・ログが必要に応じて構成されたことを確認した後で、カーネル・トレース・ログをダンプするためのファイルを設定することができます。たとえば、以下の fstrace dump コマンドを使用して、cmfx.dump.file.1 という名前のダンプ・ファイルを作成します。そのコマンドに -follow および -sleep 引き数を追加して、コマンドを継続プロセスとして発行します。 -sleep 引き数の値を 10 を設定すると、 10 秒ごとにカーネル・トレース・ログの出力をファイルにダンプします。

   # fstrace dump -follow cmfx -file cmfx.dump.file.1 -sleep 10
   AFS Trace Dump -
      Date: Fri Apr 16 10:54:57 1999
   Found 1 logs.
   time 32.965783, pid 0: Fri Apr 16 10:45:52 1999
   time 32.965783, pid 33657: Close 0x5c39ed8 flags 0x20 
   time 32.965897, pid 33657: Gn_close vp 0x5c39ed8 flags 0x20 (returns
   0x0) 
   time 35.159854, pid 10891: Breaking callback for 5bd95e4 states 1024
   (volume 0)
   time 35.407081, pid 10891: Breaking callback for 5c0fadc states 1024
   (volume 0)
       .                         .
       .                         .
       .                         .
   time 71.440456, pid 33658: Lookup adp 0x5bbdcf0 name g3oCKs fid (756
   4fb7e:588d240.2ff978a8.6) 
   time 71.440569, pid 33658: Returning code 2 from 19 
   time 71.440619, pid 33658: Gn_lookup vp 0x5bbdcf0 name g3oCKs (returns
   0x2) 
   time 71.464989, pid 38267: Gn_open vp 0x5bbd000 flags 0x0 (returns 0x
   0) 
   AFS Trace Dump - Completed

afsmonitor プログラムの使用

afsmonitor プログラムを使用すると、統計情報を収集することによって、指定したファイル・サーバーおよびキャッシュ・マネージャー・プロセスの状態およびパフォーマンスを監視することができます。1 つの使用法として、 afsmonitor プログラムを使用して、キャッシュ・マネージャー構成を最適に調整し、ファイル・サーバーの負荷を調整することができます。

afsmonitor プログラムを使用すると、次のタスクを実行することができます。

afsmonitor プログラムの実行要件

以下のソフトウェアは、 afsmonitor プログラムが実行されているマシンにアクセス可能でなければなりません。

afsmonitor 画面は、いわゆるダム端末と、端末をエミュレートするウィンドウ操作システムの両方で、正常に形式設定します。出力を最適に表示するためには、表示環境が反転表示とカーソルのアドレス指定をサポートしている必要があります。 TERM 環境変数を、正しい端末タイプ、または実際の端末タイプに類似した特性を持つ値に設定します。表示ウィンドウまたは端末には、最低 80 カラムの幅および 12 行の長さが必要です。

afsmonitor プログラムは、独立した固有の専用ウィンドウまたは端末で、フォアグラウンドで実行する必要があります。そのウィンドウまたは端末は、 afsmonitor プログラムの実行中は、他のいかなる活動にも使用できません。各インスタンスがそれぞれ独自の専用のウィンドウまたは端末で実行されていれば、 afsmonitor プログラムの任意の数のインスタンスを、単一のマシン上で実行することができます。追加のインスタンスを開始する場合、最大 3 分の時間がかかりますので注意してください。

afsmonitor プログラムを実行するには、特権は必要ありません。規約では、このプログラムは /usr/afsws/bin ディレクトリーにインストールされ、そのディレクトリーにアクセスできる人は誰でもファイル・サーバーとキャッシュ・マネージャーをモニターすることができます。何百人もがプログラムを実行するのでなければ、afsmonitor プログラムが統計を収集するために使用するプローブによってファイル・サーバーまたはキャッシュ・マネージャー上でかなりの負荷が発生することはありません。プログラムの使用を制限したい場合は、許可ユーザーだけが使用できるディレクトリーにプログラムのバイナリー・ファイルを移動させてください。

afsmonitor 出力画面

afsmonitor プログラムは、次の 3 つの画面でデータを表示します。

すべての画面の各コーナーのフィールドには、以下の情報が表示されます。

afsmonitor 表示画面のナビゲート

上述のように、すべての表示画面の左下のコーナーには、別の画面 (別の種類の表示、または現在表示されている統計またはマシンの続き) へ移動するために現在使用できるコマンドの名前が表示されます。コマンドを実行するには、コマンド名の最初の文字を小文字で入力します。以下のリストに示すように、コマンドの中には、大文字で入力すると異なる結果が得られるものがあります。

cm
Cache Managers 画面に切り替えます。 System Overview 画面および File Servers 画面でのみ、使用可能です。

fs
File Servers 画面に切り替えます。 System Overview 画面および Cache Managers 画面でのみ、使用可能です。

left
左方に横スクロールして、現在表示されているデータ・カラムの左方のデータ・カラムを表示します。画面の左上に <<< 記号が表示されている場合にのみ、使用可能です。大文字の L を入力すると、左端まで横スクロールし、最初のデータ・カラムを表示します。

next
縦方向にスクロールダウンし、次ページのマシン名を表示します。複数のマシン・ページが存在し、現在表示されているのが最終ページでない場合にのみ、使用可能です。大文字の N を入力すると、最終ページまでスクロールします。

oview
System Overview 画面に切り替えます。 Cache Managers 画面および File Servers 画面でのみ、使用可能です。

prev
縦方向にスクロールアップし、前ページのマシン名を表示します。複数のマシン・ページが存在し、現在表示されているのが最初のページでない場合にのみ、使用可能です。大文字の N を入力すると、最初のページまでスクロールします。

right
右方に横スクロールして、現在表示されているデータ・カラムの右方のデータ・カラムを表示します。このコマンドは、画面の右上に >>> 記号が表示されている場合にのみ、使用可能です。大文字の R を入力すると、右端まで横スクロールし、最後のデータ・カラムを表示します。

[システム概要]画面

System Overview 画面は、 afsmonitor プログラムが初期設定されると自動的に表示されます。この画面は、ファイル・サーバーおよびキャッシュ・マネージャーのプロセスの状況を、現行ウィンドウに表示可能な数だけ表示します。表示されていない情報を表示するには、スクロールダウンしてください。

この画面では、情報は左方のファイル・サーバー情報と、右方のキャッシュ・マネージャー情報に分かれています。各グループのヘッダーは、2 種類の情報を提供します。

その後には、監視されているマシンのリストが続きます。マシン上にアラートがあると、その数が、ホスト名の左方に、大括弧で囲まれて表示されます。あるプロセスが最後のプローブに対する応答に失敗すると、そのプロセスの左方に、 PF (プローブの失敗) という文字が、大括弧に囲まれて表示されます。

以下の図は、システム概要 画面の例を示しています。 afsmonitor プログラムは、6 つのファイル・サーバーと 7 つのキャッシュ・マネージャーをモニターしています。ホスト fs1.abc.com 上のファイル・サーバー・プロセスおよびホスト cli33.abc.com 上のキャッシュ・マネージャーは、1 つのしきい値が超えられたことを示すため、それぞれに [ 1] がマークされています。ホスト fs6.abc.com 上の [PF] マーカーは、そのファイル・サーバー・プロセスが最後のプローブに応答しなかったことを示しています。

図 6. afsmonitor [システム概要] 画面


[システム概要]画面

[ファイル・サーバー]画面

File Servers 画面は、ファイル・サーバー統計の最初のプローブで収集された値を表示します。

画面上部 (標準プログラムのバージョンおよび画面の表題のブロックのすぐ下) の要約行は、監視するファイル・サーバーの数、アラートの数、およびそれらのアラートによって影響を受けるマシンの数を指定します。

最初の列には、監視されているファイル・サーバーを実行しているマシンのホスト名が常に表示されます。

ホスト名の列の右側には、統計の列が、そのディスプレイまたはウィンドウの幅の中で表示可能な数だけ表示されます。各列には 10 文字分のスペースが必要です。各列の上には、統計の名前が表示されます。マシン上のファイル・サーバーが最新のプローブに応答しなかった場合は、各列にダッシュが 2 つずつ表示されます (--)。ある値が構成したしきい値を超えると、その値は反転表示で強調表示されます。割り当てられた列幅に対して値が大きすぎる場合は、同じ行の次の列に桁あふれします。

利用可能なファイル・サーバー統計のリストは、付録 C, afsmonitor プログラムの統計 を参照してください。

以下の図は、前述のシステム概要画面の例に続く ファイル・サーバー 画面を示していますが、追加の 1 つのサーバー・プローブが完了しています。この例では、fs1 上のファイル・サーバー・プロセスが、受信したパフォーマンス呼び出しの数に対して構成したしきい値 (numPerfCalls) を超えているため、そのフィールドが反転表示されています。ホスト fs6 は、プローブ 10 に応答しなかったので、すべてのフィールドにダッシュが表示されます。

図 7. afsmonitor [ファイル・サーバー] 画面


[ファイル・サーバー]画面

[ファイル・サーバー]画面および[キャッシュ・マネージャー]画面 (次の機能グループで説明) はともに、何百もの列のデータを表示することができるため、左右にスクロールできるように設計されています。上掲の画面は左端の画面であり、画面の表題ブロックは 235 のカラムのうち 1 番目のカラムが表示されていることを示します。画面の右上隅に表示される >>> 記号およびコマンド・ブロックの right コマンドは、右にスクロールするとさらにデータが存在することを示しています。(使用可能な統計の情報については、 付録 C, afsmonitor プログラムの統計 を参照してください。)

right コマンドを実行すると、画面は以下の例に類似したものとなります。ここでは、水平スクロールの記号が左 (<<<) と右 (>>>) を指し示し、 left および right コマンドの両方が表示され、左右両方にスクロールすると追加のデータが存在することを示すことに注意してください。

図 8. 右方に 1 ページシフトしたafsmonitor [ファイル・サーバー] 画面


右方に 1 ページシフトした[ファイル・サーバー]画面

[キャッシュ・マネージャー]画面

Cache Managers 画面は、キャッシュ・マネージャー統計の最新のプローブで収集された値を表示します。

画面上部 (標準プログラムのバージョンおよび画面の表題のブロックのすぐ下) の要約行は、監視するキャッシュ・マネージャーの数、アラートの数、およびそれらのアラートによって影響を受けるマシンの数を指定します。

最初の列には、監視されているキャッシュ・マネージャーを実行しているマシンのホスト名が常に表示されます。

ホスト名の列の右側には、統計の列が、そのディスプレイまたはウィンドウの幅の中で表示可能な数だけ表示されます。各列には 10 文字分のスペースが必要です。各列の上には、統計の名前が表示されます。マシン上のキャッシュ・マネージャーが最新のプローブに応答しなかった場合は、各列にダッシュが 2 つずつ表示されます (--)。ある値が構成したしきい値を超えると、その値は反転表示で強調表示されます。割り当てられた列幅に対して値が大きすぎる場合は、同じ行の次の列に桁あふれします。

利用可能なキャッシュ・マネージャー統計のリストは、付録 C, afsmonitor プログラムの統計 を参照してください。

以下の図は、前述の[システム概要]画面に続く[キャッシュ・マネージャー]画面を示しています。この例では、ホスト cli33 上のキャッシュ・マネージャー・プロセスが接続できるセルの数に対して構成したしきい値 (numCellsContacted) を超えているため、そのフィールドが反転表示されています。

図 9. afsmonitor [キャッシュ・マネージャー] 画面

[キャッシュ・マネージャー]画面


afsmonitor プログラムの構成

afsmonitor プログラムをカスタマイズするには、ASCII 形式の構成ファイルを作成し、-config 引き数を使用して名前を付けます。構成ファイルでは以下を指定することができます。

以下のリストは、構成ファイルで表示できる指示を示しています。

cmhost_name
キャッシュ・マネージャー統計を表示するクライアント・マシンを指定します。ファイル内の cm 行の順序によって、 System Overview および Cache Managers 出力画面で上から下に表示されるクライアント・マシンの順序が決まります。

fshost_name
ファイル・サーバー統計を表示するファイル・サーバー・マシンを指定します。ファイル内の fs 行の順序によって、 System Overview および File Servers 出力画面で上から下に表示されるファイル・サーバー・マシンの順序が決まります。

thresh fs | cm field_name thresh_val [cmd_to_run] [arg1] . . . [argn]
ファイル・サーバー統計 (fs) またはキャッシュ・マネージャー統計 (cm) 用に、統計 field_name にしきい値 thresh_val を割り当てます。オプションの cmd_to_execute フィールドは、統計の値が thresh_val 未満から thresh_val 以上に変わる度に実行するバイナリーまたはスクリプトを指定します。 thresh_val を超える値間の変更では、そのバイナリーまたはスクリプトは再起動されません。オプションの arg1 から argn のフィールドは、引き数として afsmonitor プログラムが cmd_to_execute コマンドに渡す、追加の値です。 1 つまたは複数のスペースを持つフィールドがある場合は、フィールド全体を引用符で囲みます。

fscmfield_namethreshold_val、および arg1 から argn パラメーターは、 thresh 行の同名の値に対応しています。 host_name パラメーターは、統計がしきい値を超えた場所が、ファイル・サーバーかクライアント・マシンか、および、 actual_val パラメーターが、しきい値と同じまたはしきい値を超えている field_name の実際の値かどうかを識別します。

thresh 行を使用して、 fs 行にリストされているすべてのファイル・サーバー・マシンか、 cm 行にリストされているすべてのクライアント・マシンに適用する、グローバルなしきい値を設定するか、あるいは、単一のファイル・サーバーまたはクライアント・マシンにのみ適用する、マシン固有のしきい値を設定します。

show fs | cm field/group/section
File Servers 画面 (fs) または Cache Managers 画面 (cm) に表示する個々の統計、統計グループ、または統計のセクションと、それらの表示順序を指定します。 AFS 管理の手引き 内の afsmonitor 統計の付録は、それぞれの統計が属するグループとセクションを指定します。必要な数の show 行を組み込んで画面表示を好きなようにカスタマイズし、ファイル内の任意の場所に配置します。構成ファイル内での show 行の上から下への順序によって、対応する画面でその統計が表示される左から右への順序が決まります。

構成ファイル内に show 行がない場合は、キャッシュ・マネージャーとファイル・サーバーの両方のすべての統計が、画面に表示されます。同様に、show fs 行がない場合は、すべてのファイル・サーバー統計が File Servers 画面に表示され、 show cm 行がない場合は、すべてのクライアント統計が Cache Managers 画面に表示されます。

#comments
最初のシャープ (#) 記号によって afsmonitor プログラムが無視するテキスト行の先頭です。シャープ記号は、その行の 1 番最初の列に配置する必要があります。

show 命令の field/group/section フィールドに表示できる値のリストは、付録 C, afsmonitor プログラムの統計 を参照してください。)

次の例は、可能な構成ファイルを示しています。

   thresh cm dlocalAccesses  1000000
   thresh cm dremoteAccesses  500000 handleDRemote
   thresh fs rx_maxRtt_Usec     1000
   cm client5
   cm client33
   cm client14
   thresh cm dlocalAccesses  2000000
   thresh cm vcacheMisses      10000
   cm client2
   fs fs3
   fs fs9
   fs fs5
   fs fs10
   show cm numCellsContacted
   show cm dlocalAccesses
   show cm dremoteAccesses
   show cm vcacheMisses
   show cm Auth_Stats_group

最初の 3 つの thresh 命令が、すべての fs または cm 命令の前にあるため、これらの行はグローバルしきい値を設定します。

4 つの cm 命令により、マシン client5client33client14、および client2 上のキャッシュ・マネージャーをモニターします。最初の 3 つは、すべてのグローバルしきい値を使用します。

client2 上のキャッシュ・マネージャーは、 dremoteAccesses 統計に対しグローバルしきい値を使用しますが、 dlocalAccesses に対するものとは異なるものです。さらに、 client22 は、 vcacheMisses 統計に設定されたしきい値を使用する唯一のキャッシュ・マネージャーです。

fs 命令により、マシン fs3fs9fs5、および fs10 上のファイル・サーバーをモニターします。これらはすべて、 rx_maxRtt_Usec 統計に対するグローバルしきい値を使用します。

show fs 命令がないため、 [ファイル・サーバー]画面にはすべてのファイル・サーバー統計が表示されます。[キャッシュ・マネージャー]画面には、 show cm 命令で指定した統計のみが左から右の順に表示されます。 Auth_Stats_group には複数の統計が含まれ、そのすべてが表示されます (curr_PAGscurr_Recordscurr_AuthRecordscurr_UnauthRecordscurr_MaxRecordsInPAGcurr_LongestChainPAGCreationsTicketUpdatesHWM_PAGSHWM_RecordsHWM_MaxRecordsInPAG、および HWM_LongestChain)。


afsmonitor 統計のファイルへの書き込み

afsmonitor プログラムを使用して収集し表示するすべての統計情報は、それらの情報を出力ファイルに書き込むことによって保管することができます。出力ファイルは、afsmonitor プロセスを起動するときに、 -output 引き数を使用して作成することができます。出力ファイルを使用すると、プロセスのパフォーマンスを長い期間に渡って追跡することができ、さらに後処理の技法を適用してシステム傾向を詳細に分析することができます。

afsmonitor プログラム出力ファイルは、 [ファイル・サーバー]画面および[キャッシュ・マネージャー]画面が提供する情報を記録する単一の ASCII ファイルです。この出力ファイルの形式は次のとおりです。

   time   host_name CM|FS   list_of_measured_values

list_of_measured_values が、 host_name 上に存在するキャッシュ・マネージャー (CM) またはファイル・サーバー (FS) のプロセスから収集された time を指定します。プローブが失敗した場合は、 list_of_measured_values の代わりに値 -1 が表示されます。

このファイル形式にはいくつかの利点があります。


afsmonitor プログラムの開始

  1. afsmonitor プログラムの各インスタンスごとに個別のコマンド・シェル・ウィンドウをオープンするか、専用端末を使用します。コマンドをバックグラウンドで実行することができないため、このウィンドウまたは端末は afsmonitor プロセス専用にする必要があります。
  2. afsmonitor プログラムを初期化します。メッセージ afsmonitor Collecting Statistics... に続いて [システム概要] 画面が表示され、正常に開始したことが確認されます。

       % afsmonitor [initcmd]  [-config <configuration file>]  \
                    [-frequency <poll frequency, in seconds>]  \
                    [-output <storage file name>] [-detailed]  \
                    [-debug <turn debugging output on to the named file>] \
                    [-fshosts <list of file servers to monitor>+]  \
                    [-cmhosts <list of cache managers to monitor>+]
       afsmonitor Collecting Statistics...
    

    ここで、

    initcmd
    このコマンドが AFS コマンド構文解析プログラムを使用できるようにするオプション文字列です。これは省略して無視することもできます。

    -config
    モニターするマシンおよび統計をリストする afsmonitor 構成ファイルのパス名を指定します。パス名の一部は、現行作業ディレクトリーとの関連で解釈されます。この引き数か、または -fshosts および -cmhosts 引き数のどちらかあるいは両方を指定します。しきい値の設定、または画面表示のカスタマイズを行うには、構成ファイルを使用する必要があります。構成ファイルの作成に関する詳細は、afsmonitor プログラムの構成 を参照してください。

    -frequency
    ファイル・サーバーおよびキャッシュ・マネージャーのプローブ頻度を秒単位で指定します。 1 から 86400 までの値が受け入れ可能で、デフォルト値は 60 です。この頻度は、ファイル・サーバーおよびキャッシュ・マネージャーの両方のプローブに適用されますが、ファイル・サーバーおよびキャッシュ・マネージャーのプローブはそれぞれ別々に開始され処理されます。あるホストに対する実際のプローブ間隔は、すべてのホストがそのプローブに応答するために必要な時間をプローブ頻度に追加したものです。

    -output
    すべての統計データを書き込む出力ファイル名を指定します。デフォルトでは、出力ファイルは何も作成されません。このファイルについての詳細は、 afsmonitor 統計のファイルへの書き込み を参照してください。

    -detailed
    -output 引き数で指定した出力ファイルを、読みやすい形式にします。このフラグと -output 引き数を合わせてしようする必要があります。

    -fshosts
    監視する各ファイル・サーバー・プロセスが実行されているホストを指定することによって、それらのファイル・サーバー・プロセスを識別します。ホストのインターネット形式の全ホスト名、またはセルの名前サービスで使用可能な省略形を使用してホストを識別することができます。必要であれば、この引き数と -cmhosts を組み合わせることができますが、 -config 引き数とは組み合わせないでください。

    -cmhosts
    監視する各キャッシュ・マネージャー・プロセスが実行されているホストを指定することによって、それらのキャッシュ・マネージャー・プロセスを識別します。ホストのインターネット形式の全ホスト名、またはセルの名前サービスで使用可能な省略形を使用してホストを識別することができます。必要であれば、この引き数と -fshosts を組み合わせることができますが、 -config 引き数とは組み合わせないでください。

afsmonitor プログラムの停止

afsmonitor プログラム・セッションを終了するには、 <Ctrl-c> 割り込みシグナルまたは大文字の Q を入力します。


xstat データ収集機能

afsmonitor プログラムは、xstat データ収集機能を使用して、 (afsmonitor プログラムが) その機能を実行するために使用するデータを収集して計算します。また、xstat 機能を使用して、独自のデータ表示プログラムを作成することもできます。その場合は、次のことを考慮してください。ファイル・サーバーは、ファイル・サーバーの RPC ルーチンを呼び出すすべてのプログラムをキャッシュ・マネージャーとみなします。したがって、ファイル・サーバー・インターフェースを直接呼び出すすべてのプログラムは、キャッシュ・マネージャーの呼び出しインターフェースをエクスポートする必要があります。この呼び出しプログラムは、必要なコールバック状態をエミュレートすることができる必要があり、ファイル・サーバーからの定期的なキープアライブ・メッセージに応答する必要があります。さらに、呼び出しプログラムはその収集データを取りまとめることができる必要があります。

xstat 機能は、ユーザー・レベルのアプリケーションで使用できる 2 つの C 言語ライブラリーで構成されます。

このライブラリーを使用すると、発呼者は以下を登録することができます。

ライブラリーは、軽いプロセス、コールバック対話、およびデータ収集に関連するタイミングの問題すべてを処理します。ユーザーは、データを処理するだけで済みます。

libxstat ライブラリー

libxstat_fs.a および libxstat_cm.a ライブラリーは、コールバック要件およびファイル・サーバーとキャッシュ・マネージャーのデータの収集に関連する複雑な問題を扱います。システム管理者は、必要なデータを累算する方法のみを提供します。それぞれの xstat ライブラリーは、3 つのルーチンをインプリメントします。

ファイル・サーバーおよびキャッシュ・マネージャーは、それぞれがクライアントが取り出すことができるデータ収集を定義します。データ収集は、単に、1 つの単位として収集することができる関連する数値の集合です。たとえば、ファイル・サーバーおよびキャッシュ・マネージャーは、それぞれがプロファイルおよびパフォーマンスのデータ収集を定義します。プロファイル収集は、障害分析のために、サーバー内で呼び出される内部機能の回数のカウントを保持します。パフォーマンス収集は、パフォーマンス分析のために、特にファイル・サーバーの内部ディスク I/O 統計およびキャッシュ・マネージャーのキャッシュ効果の数値を記録します。

xstat、そのライブラリー、ライブラリー内のルーチンについての追加の使用法を提供する詳細な仕様書については、 AFS 製品サポートに連絡してください。

xstat のサンプル・コマンド

AFS は、次の2 つの下位レベルのサンプル・コマンド、 xstat_fs_test および xstat_cm_test を提供します。これらのコマンドを使用すると、xstat 機能を試すことができます。これらのコマンドは、情報を取りまとめ、ファイル・サーバーまたはキャッシュ・マネージャーの使用可能なデータ収集を表示します。これらのサンプル・コマンドは、 xstat を使用して収集できるデータ・タイプの例を提供するためのものであり、実際のデータの収集に使用することはできません。

サンプル xstat_fs_test コマンドの使用

  1. xstat_fs_test サンプル・コマンドを発行して、 libxstat_fs.a ライブラリー内のルーチンをテストし、ファイル・サーバー・プロセスに関連したデータ収集を表示します。このコマンドは、フォアグラウンドで実行します。

       % xstat_fs_test [initcmd]  \
                       -fsname <File Server name(s) to monitor>+  \
                       -collID <Collection(s) to fetch>+  [-onceonly]  \
                       [-frequency <poll frequency, in seconds>]  \
                       [-period <data collection time, in minutes>] [-debug] 
    

    ここで、

    xstat_fs_test
    完全な形式で入力する必要があります。

    initcmd
    このコマンドが AFS コマンド構文解析プログラムを使用できるようにするオプション文字列です。これは省略して無視することもできます。

    -fsname
    ファイル・サーバー・プロセスを監視する各ファイル・サーバー・マシンのインターネット・ホスト名です。

    -collID
    戻される各データ収集を指定します。指定するデータ収集は、このコマンドがファイル・サーバーについて取りまとめるデータのタイプおよび量を定義します。データは、事前定義されたデータ構造 (データ構造の詳細情報について前に参照した仕様書を参照してください) で戻されます。

    2 つの値が受け入れ可能です。

    • 1 は、ファイル・サーバーに関連する種々の内部パフォーマンス統計を報告します (たとえば、vnode キャッシュ項目および Rx プロトコル活動など)。
    • 2 は、値 1 が提供する内部パフォーマンス統計のすべて、およびファイル・サーバーについてのいくつかの追加の詳細なパフォーマンスの数値を報告します (たとえば、ファイル・サーバーの RPC に関する最小、最大、および累積統計、完了するまでの時間、および成功する数など)。

    -onceonly
    コマンドが 1 回だけ統計を取りまとめるようにします。コマンドによって、30 秒ごとに統計のためにファイル・サーバーのプローブが実行されるようにするためには、このオプションを省略します。このオプションを省略するには、<Ctrl-c> 割り込みシグナルを使用して、適宜コマンドを停止します。

    -frequency
    プログラムがファイル・サーバーへのプローブを開始する頻度を秒単位で設定します。この引き数を省略した場合は、デフォルトは 30 秒です。

    -period
    終了するまでにユーティリティーを実行する時間の長さを秒単位で設定します。この引き数を省略した場合は、デフォルトは 10 分です。

    -debug
    コマンド実行時に追加情報を表示します。

サンプル xstat_cm_test コマンドの使用

  1. xstat_cm_test サンプル・コマンドを発行して、 libxstat_cm.a ライブラリー内のルーチンをテストし、キャッシュ・マネージャーに関連したデータ収集を表示します。このコマンドは、フォアグラウンドで実行します。

       % xstat_cm_test [initcmd]  \
                       -cmname <Cache Manager name(s) to monitor>+  \
                       -collID <Collection(s) to fetch>+ \
                       [-onceonly] [-frequency <poll frequency, in seconds>]  \
                       [-period <data collection time, in minutes>] [-debug] 
    

    ここで、

    xstat_cm_test
    完全な形式で入力する必要があります。

    initcmd
    このコマンドが AFS コマンド構文解析プログラムを使用できるようにするオプション文字列です。これは省略して無視することもできます。

    -cmname
    キャッシュ・マネージャーを監視する各クライアント・マシンのホスト名です。

    -collID
    戻される各データ収集を指定します。指定するデータ収集は、このコマンドがキャッシュ・マネージャーについて取りまとめるデータのタイプおよび量を定義します。データは、事前定義されたデータ構造 (データ構造の詳細情報について前に参照した仕様書を参照してください) で戻されます。

    2 つの値が受け入れ可能です。

    • 0 は、キャッシュ・マネージャーが起動されてから異なる内部キャッシュ・マネージャー・ルーチンが呼び出された回数に関するプロファイル情報を提供します。
    • 1 は、キャッシュ・マネージャーに関連する種々の内部パフォーマンス統計を報告します (たとえば、キャッシュがどの程度効果的に使用されているか、セル内およびセル間のデータ・アクセスの量についての統計)。
    • 2 は、値 1 が提供する内部パフォーマンス統計のすべて、およびキャッシュ・マネージャーについてのいくつかの追加の詳細なパフォーマンスの数値を報告します (たとえば、キャッシュ・マネージャーが送信する RPC の数およびその呼び出しが完了するまでの時間についての統計、およびデータ・アクセスに関連する認証、アクセス、および PAG 情報などについての統計)。

    -onceonly
    コマンドが 1 回だけ統計を取りまとめるようにします。コマンドによって、統計のために 30 秒ごとにキャッシュ・マネージャーのプローブが実行されるようにするためには、このオプションを省略します。このオプションを省略するには、<Ctrl-c> 割り込みシグナルを使用して、適宜コマンドを停止します。

    -frequency
    プログラムがファイル・サーバーへのプローブを開始する頻度を秒単位で設定します。この引き数を省略した場合は、デフォルトは 30 秒です。

    -period
    終了するまでにユーティリティーを実行する時間の長さを秒単位で設定します。この引き数を省略した場合は、デフォルトは 10 分です。

    -debug
    コマンド実行時に追加情報を表示します。

AIX ファイル・サーバー上の AFS イベントの監査

AIX ファイル・サーバー上の AFS イベントは、監査情報を AFS から AIX の検査システムへ転送する AFS 機構を使用して監査することができます。以下に示す AFS イベントの汎用クラスを監査することができます。特定の AFS 監査イベントの完全なリストは、付録 D, AIX 監査イベント を参照してださい。

注:この節は、AIX の検査システムについて知識があることを前提とします。詳細については、使用する AIX のバージョンの AIX システム管理の手引き を参照してください。

AFS 監査を AIX ファイル・サーバー上で構成する

ディレクトリー /usr/afs/local/audit には、 AFS イベントを監査するために行う AIX ファイル・サーバーの構成に必要な情報を含む 3 つのファイルがあります。

これらのファイルを適切に構成して、AFS 関連情報を組み込んだら、 AIX 検査システムを使用して監査を開始し終了します。

AFS 監査の使用可能

  1. AFS イベントを監査する各ファイル・サーバー上のファイル /usr/afs/local/Audit 内に、次のストリングを作成します。

          AFS_AUDIT_AllEvents
    
  2. bos restart コマンド (-all フラグを指定する) を発行して、各ファイル・サーバー上のすべてのサーバー・プロセスを停止して、再始動します。このコマンドの使用に関する説明については、プロセスの停止および即時の再始動 を参照してください。

AFS 監査の使用不可能化

  1. もはや AFS イベントの監査をする必要がない、各ファイル・サーバー上のファイル /usr/afs/local/Audit の内容を削除します。
  2. bos restart コマンド (-all フラグを指定する) を発行して、各ファイル・サーバー上のすべてのサーバー・プロセスを停止して、再始動します。このコマンドの使用に関する説明については、プロセスの停止および即時の再始動 を参照してください。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]



(C) IBM Corporation 2000. All Rights Reserved