AFS は、3 つの主要なモニター・ツールを備えています。
AFS は、AIX を実行するファイル・サーバー・マシン上での AFS イベントを監査するためのツールも提供します。
この章では、指示されたコマンドを使用して次のタスクの実行方法を説明します。
scout プログラムの初期化 | scout |
トレース・ログに関する情報の表示 | fstrace lslog |
イベント・セットに関する情報の表示 | fstrace lsset |
トレース・ログのサイズの変更 | fstrace setlog |
イベント・セットの状態の設定 | fstrace setset |
トレース・ログの内容のダンプ | fstrace dump |
トレース・ログの消去 | fstrace clear |
afsmonitor プログラムの初期化 | afsmonitor |
scout プログラムは、ファイル・サーバー・マシン上で実行されるファイル・サーバー・プロセスの状況をモニターします。これは、指定した一連のファイル・サーバー・プロセスの統計を集めて、これをグラフィカル形式で表示し、構成可能なしきい値を超える統計がある場合は警告します。
具体的に scout プログラムには、以下の機能があります。
scout プログラムは、ほとんどの UNIX で標準のユーティリティーとして配布される curses グラフィックス・パッケージにアクセスする AFS クライアント・マシン上で実行します。 scout プログラムは、ダム端末および端末をエミュレートするウィンドウ操作システムのどちらでも実行できますが、出力表示は、反転表示およびカーソルのアドレス指定をサポートするマシンが最も適しています最適な結果を得るには、TERM 環境変数には、正しい端末タイプ、または実際の端末タイプに類似した特性を持つ端末タイプを設定する必要があります。 AIX を実行するマシンでは、TERM を vt100 に設定することをお勧めします (その端末が類似しているものである場合)。その他のオペレーティング・システムに対しては、設定可能な値は、 xterm、xterms、vt100、vt200、および wyse85 です。
scout プログラムの実行には特権は必要ないため、バイナリーのあるディレクトリー (通常の構成では /usr/afsws/bin ディレクトリー) にアクセスできるユーザーであれば、これを使用することができます。統計を収集するプログラムのプローブは、ファイル・サーバー・プロセスに大きな負荷を課しませんが、バイナリー・ファイルを適切なアクセス制御リスト (ACL) を持つディレクトリーに配置することにより、その使用を制限することができます。
scout プログラムの複数インスタンスを単一のクライアント・マシンで実行することができます。それぞれのインスタンスは、その専用接続上 (そのウィンドウ内) にあります。これはフォアグラウンドで実行する必要があり、これを実行するウィンドウは、割り込みシグナルを除いて追加入力を受け入れません。
scout プログラムは複数のマシンで実行することもでき、その出力は単一マシンで表示ができます。これには制御マシンから他のマシンに telnet 接続をオープンし、それぞれのリモート・ウィンドウでプログラムを初期化します。この場合、-host フラグを scout コマンドに組み込み、各リモート・マシンの名前を出力表示ウィンドウ上部の banner line に表示することができます。 バナー行 を参照してください。
前述のように、scout プログラムを使用して、任意の数のファイル・サーバー・マシン上のプロセスをモニターすることができます。すべてのマシンが同一のセルに含まれる場合、そのホスト名はすべて同一のドメイン名サフィックス (ABC Corporation のセルの abc.com など) を持ちます。この場合、-basename 引き数を scout コマンドに使用すると、いくつかの利点があります。
scout プログラムは、統計を専用ウィンドウか、ウィンドウ操作環境が使用できない場合は通常の画面のいずれかで表示します。最適な結果を得るためには、画面が反転表示で表示し、カーソルのアドレス指定を実行するウィンドウまたは画面を使用します。
scout 画面には 3 つの主要な領域の バナー行、統計表示領域 および プローブ/メッセージ行 があります。本機能グループでは、その内容および コマンドおよび表示のサンプル に示すグラフィック例を説明します。
デフォルトでは、ウィンドウまたは画面の上部のバナー行に文字列 scout が表示され、 scout プログラムが実行中であることを示します。コマンド行で適切なオプションを組み込むことにより、以下の 2 種類の追加情報を表示することができます。
たとえば、 scout プログラムをマシン client1.abc.com で実行し、-host フラグを使用した場合、以下のバナー行が表示されます。
[client1.abc.com] scout
たとえば、値 abc.com を -basename 引き数に指定すると、バナー行は以下のように表示されます。
scout for abc.com
統計表示領域は、ウィンドウの大半を占め、 6 つの列に分割されます。以下のリストには、ウィンドウ内でこれが左から右に現れる順に説明しています。
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 プログラムの反応は異なります。開発段階でのテストでは、表示環境がウィンドウのサイズ変更についての信頼できる情報を提供しないことが判明しています。 X ウィンドウ・システムを使用する場合は、以下のコマンドのシーケンスを scout プログラムを開始 (またはコマンドをシェル初期化ファイルに配置) する前に実行すると、サイズ変更を適切に調整することができます。
% set noglob % eval '/usr/bin/X11/resize' % unset noglob
% 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>]
ここで、
ドメイン名サフィックスをマシン名の開始部分から分離するピリオドは除外して、サフィックス内のピリオドは入れてください。 (たとえば、 ABC Corporation セルでは、正しい値は abc.com であり、.abc.com ではありません。)
指定した値は、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
本機能グループでは、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 つ (a、c、d、および e) は反転表示され、それらの項目が 95% 占有 (Disk attn ヘッダーに表示されるしきい値) を超えていることを示しています。
![]() |
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 回となっています。
![]() |
図 4 では、State University セルの管理者はそのセルのファイル・サーバー・マシンの 3 つをモニターします。管理者は -basename 引き数を使用して stateu.edu ドメイン名を指定します。
% scout -server server2 server3 server4 -basename stateu.edu
![]() |
図 5 は、scout プログラムの 3 つの機能を説明しています。最初に、異なるセルのファイル・サーバー・マシン (fs1.abc.com、server3.stateu.edu および sv7.def.com) を 1 つの表示でモニターします。これらのマシンは異なるセルに所属するため、 -basename 引き数を指定することはできません。
2 番目に、 5 番目の列に入りきらないマシン名を切り捨てて表示しているようすを示しています。名前の最後にアスタリスクを使用して、これが省略されていることを示しています。
3 番目に、scout プロセスがファイル・サーバー・プロセスに到達できないと、どのような状態になるかを示しています。この場合、マシンのうちの 1 つの sv7.def.com が強調表示され、他の列の値が空白になっています。
![]() |
本機能グループは、システム管理者がデバッグの目的でキャッシュ・マネージャーの活動をトレースするために使用する fstrace コマンドについて説明します。 クライアント・マシンとキャッシュ・マネージャーの管理 に説明されているキャッシュ・マネージャーについて精通しているユーザーを前提としています。
fstrace コマンド・スイートにより、キャッシュ・マネージャーの内部活動をモニターし、その操作を詳細に記録またはトレースすることができます。操作は、イベント と呼ばれますが、 cm イベント・セット より構成されます。 cm イベントの例としては、ファイルのフェッチおよび UNIX ls コマンドを使用した、ファイルおよびサブディレクトリーのリストに対する情報の検索があります。
以下に fstrace コマンドとその機能を示します。
fstrace コマンド・スイートの機能は、 fs debug コマンドが提供する機能に相当し、これを大幅に拡張します。この使用目的は、クライアント・マシンの停止、キャッシュの整合性の問題、クロック同期エラー、およびボリュームまたは AFS ファイルへのアクセス失敗など、キャッシュ・マネージャーの特定の問題の診断を補助することにあります。このため、fstrace ロギングは、 AFS サーバー・プロセスの場合とは異なり、常時使用可能とはしておかない方がよいでしょう。
トレース・ログのほとんどのメッセージは、下位レベルのキャッシュ・マネージャー操作に対応しています。 AFS ソース・コードに習熟している操作員でなければ解釈できない場合が考えられます。 AFS ソース・ライセンスを所有する場合は、ソースを自分自身で解釈するか、または AFS 製品サポート・グループと共同して根底にある問題を解決することができます。 AFS ソース・ライセンスを所有していない場合は、問題が発生したらすぐに AFS 製品サポート・グループに連絡する方が効率的でしょう。 fstrace トレースが適切であれば、これをアクティブにするよう指示がなされます。
ログのサイズはすぐに増大し、ローカル・ファイル・スペースにファイルを書き込む場合は、貴重なディスク・スペースを使用することになります。さらに、ログのサイズが大きくなり過ぎると、結果を解析して関連情報を見つけるのが困難になる場合があります。
AFS を使用可能にし、cm イベントが発生するたびトレース・ログ cmfx にメッセージが書き込まれます。問題を診断するには、トレース・ログの出力を確認してキャッシュ・マネージャーが実行した操作を分析します。トレース・ログのデフォルトのサイズは 60 KB ですが、このサイズは変更することができます。
fstrace コマンド・スイートを使用するためには、まずトレースを使用可能にしてから、 fstrace setset コマンドを使用してトレース・ログのためのスペースを予約または割り振ります。このコマンドを使用すると、cm イベント・セットを以下の 3 つのうちの 1 つの状態に設定し、イベント・セットに対してトレースを使用可能にするか使用不可にする、またはカーネル内のトレース・ログのためのスペースを割り振り解除することができます。
イベント・セットとトレース・ログ両方は、持続 として指定することができます。指定すると、イベント・セットの状態が誤ってリセットされなくなり、またはトレース・ログがクリアされなくなります。指定は、カーネルがコンパイルされるときに行われ、変更することはできません。
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 help コマンドおよび fstrace apropos コマンド以外は、 fstrace コマンドを発行するには、そのコマンドを発行する人間がローカル・クライアント・マシン上で root としてログインする必要があります。 fstrace コマンドを発行する前に、必要な特権を持っていることを確認してください。
ロギングを実行できるようにするためには、キャッシュ・マネージャー・カタログが、適切な位置にある必要があります。 fstrace コマンド・スイートは、標準 UNIX カタログ・ユーティリティーを使用します。デフォルトのロケーションは、/usr/vice/etc/C/afszcm.cat です。キャッシュ・マネージャー・カタログは、そのファイルを任意の場所に移し、適切な NLSPATH および LANG 環境変数を使用すると、別のディレクトリーに入れることができます。
To use fstraceコマンドを最も効率的に使用するには、指示どおりに構成します。
AFS クライアント・マシンでキャッシュ・マネージャーのトレースを開始するには、まず最初に以下を構成します。
fstrace setlog コマンドは、 cmfx カーネルのトレース・ログのサイズを K バイトで設定します。トレース・ログはデフォルトで、カーネルの 60 K バイトを占有します。トレース・ログが既に存在する場合は、このコマンドが発行されると消去され、指定されたサイズの新規ログが作成されます。トレース・ログが存在しない場合は、希望するサイズの新規ログが作成されます。
fstrace setset コマンドは、 cm カーネルのイベント・セットの状態を設定します。 cm イベント・セットの状態は、該当するイベント・セットに含まれるイベントの情報がロギングされるかどうかを決定します。
AFS クライアント・マシンに対してカーネルのトレースを設定すると、イベント・セットの状態およびトレース・ログのために割り振られたカーネル・バッファーのサイズをチェックすることができます。 cm イベント・セットの状態に関する情報を表示するためには、 fstrace lsset コマンドを発行します。 cmfx トレース・ログの情報を表示するためには、 fstrace lslog コマンドを使用します。トレース・ログまたはイベント・セットの状態の表示 にある説明を参照してください。
% su root Password: root_password
# fstrace setlog [-log <log_name>+] -buffersize <1-kilobyte_units>
次の例は、cmfx トレース・ログのサイズを 80 KB に設定します。
# fstrace setlog cmfx 80
% su root Password: root_password
% fstrace setset [-set <set_name>+] [-active] [-inactive] \ [-dormant]
以下の例では、cm イベント・セットをアクティブにします。
# fstrace setset cm -active
イベント・セットは、トレース・ログに取り入れるため活動 状態になっている必要があります。イベント・セットの状態を表示するには、fstrace lsset コマンドを使用します。その状態を設定するには、イベント・セットの設定方法に説明してあるように、 fstrace setset コマンドを使用します。
トレース・ログのサイズおよび割り当て情報を表示するには、-long 引き数を付けてfstrace lslogコマンドを発行します。
% su root Password: root_password
# fstrace lsset [-set <set_name>+]
次の例は、ローカル・マシン上のイベント・セットおよびその状態を表示します。
# fstrace lsset cm Available sets: cm active
このコマンドの出力は、イベント・セットおよびその状態をリストします。 cm イベント・セットのイベントの 3 つの状態は、以下のとおりです。
% su root Password: root_password
# 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 コマンドは、ログのサイズを変更するために使用するときには既存のトレース・ログも自動的にクリアします。)
% su root Password: root_password
# 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 はトレース・ログ・ダンプの開始時間、そして n は fstrace 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 日以降の標準時刻形式です。
現行の時間メッセージを使用して、各ログ・メッセージに関連する実際の時間を判別することができます。実際の時間の判別は以下のとおりに行います。
ログ・データは限定された循環バッファーに保管されるため、いくつかのデータは読み取られる前に上書きされる場合があります。このことが発生すると、ダンプの適切な場所に以下のメッセージが表示されます。
Log wrapped; data missing.
注: | 作業負荷が大きい場合にダンプの中間でこのメッセージが表示される場合がありますが、このメッセージはすべてのログ・データがログに書き込まれないこと、またはいくつかのデータが上書きされることを示します。 fstrace setlog コマンドを使用してログのサイズを大きくすると、この問題の発生を少なくすることができます。 |
% su root Password: root_password
# fstrace clear [-set <set_name>+] [-log <log_name>+]
次の例は、ローカル・マシン上の cm イベント・セットが使用する cmfx ログを消去します。
# fstrace clear cm
次の例もまたローカル・マシン上の cmfx ログを消去します。
# fstrace clear cmfx
本機能グループには、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 プログラムを使用すると、統計情報を収集することによって、指定したファイル・サーバーおよびキャッシュ・マネージャー・プロセスの状態およびパフォーマンスを監視することができます。1 つの使用法として、 afsmonitor プログラムを使用して、キャッシュ・マネージャー構成を最適に調整し、ファイル・サーバーの負荷を調整することができます。
afsmonitor プログラムを使用すると、次のタスクを実行することができます。
以下のソフトウェアは、 afsmonitor プログラムが実行されているマシンにアクセス可能でなければなりません。
afsmonitor 画面は、いわゆるダム端末と、端末をエミュレートするウィンドウ操作システムの両方で、正常に形式設定します。出力を最適に表示するためには、表示環境が反転表示とカーソルのアドレス指定をサポートしている必要があります。 TERM 環境変数を、正しい端末タイプ、または実際の端末タイプに類似した特性を持つ値に設定します。表示ウィンドウまたは端末には、最低 80 カラムの幅および 12 行の長さが必要です。
afsmonitor プログラムは、独立した固有の専用ウィンドウまたは端末で、フォアグラウンドで実行する必要があります。そのウィンドウまたは端末は、 afsmonitor プログラムの実行中は、他のいかなる活動にも使用できません。各インスタンスがそれぞれ独自の専用のウィンドウまたは端末で実行されていれば、 afsmonitor プログラムの任意の数のインスタンスを、単一のマシン上で実行することができます。追加のインスタンスを開始する場合、最大 3 分の時間がかかりますので注意してください。
afsmonitor プログラムを実行するには、特権は必要ありません。規約では、このプログラムは /usr/afsws/bin ディレクトリーにインストールされ、そのディレクトリーにアクセスできる人は誰でもファイル・サーバーとキャッシュ・マネージャーをモニターすることができます。何百人もがプログラムを実行するのでなければ、afsmonitor プログラムが統計を収集するために使用するプローブによってファイル・サーバーまたはキャッシュ・マネージャー上でかなりの負荷が発生することはありません。プログラムの使用を制限したい場合は、許可ユーザーだけが使用できるディレクトリーにプログラムのバイナリー・ファイルを移動させてください。
afsmonitor プログラムは、次の 3 つの画面でデータを表示します。
すべての画面の各コーナーのフィールドには、以下の情報が表示されます。
afsmonitor 表示画面のナビゲート
上述のように、すべての表示画面の左下のコーナーには、別の画面 (別の種類の表示、または現在表示されている統計またはマシンの続き) へ移動するために現在使用できるコマンドの名前が表示されます。コマンドを実行するには、コマンド名の最初の文字を小文字で入力します。以下のリストに示すように、コマンドの中には、大文字で入力すると異なる結果が得られるものがあります。
System Overview 画面は、 afsmonitor プログラムが初期設定されると自動的に表示されます。この画面は、ファイル・サーバーおよびキャッシュ・マネージャーのプロセスの状況を、現行ウィンドウに表示可能な数だけ表示します。表示されていない情報を表示するには、スクロールダウンしてください。
この画面では、情報は左方のファイル・サーバー情報と、右方のキャッシュ・マネージャー情報に分かれています。各グループのヘッダーは、2 種類の情報を提供します。
その後には、監視されているマシンのリストが続きます。マシン上にアラートがあると、その数が、ホスト名の左方に、大括弧で囲まれて表示されます。あるプロセスが最後のプローブに対する応答に失敗すると、そのプロセスの左方に、 PF (プローブの失敗) という文字が、大括弧に囲まれて表示されます。
以下の図は、システム概要 画面の例を示しています。 afsmonitor プログラムは、6 つのファイル・サーバーと 7 つのキャッシュ・マネージャーをモニターしています。ホスト fs1.abc.com 上のファイル・サーバー・プロセスおよびホスト cli33.abc.com 上のキャッシュ・マネージャーは、1 つのしきい値が超えられたことを示すため、それぞれに [ 1] がマークされています。ホスト fs6.abc.com 上の [PF] マーカーは、そのファイル・サーバー・プロセスが最後のプローブに応答しなかったことを示しています。
![]() |
File Servers 画面は、ファイル・サーバー統計の最初のプローブで収集された値を表示します。
画面上部 (標準プログラムのバージョンおよび画面の表題のブロックのすぐ下) の要約行は、監視するファイル・サーバーの数、アラートの数、およびそれらのアラートによって影響を受けるマシンの数を指定します。
最初の列には、監視されているファイル・サーバーを実行しているマシンのホスト名が常に表示されます。
ホスト名の列の右側には、統計の列が、そのディスプレイまたはウィンドウの幅の中で表示可能な数だけ表示されます。各列には 10 文字分のスペースが必要です。各列の上には、統計の名前が表示されます。マシン上のファイル・サーバーが最新のプローブに応答しなかった場合は、各列にダッシュが 2 つずつ表示されます (--)。ある値が構成したしきい値を超えると、その値は反転表示で強調表示されます。割り当てられた列幅に対して値が大きすぎる場合は、同じ行の次の列に桁あふれします。
利用可能なファイル・サーバー統計のリストは、付録 C, afsmonitor プログラムの統計 を参照してください。
以下の図は、前述のシステム概要画面の例に続く ファイル・サーバー 画面を示していますが、追加の 1 つのサーバー・プローブが完了しています。この例では、fs1 上のファイル・サーバー・プロセスが、受信したパフォーマンス呼び出しの数に対して構成したしきい値 (numPerfCalls) を超えているため、そのフィールドが反転表示されています。ホスト fs6 は、プローブ 10 に応答しなかったので、すべてのフィールドにダッシュが表示されます。
図 7. afsmonitor [ファイル・サーバー] 画面
![]() |
[ファイル・サーバー]画面および[キャッシュ・マネージャー]画面 (次の機能グループで説明) はともに、何百もの列のデータを表示することができるため、左右にスクロールできるように設計されています。上掲の画面は左端の画面であり、画面の表題ブロックは 235 のカラムのうち 1 番目のカラムが表示されていることを示します。画面の右上隅に表示される >>> 記号およびコマンド・ブロックの right コマンドは、右にスクロールするとさらにデータが存在することを示しています。(使用可能な統計の情報については、 付録 C, afsmonitor プログラムの統計 を参照してください。)
right コマンドを実行すると、画面は以下の例に類似したものとなります。ここでは、水平スクロールの記号が左 (<<<) と右 (>>>) を指し示し、 left および right コマンドの両方が表示され、左右両方にスクロールすると追加のデータが存在することを示すことに注意してください。
図 8. 右方に 1 ページシフトしたafsmonitor [ファイル・サーバー] 画面
![]() |
Cache Managers 画面は、キャッシュ・マネージャー統計の最新のプローブで収集された値を表示します。
画面上部 (標準プログラムのバージョンおよび画面の表題のブロックのすぐ下) の要約行は、監視するキャッシュ・マネージャーの数、アラートの数、およびそれらのアラートによって影響を受けるマシンの数を指定します。
最初の列には、監視されているキャッシュ・マネージャーを実行しているマシンのホスト名が常に表示されます。
ホスト名の列の右側には、統計の列が、そのディスプレイまたはウィンドウの幅の中で表示可能な数だけ表示されます。各列には 10 文字分のスペースが必要です。各列の上には、統計の名前が表示されます。マシン上のキャッシュ・マネージャーが最新のプローブに応答しなかった場合は、各列にダッシュが 2 つずつ表示されます (--)。ある値が構成したしきい値を超えると、その値は反転表示で強調表示されます。割り当てられた列幅に対して値が大きすぎる場合は、同じ行の次の列に桁あふれします。
利用可能なキャッシュ・マネージャー統計のリストは、付録 C, afsmonitor プログラムの統計 を参照してください。
以下の図は、前述の[システム概要]画面に続く[キャッシュ・マネージャー]画面を示しています。この例では、ホスト cli33 上のキャッシュ・マネージャー・プロセスが接続できるセルの数に対して構成したしきい値 (numCellsContacted) を超えているため、そのフィールドが反転表示されています。
図 9. afsmonitor [キャッシュ・マネージャー] 画面
![]() |
afsmonitor プログラムをカスタマイズするには、ASCII 形式の構成ファイルを作成し、-config 引き数を使用して名前を付けます。構成ファイルでは以下を指定することができます。
以下のリストは、構成ファイルで表示できる指示を示しています。
fs、cm、field_name、 threshold_val、および arg1 から argn パラメーターは、 thresh 行の同名の値に対応しています。 host_name パラメーターは、統計がしきい値を超えた場所が、ファイル・サーバーかクライアント・マシンか、および、 actual_val パラメーターが、しきい値と同じまたはしきい値を超えている field_name の実際の値かどうかを識別します。
thresh 行を使用して、 fs 行にリストされているすべてのファイル・サーバー・マシンか、 cm 行にリストされているすべてのクライアント・マシンに適用する、グローバルなしきい値を設定するか、あるいは、単一のファイル・サーバーまたはクライアント・マシンにのみ適用する、マシン固有のしきい値を設定します。
構成ファイル内に show 行がない場合は、キャッシュ・マネージャーとファイル・サーバーの両方のすべての統計が、画面に表示されます。同様に、show fs 行がない場合は、すべてのファイル・サーバー統計が File Servers 画面に表示され、 show cm 行がない場合は、すべてのクライアント統計が Cache Managers 画面に表示されます。
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 命令により、マシン client5、client33、 client14、および client2 上のキャッシュ・マネージャーをモニターします。最初の 3 つは、すべてのグローバルしきい値を使用します。
client2 上のキャッシュ・マネージャーは、 dremoteAccesses 統計に対しグローバルしきい値を使用しますが、 dlocalAccesses に対するものとは異なるものです。さらに、 client22 は、 vcacheMisses 統計に設定されたしきい値を使用する唯一のキャッシュ・マネージャーです。
fs 命令により、マシン fs3、fs9、fs5、および fs10 上のファイル・サーバーをモニターします。これらはすべて、 rx_maxRtt_Usec 統計に対するグローバルしきい値を使用します。
show fs 命令がないため、 [ファイル・サーバー]画面にはすべてのファイル・サーバー統計が表示されます。[キャッシュ・マネージャー]画面には、 show cm 命令で指定した統計のみが左から右の順に表示されます。 Auth_Stats_group には複数の統計が含まれ、そのすべてが表示されます (curr_PAGs、curr_Records、curr_AuthRecords、curr_UnauthRecords、curr_MaxRecordsInPAG、curr_LongestChain、PAGCreations、TicketUpdates、HWM_PAGS、 HWM_Records、HWM_MaxRecordsInPAG、および HWM_LongestChain)。
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 [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...
ここで、
afsmonitor プログラム・セッションを終了するには、 <Ctrl-c> 割り込みシグナルまたは大文字の Q を入力します。
afsmonitor プログラムは、xstat データ収集機能を使用して、 (afsmonitor プログラムが) その機能を実行するために使用するデータを収集して計算します。また、xstat 機能を使用して、独自のデータ表示プログラムを作成することもできます。その場合は、次のことを考慮してください。ファイル・サーバーは、ファイル・サーバーの RPC ルーチンを呼び出すすべてのプログラムをキャッシュ・マネージャーとみなします。したがって、ファイル・サーバー・インターフェースを直接呼び出すすべてのプログラムは、キャッシュ・マネージャーの呼び出しインターフェースをエクスポートする必要があります。この呼び出しプログラムは、必要なコールバック状態をエミュレートすることができる必要があり、ファイル・サーバーからの定期的なキープアライブ・メッセージに応答する必要があります。さらに、呼び出しプログラムはその収集データを取りまとめることができる必要があります。
xstat 機能は、ユーザー・レベルのアプリケーションで使用できる 2 つの C 言語ライブラリーで構成されます。
このライブラリーを使用すると、発呼者は以下を登録することができます。
ライブラリーは、軽いプロセス、コールバック対話、およびデータ収集に関連するタイミングの問題すべてを処理します。ユーザーは、データを処理するだけで済みます。
libxstat_fs.a および libxstat_cm.a ライブラリーは、コールバック要件およびファイル・サーバーとキャッシュ・マネージャーのデータの収集に関連する複雑な問題を扱います。システム管理者は、必要なデータを累算する方法のみを提供します。それぞれの xstat ライブラリーは、3 つのルーチンをインプリメントします。
ファイル・サーバーおよびキャッシュ・マネージャーは、それぞれがクライアントが取り出すことができるデータ収集を定義します。データ収集は、単に、1 つの単位として収集することができる関連する数値の集合です。たとえば、ファイル・サーバーおよびキャッシュ・マネージャーは、それぞれがプロファイルおよびパフォーマンスのデータ収集を定義します。プロファイル収集は、障害分析のために、サーバー内で呼び出される内部機能の回数のカウントを保持します。パフォーマンス収集は、パフォーマンス分析のために、特にファイル・サーバーの内部ディスク I/O 統計およびキャッシュ・マネージャーのキャッシュ効果の数値を記録します。
xstat、そのライブラリー、ライブラリー内のルーチンについての追加の使用法を提供する詳細な仕様書については、 AFS 製品サポートに連絡してください。
AFS は、次の2 つの下位レベルのサンプル・コマンド、 xstat_fs_test および xstat_cm_test を提供します。これらのコマンドを使用すると、xstat 機能を試すことができます。これらのコマンドは、情報を取りまとめ、ファイル・サーバーまたはキャッシュ・マネージャーの使用可能なデータ収集を表示します。これらのサンプル・コマンドは、 xstat を使用して収集できるデータ・タイプの例を提供するためのものであり、実際のデータの収集に使用することはできません。
% 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]
ここで、
2 つの値が受け入れ可能です。
% 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]
ここで、
2 つの値が受け入れ可能です。
AIX ファイル・サーバー上の AFS イベントは、監査情報を AFS から AIX の検査システムへ転送する AFS 機構を使用して監査することができます。以下に示す AFS イベントの汎用クラスを監査することができます。特定の AFS 監査イベントの完全なリストは、付録 D, AIX 監査イベント を参照してださい。
注: | この節は、AIX の検査システムについて知識があることを前提とします。詳細については、使用する AIX のバージョンの AIX システム管理の手引き を参照してください。 |
ディレクトリー /usr/afs/local/audit には、 AFS イベントを監査するために行う AIX ファイル・サーバーの構成に必要な情報を含む 3 つのファイルがあります。
これらのファイルを適切に構成して、AFS 関連情報を組み込んだら、 AIX 検査システムを使用して監査を開始し終了します。
AFS_AUDIT_AllEvents