SunVTS 3.3 テストリファレンスマニュアル

第 28 章 Prestoserve テスト (pstest)

PrestoserveTM は、不揮発性メモリーに書き込まれたデータブロックをキャッシュすることにより、ディスク入出力アクセスの頻度を減少させる NFS アクセラレータです。キャッシュされたデータは、必要に応じて非同期にディスクにフラッシュされます。

pstest は、以下の 3 種類の検査を行って Prestoserve アクセラレータの機能を検査します。

バッテリーの電源レベルが適切かどうかを確認するために、pstest は、他の 2 つの検査を実行する前にこの検査を実行します。バッテリーの不良を検出すると、fatal error というメッセージを出力して終了します。

この検査は、ボードのメモリー全体を 1 つのプロセスアドレス空間に割り当ててボードをロックし、複数のアクセスが行われないようにします。次に、割り当てられたアドレス空間を順番に移動しながら、各空間で、文字、short、long の比較をします。pstest は、この検査を 2 回実施します。

この検査は、同期した読み取り・書き込みアクセスだけを行います。pstest は、オンボードのメモリー量に等しいデータをメモリーキャッシュに書き込み、そのデータを読み戻して比較します。データの書き込みに要する時間は 2 回測定されます。1 回目は Prestoserve アクセラレータを無効にした状態で測定し、2 回目は有効にします。1 回目の値を 2 回目の値で割ると、性能比が得られます。テストの 3 回のパスでこの比が 1:5 以下場合、Prestoserve ボードに問題があるかどうかを判断することはできません。

Prestoserve アクセラレータは、テスト中に /opt パーティションを高速化しますが、このパーティションは遠隔からマウントされていることもあるため、Prestoserve ボード自体に問題があることも、問題がないこともあります。場合によっては、ネットワーク性能に問題があることも考えられます。いずれにしても、性能比が 1:5 より小さい場合は、警告メッセージが表示されます。


注意 - 注意 -

一貫性のある結果を得るようにするには、Prestoserve 製品をインストールした際に、できるだけ多くの多重テストを実行します。このテストは、オプションメニューで選択します。デフォルトは 2 ですが、最大は 10 です。ただし、pstestkmem を同時に実行すると、SunVTS から誤ったエラーが返されることがあるため、両方のテストを同時には実行しないでください。


pstest のオプション

図 28-1 pstest のオプションメニュー

Graphic

pstest のテストモード

表 28-1 pstest のテストモード

テストモード 

説明 

機能テストモード(オフライン) 

ボードバッテリー検査サブテスト、ボードメモリー検査サブテスト、ボード性能およびファイル入出力アクセス検査サブテストを実行します。pstest は、このモードでのみ実行できます。

pstest のコマンド行構文

/opt/SUNWvts/bin/pstest 標準引数 -o e,l,f=テストファイルディレクトリ

表 28-2 pstest のコマンド行構文

引数  

説明 

e

性能比が 1:5 以下の場合に、警告メッセージを表示する性能警告を有効にします。 

l

長時間メモリーテストを有効にします。 

f=テストファイルディレクトリ

オプションのテストファイルのディレクトリを指定します。 


注 -

64 ビットのテストは、sparcv9 サブディレクトリに格納されています (/opt/SUNWvts/bin/sparcv9/テスト名)。このディレクトリにテストが存在しない場合、そのテストは、32 ビットのテストとしてだけ実行することができます。詳細は、「32 ビットテストと 64 ビットテスト」を参照してください。


pstest のエラーメッセージ

表 28-3 pstest のエラーメッセージ

 

エラーメッセージ 

考えられる原因 

対処方法 

6001

Checking prstatus failed:

 

 

6002

Failed to turn prestoserve DOWN:

 

 

6003

File I/O test failed with low performance ratio: 数値

 

/tmp に Prestoserve が設定されているかどうかを調べてください。

6004

byte compare: location = アドレス, observed = 数値, expected = 数値

 

 

6005

word compare: location = アドレス, observed = 数値, expected =数値

 

 

6006

(data type) long compare: location = アドレス, observed = 数値, expected = 数値

 

 

6007

lseek() failed:

 

 

6008

NVRAM write failed:

 

 

6009

NVRAM read failed:

 

 

6010

Failed to get status of Prestoserve failed:

 

 

6011

Failed to reinitialize Prestoserve:

 

 

6012

Failed to turn prestoserve UP:

 

 

6013

Failed to munmap prestoserve:

 

 

6014

File write failed:

 

 

6015

File read failed:

 

 

6016

Data compare failed

 

 

6017

Failed to restore prestoserve state: %s

 

 

6018

Prestoserve test is applicable in Functional test only

 

 

8001

Failed to open prestoserve board:

Prestoserve ハードウェアが組み込まれていません。 

 

NVSIMM/NVRAM SBus ボードが正しく装着されていません。 

 

Prestoserve ソフトウェアがインストールされていません。 

 

スーバーユーザーモードではありません。 

 

8002

Prestoserve is in the ERROR state

ディスクドライブでエラーが発生しました。 

 

8003

Some batteries are not good or not enabled

 

 

8004

memory_check (pass パス ID) failed

 

 

8005

fileio_check (pass パス ID) failed

 

 

8006

File I/O test failed (Prestoserve down)

 

 

8007

File I/O test failed (Prestoserve up)

 

 

8008

Open %s also failed: %s. Please enter test file directory

 

 

8009

PRESTOSERVE TESTS FAILED!