この章では、一般的なテスト環境で使用される SunVTS の機能について説明します。
システムマッピングにより、必要に応じた方法でシステム構成を表示することができます。System map には、テストが行われるデバイスだけが調べられ表示されます。テストを行うことができないデバイスや、現在 SunVTS テスト項目のないデバイスは表示されません。
System map は、以下の 2 とおりの方法で表示することができます。
Physical (物理) - FRU (現場交換可能ユニット) を特定できるように、システム上の物理的な位置に基づいてデバイスを一覧表示します。たとえば、SCSI デバイスは SCSI コントローラの下に示され、SCSI コントローラは、そのコントローラが接続されている入出力バスの下に示されます。可能な場合は、ボード番号とコントローラの種類も表示されます。システムによっては、この表示を行えないことがあります。下記の注を参照してください。
Logical (論理) - デバイスを機能別のグループに分けて一覧表示します。たとえば、ネットワークデバイスは Network カテゴリの下、SCSI デバイスは SCSI devices カテゴリの下に表示されます。論理マップによって、システムが論理デバイスグループで構成されていることが分かります。システム上の特定の 1 つのグループを表示したり、すべてのグループを表示したりすることができます。
物理表示と論理表示の切り替えには、SunVTS ユーザーインタフェースの Physical または Logical ボタンを使用します。
物理マッピングは、configd プログラムがインストールされているシステムでのみ表示することができます。パッケージのインストールと管理についての詳細は、『Solaris のシステム管理』および 第 2 章「SunVTS のインストールと削除」を参照してください。
Connection (接続) と Functional (機能) の 2 つのテストモードが用意されています。これらのモードは、テストされるシステムの状態と、その目的がそれぞれ異なります。
Solstice SyMON から SunVTS を起動した場合は、Functional モードのテストは制限付きで実行されます。
1 つのテストセッションで複数のテストモードを選択することはできません。
このテストモードでは、テストが行われるシステムにデバイスが接続されているかどうか、また、アクセスが可能かどうかを判断します。
機能テストは行われませんが、システムがオンラインの場合は、テストは問題なく実行することができます。
このモードのテストは限定的であるため、システム構成を検査するための周期的な確認に利用することができます。
このテストモードでは、選択されたデバイスとそのデバイスドライバのすべての動作がテストされます。
1 つのテストを実行してそのデバイスの機能だけ検査することも、すべてのシステムデバイスに対して複数の検査を実行し、完全なシステム検査を行うこともできます。
徹底したテストを行うため、システム資源が大量に使用されます。このため、このモードでのテスト中は、システム上で重要なアプリケーションを実行したり、システムを本格運用したりしないでください。
このテストモードでは、デバイスに関連するすべてのシステム資源がテストに利用できると想定されます。このため、デバイスにアクセスできない場合は、障害として記録されます。テストの実行には時間がかかりますが、対象範囲を全体に広げ、デバイスを完全に検査することを目的としています。
Functional モードでテストを行う際、SunVTS は、システムが安全なオフライン状態になっているかどうかを確認しません。このため、アプリケーションや SunVTS の間でシステム資源の競合が起きないように、ユーザー自身が確認する必要があります。詳細は、「SunVTS の実行時の注意事項」を参照してください。
Solstice SyMON は、ハードウェアおよびシステムの状態を素早く認識します。たとえば、CPU 障害などの重大な状態や、スワップ空間の減少などの些細な状態を監視することができます。また、ハードウェア性能を監視して、ディスクのソフト読み取りエラーなどの初期ハードウェア障害を検出することもできます。
Solstice SyMON はオンライン診断インタフェースです。このため、Solstice SyMON を実行しながら SunVTS を使用することができます。この場合は、他のアプリケーションとユーザーに対する影響を最小限に抑えながら、Functional テストモードで動作テストが行われ、障害が検出されます。
Solstice SyMON から Functional テストモードにアクセスする場合に、システムが重要なアプリケーションを実行していても構いません。テストはこの状態を検出し、通常は、与えられた制約内で可能な広範囲のテストが行われます。このモードでは、テストパラメタの一部と実行オプション、一部システムオプションの設定が固定され、変更することはできません。これは、危険な動作を引き起こす可能性のあるオプションが選択されて、システムが不安定な状態にならないようにするためです。
表 5-1 に、異なるモードでのテスト実行オプションのデフォルト値を示します。
表 5-1 実行オプション
オプション |
Connection テストモード |
Functional テストモード |
SyMONからの Functional テストモード |
---|---|---|---|
Stress |
無効 (固定) |
無効 |
無効 (固定) |
Verbose |
無効 (固定) |
無効 |
無効 (固定) |
Core File |
無効 (固定) |
無効 |
無効 (固定) |
Run On Error |
無効 (固定) |
無効 |
無効 (固定) |
Max Passes |
1 (固定) |
0 |
1 (固定) |
Max Time |
0 (固定) |
0 |
0 (固定) |
Number of Instances |
1 (固定) |
プロセス数によって異なる |
1 (固定) |
SunVTS には、サンのシステムの大部分のハードウェアデバイスに対するテストが用意されています。
SunVTS を起動すると、 SunVTS カーネルはテストシステムデバイスを調べます。この調査の結果は、テストするデバイスを選択するためのデバイス一覧からなる SunVTS インタフェースに表示されます。システムの構成に関係のないテストが表示されることはありません。
テストは、特定のテストグループ全体または個別テスト単位で選択することができます。使用するテストモードと実行するテストは、テストの目的によって異なります。
たとえば、SunVTS を使用して、断続的に発生する SCSI バスエラーの追跡を行う場合は、Functional テストモードで SCSI グループ全体をテストすることによって、SCSI サブシステムを完全に検査します。次に、そのテストの後で特定の SCSI デバイスを選択して、どのデバイスでエラーが再現するか調べます。
もう 1 つの例として、新たに設置したシステムを本格的に運用する前に検査するという目的も考えられます。この場合は、指定した時間の間、Functional モードですべてのデバイスをテストします。
オプションボード、周辺装置、通信デバイスなどの特定のデバイスの接続に問題がないかどうかを調べる場合は、Connection テストモードでテストします。
特定の 1 つのテストやテストグループを選択する方法は、使用する SunVTS ユーザーインタフェースによって異なります。詳細は、以下に示す節を参照してください。
CDE ユーザーインタフェース - 「テストするデバイスを選択する」
OPEN LOOK ユーザーインタフェース - 「OPEN LOOK Test Selection パネル」
TTY ユーザーインタフェース - 「個別テストとテストグループの選択」
テストを選択する前に、ユーザーの介入を必要とするテストがいくつかあります。このようなテストでは、記憶媒体を挿入するか、ループバックコネクタを取り付ける必要があります。この作業を行っていない場合は、テストを選択する前に intervention モードを有効にして、必要な作業を行います。
Functional テストモードでこのようなデバイスをテストする場合は、あらかじめドライブに記憶媒体を挿入しておいてください。
テープドライブ - テストするテープドライブにスクラッチテープを挿入してください。テープテストは読み取り専用モードで行われますが、誤ってデータが上書きされることのないようスクラッチテープを使用してください。
CD-ROM ドライブ - CD-ROM ドライブに CD を挿入してください。音楽用 CD またはデータ CD のどちらでもかまいません。
フロッピーディスクドライブ - フロッピーディスクドライブにスクラッチディスクを挿入してください。フロッピーディスクテストは読み取り専用モードで行われますが、誤ってデータが上書きされることのないようスクラッチディスクを使用してください。
通信ポート - ほとんどの通信ポートテストでは、ポートにループバックコネクタが接続されている必要があります。テストするポートに必要なループバックコネクタを接続してください。ループバックコネクタについての詳細は、『SunVTS 3.0 テストリファレンスマニュアル』を参照してください。
SunVTS カーネルがデバイスを正しく特定できるように、SunVTS を起動したとき、または再調査 (Reprobe) 機能を実行したときに行われるデバイスの調査の前に、記憶媒体やコネクタを取り付けてください。
Intervention モードは、テストを実行する際に何らかのユーザーの介入が必要であることを知らせるためのものです。Intervention モードを有効にすることによって、適切な記憶媒体やループバックコネクタが取り付けられているかどうかが確認されるわけではありません。
Intervention モードボタンの位置は、使用する SunVTS インタフェースによって異なります。詳細は、以下に示す節を参照してください。
CDE インタフェース - 「CDE Select devices (デバイス選択) 領域」
OPEN LOOK インタフェース - 「OPEN LOOK Test Selection パネル」
TTY インタフェース - 「TTY オプションの設定」
SunVTS では、Test Execution (テスト実行) オプションの変数を設定することで環境をカスタマイズすることができます。
表 5-2 Test Execution オプション
システムオプション |
説明 |
---|---|
Stress |
負荷テストを行います。 |
Core File |
コアファイルを作成することができます (SunVTS の bin ディレクトリが書き込み可能な場合)。コアファイル名は core.<テスト名>.xxxxxx であり、<テスト名> はコアダンプしたテスト名、xxxxxx は、一意のファイル名にするためにシステムによって生成される文字列です。Core File が無効な場合は、エラーの原因となったシグナルを示すメッセージが表示、記録されます (「Log Files ボタン」と第 4 章「SunVTS のユーザーインタフェース」を参照)。 |
Max Errors |
1 つのテストに対する許容エラー回数を指定します。ここで指定した回数エラーが発生すると、テストが停止します。0 を指定すると、エラーが発生してもテストが停止することはありません。 |
Max Passes |
1 つのテストに対する最大実行回数 (パス数) を指定します。 |
Max Time |
1 つのテストに対する最大実行時間を指定します (単位: 分)。 0 を指定すると、制限時間なしになります。 |
Number of Instances |
スケーラブルテストに対するインスタンス数を指定します。 |
Processor Affinity |
このオプションにより、指定するプロセッサ上でテストを行うことができます。 |
Run On Error |
許容エラー回数を指定します。このオプションで指定された回数エラーが発生すると、テストが停止します。 |
Verbose |
SunVTS コンソールウィンドウに詳細メッセージを表示します。 |
Solstice SyMON から SunVTS を起動した場合は、値がすでに割り当てられているために変更できないオプションがあります。このことにより、オンライン上のシステムに影響するような、オプションの値の変更や設定を行うことを防いでいます。
Test Execution のオプションは、次の 3 つのレベルで適用することができます。
最上位レベル - すべてのテストに適用されます。
グループレベル - 特定のグループ内のテストにだけ適用されます。
個別テストレベル - 特定のテストにだけ適用されます。
最上位レベルでオプションに値を適用すると、その下のすべてのグループとテストにその値が適用されます。同様に、グループレベルでオプションを設定すると、その値がその下のすべてのサブグループとテストに適用されます。これは、SunVTS のテスト環境をカスタマイズする機能です。 たとえば、Verbose オプションをシステムレベルで無効にし、特定のグループ (特定のテスト) に対してだけ有効にすることができます。これによって、そのグループからの詳細メッセージだけが表示されます。
ロックと上書き機能を使用して、Test Execution オプションの働きを制御することができます。これらの機能は、ユーザーインタフェースの Advanced メニューから使用します。
Group Lock (グループロック) を有効 (enabled) にすると、上位のレベルで設定されたオプションが特定のグループやテスト、およびそのグループに属するサブグループやテストに適用されなくなります。同様に Test Lock (テストロック) を設定して、特定のテストのオプション設定を保護することができます。
Override (上書き) 機能を使用して、ロックによる保護を無効にすることができます。たとえば、System Override (システム上書き) を有効 (enabled) にした場合は、すべてのロックが無効になり、Group Override (グループ上書き) を有効にした場合は、そのグループ下のすべてのロックが無効になります。
オプションを設定する手順は、使用する SunVTS ユーザーインタフェースによって異なります。具体的な手順については、以下に示す節を参照してください。
CDE ユーザーインタフェース
最上位レベルのオプションの設定 - 「Options メニュー」
グループレベルおよびテストレベルのオプションの設定 - 「デバイス別オプションメニューを使用する」
OPEN LOOK ユーザーインタフェース
最上位レベルのオプションの設定 - 「Set Options ボタン」
グループレベルおよびテストレベルのオプションの設定 - 「OPEN LOOK Test Selection パネル」
TTY ユーザーインタフェース - 「TTY オプションの設定」
個別テストオプションは、個々のテストに用意されている、そのテストにだけ関連するオプションのセットです。たとえば、ディスクテストでテストする媒体の量、メモリーテストでテストするメモリー量、ネットテストでの遠隔ホストのアドレスなどが個別テストオプションに該当します。これらのオプションについての詳細は、『SunVTS 3.0 テストリファレンスマニュアル』を参照してください。
スケーラビリティー機能によって、単一プロセッサーと多重プロセッサーに負荷を与えるテストインスタンスや、プロセス数を調整することができます。スケーラブルテストのオプションを変更し、各テストのインスタンスが別のオプションと同時に実行されるように設定すことができます。Processor Affinity 機能と組み合わせると、柔軟なテスト環境を構築することができます。以下に説明するオプションを使用して選択したテストインスタンスの数で、負荷の量を調節することができます。
Group Concurrency - 同じテストグループ内で同時に実行できるテストの最大数を設定します。このオプションは、最上位レベルとグループレベルの Schedule オプションメニューで使用することができます。
System Concurrency - システム全体で同時に実行できるテストの最大数を設定します。Group Concurrency オプションを上書きします。このオプションは、最上位レベルの Schedule オプションメニューで使用することができます。
Instances - 同じデバイスに対して同時に実行できるテストの数です。たとえば、1 つのテストにインスタンスが 8 個ある場合は、同じ 1 つのテストのコピーを同時に 8 個実行することができます。このとき、各コピーは、テストシステムの 1 つのプロセッサで実行することも、すべてのプロセッサを使用して実行することもできます (下記の Processor Affinity を参照)。インスタンス数は、Number of Instances オプション (このオプションはスケーラブルテストにだけ適用されます) を使用して設定します。このオプションは、いくつかのテストレベルの Test Parameter オプションメニューで使用することができます。
Processor Affinity - テストの実行に使用するプロセッサを指定することができます。マルチプロセッサシステムでだけ使用することができます。テストの各インスタンスが、異なる Processor Affinity を持つことができます。1台のプロセッサだけをテストのインスタンスに設定することができます。 Processor Affinity が指定されないときは、migrating がデフォルトになります。このオプションは、いくつかのテストレベルの Test Parameter オプションメニューで使用することができます。
Option Files メニューを使用して、現在選択されているテスト、SunVTS の詳細情報や個別テストオプション情報をファイルに保存し、後で利用することができます。この機能は、同じテストパラメタを繰り返し利用する場合に有用です。
SunVTS のメインウィンドウでテストとオプションの設定を行います。
Option File メニューを表示します。表示方法は、使用しているユーザーインタフェースによって異なります。
CDE インタフェース - メニューバーから Options をクリックし、Option Files を選択します。
OPEN LOOK インタフェース - Option Files ボタンをクリックします。
TTY インタフェース - 制御パネルから Option_files を選択し、Return キーを押します。
以下の図に示すように Option File フィールドに一意のファイル名を入力します。
Store ボタンをクリックして、オプションファイルの現在に設定を保存します。
詳細テストオプションと個別テストオプションの現在の設定が、指定したファイル名で /var/opt/SUNWvts/options ディレクトリに保存されます。
オプションファイルはユーザー自身で編集することも可能ですが、書式は厳密に従う必要があります。オプションファイル中に、不必要な文字や誤った文字があると、SunVTS カーネルやユーザーインタフェースが正しく動作しないことがあります。
読み込まれたファイルの内容がすべてのテストとテストオプションに反映され、SunVTS カーネルがすぐに使用できる状態になります。パラメタの設定に時間を費やす必要はありません。
(以下の例では、「オプションファイルを作成する」の手順に従って test.set2 というファイルが作成されているものと仮定します。)
sunvts コマンドで -o オプションを使用します (下記の例を参照)。
# ./sunvts -o Test.set2
読み込まれたファイルの内容がすべてのテストとテストオプションに反映され、SunVTS カーネルがすぐに使用できる状態になります。パラメタの設定に時間を費やす必要はありません。
グラフィックステストが行われているフレームバッファーに対して SunVTS を実行すると、誤ったエラーが発生することがあります。OPEN LOOK や CDE を使用している場合は、このエラーは障害ではありません。
グラフィックステストを起動した後に、同じウィンドウで、他のグラフィックスアプリケーションを実行することはできません。
CDE または OPEN LOOK ユーザーインタフェースを使用している場合は、グラフィックテストの Option メニューの Frame Buffer Locking オプションで Enable を選択します。
コマンド行からフレームバッファーテストを実行する場合は、以下のように引数を指定することによって、フレームバッファーのロックを有効にします。
(コマンド行引数についての詳細は、『SunVTS 3.0 テストリファレンスマニュアル』を参照)。
# ./fbtest -o dev=cgthree0,lock=Enable
コンソールモニターの TTY モードで、フレームバッファーテストを行わないでください。フレームバッファーのテストが実行されないことがあります。
vtsui が動作しているフレームバッファーのウィンドウロックを、無効 (ロック解除) にした状態でテストを行っている間に、少しでもマウスを動かすと、誤ったエラーメッセージが表示されることがあります。
複数のフレームバッファー (ディスプレイ) を同時にテストする場合は、以下のような制限があります。
1 つのシステムで複数のフレームバッファーを同時にテストすることはできますが、ウィンドウ環境を実行できるのはコンソールモニターだけです。コンソールモニターは、/dev/fb によって示されるフレームバッファーに接続されているモニターです。
テストが誤ってエラーになることのないように、ウィンドウ環境が動作するフレームバッファーのウィンドウロックは有効にし、他のフレームバッファーのウィンドウロックは無効にする必要があります。
デフォルトでは、SunVTS によってコンソールバッファー (/dev/fb) のウィンドウロックが有効になります。システムに複数のフレームバッファーがある場合は、ウィンドウ環境が動作しているもの以外の、フレームバッファーのロックを無効にしてください。コマンド行からフレームバッファーテストを実行する場合は、コマンド行引数を使用し、ウィンドウロックを有効または無効にすることができます (詳細は、『SunVTS 3.0 テストリファレンスマニュアル』のコマンド行の説明を参照)。たとえば、フレームバッファーテスト (fbtest) を実行する場合は、以下のように lock=Disable/Enable オプションを使用してフレームバッファーのロックを無効にします。
#./fbtest -o dev=cgthree0,lock=Enable
SunVTS をコンソールモニター以外の画面から起動した場合は、フレームバッファーロック機能を使用することはできません。コンソールモニター用のフレームバッファーロックをオフにする必要があります。 SunVTS ユーザーインタフェースは、フレームバッファーロックが無効になっているモニターには表示されません。
SunVTS によるシステムのテスト中は、パネル、ウィンドウ、ログファイルを参照することによって、テストの進行状況を監視することができます。
テストの進行状況を監視するためのパネルは、システム状態パネル、System map (システムマップ)、パフォーマンスメーター、コンソールウィンドウの 4 つあります。
システム状態パネルには、システムの現在の状況、すなわち、SunVTS カーネルの処理状況が表示されます。処理状況は、たとえば、テストが行われていないときは idle、行われているときは testing、最大エラー発生回数に達するか、テストが停止しているときは stopped になります。
システム状態パネルには、正常に実行されたシステムパスの合計数 (すべてのテストが 1 回実行されると、システムパス 1 回となります) 、すべてのテストで発生したエラー発生回数の合計、総テスト経過時間も示されます。
System map パネルは、選択されているすべてのテストの状態を示します。テストの状態は以下のように表示されます。
Passes はテストの実行終了回数です。
Errors はテストがエラー終了した回数です。実行中のテストの前にはアスタリスク (*) が付きます。
トレースモードが実行中の場合は、テスト名に "T" という文字が表示されます。これにより、他のテストに比べてどのテストに時間がかかっているのかを、識別することができます。
CDE インタフェースは、テスト中のデバイスの現在の状態を示します。
黒はデバイスがテストされていないことを示します。
緑はデバイスに対して少なくとも 1 回テストが行われ、そのテストでエラーが検出されなかったことを示します。
赤は少なくとも 1 つのエラーが検出されたことを示します。
コンソールウィンドウには、テストや SunVTS カーネルから送られるメッセージが表示されます。テストに対して、詳細メッセージやシステムコールメッセージを有効にしている場合は、それらのメッセージも表示されます。スクロールバーを使用して隠れているメッセージを表示することができます。
パフォーマンスメーターは、テストの対象となるシステムの性能に関する統計情報が表示されます。詳細は、「Meter ボタン」と 「OPEN LOOK のパフォーマンスメーター」を参照してください。
テストセッション中にすべてのテストを中断、または一時停止する必要がある場合があります。たとえば、スクロールして見えなくなった Console パネルのメッセージを表示したり、ログファイルを参照して印刷するときなどです。
メニューバーの Commands から Suspend (中断) をクリックすると、すべての SunVTS テストが一時停止します。一時停止したテストセッションを再開するには、メニューバーの Commands から Resume (再開) を選択します。
システムを十分にテストしたあと、テストセッションを停止して、結果を検討することができます。
SunVTS は、様々な理由から自動的にテストの実行を終了します。たとえば、Option メニューの Single Pass オプションが有効な場合は、有効なすべてのテストを 1 回実行してから、テストを停止します (ただし、経過時間は増加し続けます)。
エラーが発生した場合に、エラー時の実行 (run on error) が設定されていない場合や、エラー時の実行が設定されていてもエラーカウントがエラーの最大数に達した場合は、テストは停止します。
Stop ボタンをクリックして、テストセッションを停止します。システム状態パネルに、一時的に "stopping" と表示されてテストは終了します。停止までの時間は実行しているテストによって異なります。たとえば、tapetest では、テープを巻き戻したり、マウントされたパーティションや一時ファイルを削除する時間が必要になります。テストが完了すると、ポップアップメニューに "testing completed: xxx pass(es), x error(s)" というメッセージが表示されます。
テストセッションを停止した後は、System map によって、発生したパスとエラーの数をテストごとに調べたり、ログファイルを表示または印刷することができます。
テストの処理が滞った場合は、SunVTS は Stop モードの状態になり、テストの終了を待ちます (この状態はハードウェア障害に起因する可能性があります)。テストを選択解除すると、SunVTS は停止しているテストを無視し、idle モードに戻ります。
テストセッションを繰り返す必要がある場合は、SunVTS を終了せずに、Reset ボタンをクリックします。
この節では、 ログファイルを表示、印刷、削除する方法と、ログファイルのエラーメッセージ形式について説明します。
テストの状態は、次の 3 つのログファイルに格納されます。
SunVTS のエラー状態ログ: /var/opt/SUNWvts/logs/sunvts.err
SunVTS の情報ログ: /var/opt/SUNWvts/logs/sunvts.info
Solaris のシステムメッセージログ: /var/adm/messages
sunvts.err ファイルには、SunVTS テストのエラーメッセージと開始・終了時刻が含まれます。情報ログファイルの sunvts.info には、SunVTS を起動、停止したときに生成される情報メッセージが含まれます。messages ファイルは、一般的な UNIX メッセージのログです。
ログファイルは、Log Files ボタンをクリックすると表示される、Log Files ウィンドウからアクセスすることができます。
ログファイル名を選択し、Display ボタンをクリックすることによってログファイルの内容を表示することができます。メニューから Print (印刷) ボタンや Remove (削除) ボタンを選択することによって、ファイルを印刷、削除することもできます。
これらのログファイルは非常に大きくなることがあります。印刷するときは、ファイルのすべての内容が必要かどうかを確認してください。
SunVTS カーネルのメッセージの形式は以下のようになります。
SUNWvts.テスト名[.サブテスト]. メッセージ番号 日付 時刻 テスト名 デバイス名 [FRU_パス名]ERROR|FATAL|INFO|WARNING|VERBOSE メッセージ
SunVTS テストメッセージの引数と簡単な説明を以下に示します。
表 5-3 SunVTS テストメッセージの構文
引数 |
説明 |
---|---|
SUNWvts |
SunVTS パッケージ名 |
テスト名 |
SunVTS テスト名 |
サブセット名 |
サブテストのモジュール名 (存在する場合) |
メッセージ番号 |
メッセージ識別子でテストに固有の番号。通常は以下の範囲です。 VERBOSE: 1 - 1999 INFO: 2000 - 3999 WARNING: 4000 - 5999 ERROR/FATAL: 6000 - 7999 FATAL: 8000 - 9998 (9999 は前バージョンの SunVTS のメッセージ用に確保されています) |
日付 時刻 |
エラーの発生日時を示します。 |
テスト名 |
エラーを返したテスト名です。 |
デバイス名 |
エラーが発生したデバイスです。 |
FRU_パス名 |
障害が発生した FRU のフルデバイスパス名。引数はエラーが発生した時の実行中のテストの種類に依存します。詳細は、「障害の発生した FRU 情報の意味」を参照してください。 |
メッセージ |
考えられる原因と推奨対処方法を含むテキストメッセージです。 |
テストが失敗すると、SunVTS は、障害の発生した FRU についての情報をエラーメッセージに記録します。エラーメッセージには、システム上の障害の発生した FRU の位置が示されます。この位置は、FRU が接続されているボード番号で始まるパスの形式で示されます。
たとえば、ボード番号 0 の cpu-unit0 の FRU パスは、以下のようになります。
cpu-unit0(board0)
ボード 0 上の esp0 で制御されるディスク c0t0d0 の FRU パスは、以下のようになります。
c0t0d0(board0/sbi0/esp0)
ボード 1 上の soc に接続されたディスク c1t0d0 の FRU パスは、以下のようになります。
c1t0d0(board1/sbi1/soc1/pln1)
この機能は、サーバーシステムである SPARCserver 1000、SPARCcenter 2000、Sun Enterprise 6000、Sun Enterprise 4000、Sun Enterprise 3000 でのみ使用することができます。
以下のオプションは,システムのデバッグをする際に使用することができます。
Verbose - テストデバイス上で行われている処理を示す詳細メッセージを表示 します。
Core File - いくつかのシグナルを受信したとき、現在の作業用ディレクトリにテストプロセスのコアイメージを作成します。このオプションが無効な場合は、 コアイメージが作成されないよう、信号は捕捉、処理されます。
Run On Error Option - 最大エラー数に到達するまでテストを継続します。
Processor Affinity - 指定のプロセッサにプロセス一覧を接続します。このオプションは、システムを熟知している上級ユーザーが指定のプロセッサの障害を取り除くために使用します。
これらのオプションの設定方法については、以下に示す節を参照してください。
CDE インタフェース - 「Options メニュー」
OPEN LOOKインタフェース - 「Set Options ボタン」
TTY インタフェース - 「TTY オプションの設定」
Start with Record と Replay オプションは、テストセッション中での重要なイベントのシーケンスを記録し、後にこの情報を再生、または参照するための機能です。テストセッションが記録されていれば、この情報を使用して記録されたイベントのシーケンスを SunVTS カーネルに再現させることができます。記録および再生機能は、テスト条件の再現方法やデバッグの手助けとなる処理を提供しています。
Record および Replay オプションは、イベントの順番を厳密に再現することができますが、イベントの時間の長さを再現することはできません。これは、それぞれの実行時間が異なるためです。このオプションを使用してスケジュール再生した場合は、考慮されるのは、本来の実行でのイベント同士の順番と、相対的なスケジュール時間の差だけです。
テストセッションの再生方法は限られています。これは、Replay オプションが、コマンドの完了時ではなく、コマンドの開始時にのみ制御可能なためです。
Record with Replay オプションは、次のテストイベントを記録します。
テストの開始
テストの停止
Intervention モードの有効と無効
テストの選択と選択解除
イベントは、指定ログディレクトリ中に保存される vts_replay_file ファイルに記録されます。ログディレクトリが指定されていない場合は、デフォルトで /var/opt/SUNWvts/logs ディレクトリが使用されます。
vts_replay_file の最初の部分は、記録が開始された時点での SunVTS カーネルとテストオプションの設定情報から構成されます。再生では、この情報を使用して元のオプション設定が復元されます。
イベントは、オプション設定保存後に記録されます。各イベントについては、以下の形式で情報が記録されます。
イベントの種類 経過時間 対象オブジェクト [インスタンス番号] [イベント固有情報]
次の表は、各イベント文字列をまとめたものです。
表 5-4 vts_replay_file のイベント文字列
イベント列 |
説明 |
---|---|
イベントの種類 |
START、 STOP、 SELECT、 DESELECT、INTERVENTION のいずれかです。 |
経過時間 |
先行のイベントからの経過時間 (単位: 秒) |
対象オブジェクト |
このイベントに関係するオブジェクト。例: fpu (fputest)。INTERVENTION イベントのように値がハイフンの場合は、このフィールドは無視されます。 |
インスタンス番号 |
テストのインスタンス番号。START と STOP イベントには、有効な番号が必要です。INTERVENTION、 SELECT、DESELECT イベントの場合は、このフィールドの値は -1 になります。 |
イベント固有情報 |
イベントの再生に必要なイベント固有の追加情報。START イベントの場合は、このフィールドには、テストコマンド行の引数が含まれます。また、INTERVENTION イベントの場合は、使用可能かどうかを示す値です。STOP、 SELECT、DESELECT イベントの場合は、このフィールドは空です。 |
Trace Test オプションを使用して、テストの実行中に生成されたすべてのシステムコールのログを作成することができます。この機能では、標準の UNIX コマンドの truss を使用してシステムコールのログをとります。 トレース機能によってログに記録されるトレースメッセージは、エラーの原因を特定する際のデバッグツールになります。
SunVTS の実行中は、どのテストに対しても、TTY コマンド行から UNIX の truss(1) コマンドを使用することができます(詳細は、truss(1) のマニュアルページを参照してください)。
メニューバーから Commands をクリックし、Trace test を選択します。
以下に示すような Trace Test ウィンドウが表示されます。
一覧からトレースするテストを選択して (複数選択可)、Apply をクリックするか、テスト名をダブルクリックしてトレースを有効にし、ウィンドウを閉じます。
テストの選択を終えると、ただちにシステムコールのトレースが有効になります。実行中のテストを選択した場合も、ただちにトレースが開始され、SunVTS コンソールウィンドウにトレースメッセージが表示されます。
トレースメッセージをファイルに保存する場合は、File を選択して、Apply をクリックします。
ホスト上で動作する SunVTS ユーザーインタフェースは、テスト中のシステム (SUT) で動作する SunVTS カーネルを制御することができます。SunVTS カーネルを制御するには、ユーザーインタフェースが SunVTS カーネルに接続されている必要があります。詳細は、「Host (Connect to) ボタン」を参照してください。
SunVTS カーネルは、SunVTS インタフェースからの接続要求を、以下のいずれかの情報に基づいて認証します。
要求を発行したホスト。このホストが認証ホストリストに登録されている場合は、認証なしで要求が許可されます。
SunVTS カーネルに接続している SunVTS ユーザーインタフェースを使用しているユーザーが所属するグループのグループ名。このユーザーが、Connect to 要求を発行したユーザーです。グループが、グループ一覧のメンバーとして登録されている場合は、ユーザーインタフェースに、パスワードを確認するためのプロンプトが表示されます。SunVTS カーネルにより、このパスワードと SUT 上のシステムデータベースとが比較されます。パスワードが一致しないか、ユーザーが一覧に存在しない場合、接続は拒否されます。
SunVTS ユーザーインタフェースを使用して SunVTS カーネル (vtsk) に対する Connect to 要求を発行したユーザーのユーザー名。ユーザーがユーザー一覧のメンバーである場合、ユーザーインタフェースには、パスワードを確認するためのプロンプトが表示されます。SunVTS カーネルにより、このパスワードと SUT 上のシステム データベースとが比較されます。パスワードが一致しないか、ユーザーが一覧に存在しない場合、接続は拒否されます。
ホスト、グループ、ユーザーの一覧は、.sunvts_sec セキュリティーファイルに定義されます。このファイルは、SunVTS 3.0 の bin ディレクトリにインストールされます。これらの一覧の正符号 (+) エントリは、それぞれ、すべてのホスト、すべてのグループ、すべてのユーザーを意味します。セキュリティーファイル (.sunvts_sec) のテンプレートファイルも、同じく SunVTS 3.0 の bin ディレクトリに置かれます。
セキュリティーチェックを有効にする場合は、.sunvts_sec の HOST セクション内の正符号 (+) を削除してください。
以下に、セキュリティファイルのテンプレートを示します。
#This file should be <SunVTS3.0 install directory>/bin/.sunvts_sec # #Any line beginning with a # is a comment line # # Trusted Hosts entry # One hostname per line. # A "+" entry on a line indicates that ALL hosts are Trusted Hosts. # No password authentication is done. # The line with the label HOSTS: is required to have the list of hosts # #HOSTS: + #host1 #host2 # # Trusted Groups entry # One groupname per line. # A "+" entry on a line indicates that ALL groups are Trusted Groups. # User password authentication is done. # The line with the label GROUPS: is required to have the list of groups # #GROUPS: #group1 # # Trusted Users entry # One username per line. # A "+" entry on a line indicates that ALL users are Trusted Users. # User password authentication is done. # The line with the label USERS: is required to have the list of users. #USERS: #user1 #user2
SunVTS カーネルは、セキュリティーファイル内のエントリの内容に基づいて要求を認証します。セキュリティーファイルに不正なエントリが含まれていたり、セキュリティーファイルにエントリが含まれていない場合は、ローカルマシンからの root 以外のアクセスは拒否されます。セキュリティーファイルのエントリは、SunVTS カーネルが動作しているときでも修正することができます。SunVTS カーネルが -e オプション付きで起動された場合は、SunVTS カーネルは、要求を発行した SunVTS ユーザーインタフェースのプロセスのユーザー ID に関係なく、すべてのホストからの Connect to 要求を受け付けます。
vtsk の認証に必要なユーザーパスワードは、ユーザーがテストを実行しているシステム (SUT) にログインする際に使用するパスワードと同じです。
SunVTS 環境に独自のカスタムテストを追加することができます。このマニュアルでは、SunVTS 環境にカスタムテストを組み込むために必要な作業についてのみ説明します。テスト環境についての説明は行いません。
カスタムテストを組み込むために、.customtest というテキストファイルを作成します。
使用している Solaris 環境に従って (32 ビットまたは 64 ビットのいずれか) 適切なファイルを編集してください。
32 ビット用: /opt/SUNWvts/bin/.custometest
64 ビット用: /opt/SUNWvts/bin/sparcv9/.custometest
.customtest ファイルに設定したオプションは、各テストのデフォルトの設定になります。このデフォルトのオプションは、SunVTS ウィンドウインタフェースのオプションメニューを使用して変更することができます。Reset ボタンを使用すると、すべてのオプションが、元の .customtest ファイルで指定したデフォルトの設定に戻ります。
SunVTS インタフェースにカスタムテストを表示するには、.customtest ファイルにテストラベル、テスト名、オプションを指定します。以下のファイル形式の説明を参照してください。
SunVTS を起動すると、指定したカスタムテストが表示されます。
後述のファイル形式の説明に従って .customtest ファイルを編集します。
sunvts を再起動するか、システム構成を再調査します。
.customtest を .customtest-<グループ名> という名前に変更すると、すべてのユーザーテストが指定した <グループ名> の下に表示されます。
.customtest ファイルは、2 箇所に置かれています。使用している Solaris 環境に従って (32 ビットまたは 64 ビットのいずれか) 適切なファイルを編集してください。
32 ビット用: /opt/SUNWvts/bin/.custometest
64 ビット用: /opt/SUNWvts/bin/sparcv9/.custometest
.customtest ファイルの各行は、セミコロン (;) で区切られた複数のフィールドから構成されます。
先頭フィールド: ラベル名またはデバイス名 (必須)。
第 2 フィールド: テスト名 (必須)。
第 3 フィールド: 任意の行 (省略可)。使用する場合は、必ず指定の書式で記述してください。
第 4 フィールド: SCA と入力 (スケーラブルテストの場合のみ使用)。
以下の例に示すように、ユーザーテストの定義には、セミコロン (;) で区切った少なくとも 2 つのフィールドが必要です。
% ラベル名;テスト名
複数のオプションを指定する場合は、各オプションをコンマ (,) で区切ります。
% ラベル名;テスト名;Numeric<NUMERIC|0,100|50|numeric>, Exc_Choice<EXC_CHOICE|Top,Middle,Bottom|Middle|exc_choice>, Inc_Choice<INC_CHOICE|Left,Center,Right|Left+Center+Right|inc_choice>,Toggle<TOGGLE|This,That|This|toggle>, Text <TEXT|20|Type_Here|text>, Slidebar<SLIDEBAR|0,10|5|slidebar>, Errors<CYCLE|Yes,No|No|errors>, Cycle<CYCLE|First,Second,Third|First|cycle>;SCA
% ./テスト名 -s[vq..] [-i n] -o dev=ユーザー名[0,1..],コマンド行オプション=値...
customtest 機能では、テストの状態調査を行うことはできません。バイナリが、SunVTS が実行されている Solaris カーネルのバージョンと互換性があるかどうかを確認する必要があります。