disktest テストは、3 つのサブテスト (媒体、ファイルシステム、非同期入出力) を使用して、ハードディスクドライブとフロッピーディスクドライブの機能を検査します(表 10-1 参照)。このテストでは、SCSI ディスクや、独自または SCSI のフロッピーディスク、IPI など、大部分のディスクドライブをテストすることができます。テストパラメタオプションダイアログボックスの上部にテスト中のドライブの種別が表示されます。
disktest のテストパラメタオプションダイアログボックスには、テストで使用できるすべてのパーティションが示されます。ファイルシステムサブテストは、選択されたパーティションがマウントされている場合にのみ実行することができます (後の説明を参照)。媒体サブテストの読み取り・書き込みテストは、選択されたパーティションがマウントされていない場合にのみ実行することができます。
デフォルトでは、disktest はパーティションをマウントしません。マウント可能なすべてのパーティションを SunVTS にあらかじめマウントさせるには、SunVTS を起動する前に、環境変数 BYPASS_FS_PROBE をゼロ (0) に設定しておきます。このマウント設定を無効にするには、BYPASS_FS_PROBE の設定を解除するか、またはゼロ以外の値に設定します。
disktest が使用するマウント先は、disktest にそのパーティション名を付けた名前になります。たとえば、ディスクパーティション名が /dev/dsk/c0t3d0s0 の場合、disktest は、スーパーユーザーとしてそのパーティションを /disktest_c0t3d0s0 という名前でマウントします。
読み取り・書き込みモードで媒体サブテストを実行しているときに停電が発生すると、ディスク上のデータが破壊されることがあります。
他のプログラムによって使用されているディスクパーティションに対して読み取り・書き込みモードで媒体サブテストを実行すると、データが破壊されることがあります。読み取り・書き込みモードは、システムがオフラインのとき (他のユーザーあるいはプログラムによってシステムが使用されていないとき) にのみ使用してください。
disktest のフロッピーディスクドライブのテストは、ボリューム管理ソフトウェアが動作しているかどうかにかかわらず行われます。使用されるマウント先を以下に示します。
ボリューム管理ソフトウェアが動作している場合は、/etc/mnttab ファイルにあるマウント先でディスクドライブをテストします。
ボリューム管理ソフトウェアが動作していない場合は、dev=/dev/diskette というデバイス名でディスクをテストします。/etc/vold.conf ファイルのフロッピーディスクドライブの記述は変更しないでください。SunVTS ソフトウェアは、デフォルトの論理名とし、/etc/vold.conf ファイルのパス名を使用するようにハードコードされています。
環境変数 BYPASS_FS_PROBE がゼロ (0) 以外の値に設定変更されると、BYPASS_FS_PROBE = 0 のときに作成したオプションファイルは読み込めなくなることがあります (オプションファイルについては『SunVTS 3.4 ユーザーマニュアル』を参照してください) 。この場合、テストは失敗して以下のエラーメッセージが表示されます。
SUNWvts.disktest.8088 07/24/98 15:47:22 disktest c0t0d0 FATAL: "Couldn't get file system information on /disktest_s0t0d0s0, statvfs() system call failure error: No such file or directory.
このようなエラーは、SunVTS は BYPASS_FS_PROBE = 0 のときに作成された定義済みのマウントポイント名を使用しようとするにもかかわらず、BYPASS_FS_PROBE がゼロ以外の値に設定されている間は、それらのマウントポイントが存在しないために発生します。
disktest でオプションファイルを使用する場合は、環境変数 BYPASS_FS_PROBE の値が異なる 2 種類の設定に対して、それぞれ独立したオプションファイルを作成してください。
disktest は、表 10-1 に示すサブテストから構成されています。
表 10-1 disktest のサブテスト
サブテスト |
説明 |
---|---|
Media subtest (媒体サブテスト) |
媒体サブテストは、ディスクに対して書き込み・読み取りを行うことによってディスクの媒体を検査します。このときディスクは、連続するデータの大きな塊として扱われます。 媒体サブテストはスケーラブルテストです。このため、読み取り・書き込みモードでは、同じディスクパーティションに対していくつも媒体サブテストを実行することができます。データが破壊されることのないように、disktest で同時に実行されているインスタンスは、すべて共有メモリーサービスを介して通信します。これにより、媒体サブテストの複数のインスタンスが同じディスクブロックに同時に重ならないようになっています。 |
File System subtest (ファイルシステムサブ テスト) |
ファイルシステムサブテストは、ディスクシステムの完全性を検査します。パーティションをテストする際に、マウントされているかどうかを調べ、パーティションがマウントまたはプリマウントされていない場合は、テストを中止します。ファイルシステムサブテストは、File System File Size に指定されたサイズの一時ファイルを 2 つ開いて、読み取り・書き込みテストを行います。 |
Asynchronous I/O subtest (非同期入出力サブテスト) |
非同期入出力サブテストは Solaris デバイスドライバの非同期読み取り・書き込み機能を使用して、ディスクをテストします。読み取りモードでは、最高 4 つの非同期読み取りパケットを送信し、この入出力処理がすべて終了するのを待って、次の組のパケットを送信します。(選択されたパーティションに対して、各パケットのサイズとオフセットはランダムに割り当てられます。) このプロセスは、指定されたディスク全体に対するテストを終えるまで繰り返されます。読み取り・書き込みモードでは、書き込みのスポットチェックとして、読み取りパケット 4 つにつき書き込みパケットが 1 つ発行されます。データを書き込む前にその場所のデータがバックアップされ、書き込み検査されて、元の状態に戻されます。 |
ダイアログボックスを表示するには、システムマップにあるテスト名を右クリックし、Test Parameter Options を選択します。システムマップにこのテスト名が表示されない場合は、グループツリーを展開すると表示される場合があります。展開しても表示されない場合は、このテストに合ったデバイスがシステムに含まれていない可能性があります。詳細は、『SunVTS 3.4 ユーザーマニュアル』を参照してください。
disktest のオプションメニューは、テストモードによって異なります (表 10-2 を参照)。
表 10-2 disktest のテストオプション
テストモード |
説明 |
---|---|
接続テストモード |
接続テストモードでは、1 つのディスク装置に対して、disktest のインスタンスを 1 つだけ実行することができます。disktest は UNIX のエラーメッセージを監視し、表示して、エラーの発生を報告します。ハードディスクをオープンして、ディスクの構成を調べ、数ブロックを読み取った後にハードディスクをクローズします。ファイルシステムサブテストは行われません。このモードで書き込みオプションを使用することはできません。 |
機能テストモード (オフライン) |
このテストモードでは、UNIX のエラーメッセージを監視できません。1 つのディスク装置に対しては、複数の disktest インスタンスを実行できます。このモードでは、ファイルシステムのサブテストと媒体のサブテストの両方を実行できます。また、フロッピーディスクドライブのテストも可能です。 |
機能テストモード (オンライン) |
このテストモードでは、disktest はハードディスクをオープンしてディスクの構成を調べ、媒体サブテストを実行します。その後でランダムシーク検査を行います。デフォルトでは、テストパーティションの 30 % に対して読みとり専用テストをするように設定されており、ファイルシステムのサブテストは実行されません。テストを終了すると、ディスク装置はクローズされます。このモードでは、書き込みオプションは使用できません。 |
/opt/SUNWvts/bin/disktest 標準引数 -o p=n,-i=n, -w=n,dev=デバイス名,partition=0-7,rawsub=E/D,rawrw=, rawcover=,rawiosize=,fssub=,fssize=,fsiosize=, fspattern=
表 10-4 disktest のコマンド行構文
64 ビットのテストは、sparcv9 サブディレクトリに格納されています (/opt/SUNWvts/bin/sparcv9/テスト名) 。このディレクトリにテストが存在しない場合は、そのテストは、32 ビットのテストとしてだけ実行することができます。詳細は、「32 ビットテストと 64 ビットテスト」を参照してください。
エラーメッセージ |
考えられる原因 |
対処方法 |
|
---|---|---|---|
6000
|
Re-reading and recomparing block 数値 on 名前 |
媒体不良 |
エラーがなくならない場合は、購入先に問い合わせてください。 |
ケーブル、ディスクまたはコントローラの不良 |
|||
6002 |
Error on recomparing block 数値 on 名前 |
媒体不良 |
エラーがなくならない場合は、購入先に問い合わせてください。 |
ケーブル、ディスクまたはコントローラの不良 |
|||
6004 |
名前 failed on 名前, blk 数値: エラーメッセージ |
ケーブル、ディスクまたはコントローラの不良 |
エラーがなくならない場合は、購入先に問い合わせてください。 |
6006 |
Compare error on 名前, block 数値, offset 数値 |
ケーブル、ディスクまたはコントローラの不良 |
エラーがなくならない場合は、購入先に問い合わせてください。 |
6008 |
Compare error: Block 数値 on 名前 was written with a repeating hex pattern of 数値 |
媒体不良 |
エラーがなくならない場合は、購入先に問い合わせてください。 |
ケーブル、ディスクまたはコントローラの不良 |
|||
6010 |
TIME OUT! |
システムがビジーです。 |
システムの負荷を減らしてください。 |
ケーブル、ディスクまたはコントローラの不良 |
エラーがなくならない場合は、購入先に問い合わせてください。 |
||
6012 |
Couldn't close 名前 |
システムエラー |
|
6014 |
名前 read failed on disk, in-between blocks 数値 and 数値: 名前 |
媒体不良 |
エラーがなくならない場合は、購入先に問い合わせてください。 |
ケーブル、ディスクまたはコントローラの不良 |
|||
6016 |
名前 read failed due to unexpected end of media |
|
|
6018 |
名前 write failed on disk, in-between blocks 数値 and 数値: 名前 |
媒体不良 |
エラーがなくならない場合は、購入先に問い合わせてください。 |
ディスクまたはコントローラの不良 |
|||
6020 |
名前 write failed due to unexpected end of media: |
|
|
6022 |
名前 compare failed on 名前, block 数値, offset 数値 |
媒体不良 |
エラーがなくならない場合は、購入先に問い合わせてください。 |
ディスクまたはコントローラの不良 |
|||
6024 |
Couldn't close 名前 |
ディスクまたはコントローラの不良 |
エラーがなくならない場合は、購入先に問い合わせてください。 |
システムエラー |
|||
6026 |
failed automount 名前 onto 名前:エラーメッセージ |
サポートされていないファイルシステムです。 |
ファイルシステムサブテストを無効にしてください。 |
システムエラー |
ファイルシステムサブテストを無効にしてください。 |
||
|
エラーがなくならない場合は、購入先に問い合わせてください。 |
||
6028 |
エラーメッセージ |
|
|
8000 |
File system subtest only allow to run on off-line mode |
パラメタエラー |
コマンド行を正しく入力してください。 |
8002 |
malloc() failed |
システムの過負荷 |
|
システムエラー |
|
||
8006 |
File operation error: Couldn't 名前 file 名前 on 名前: エラーメッセージ |
システム資源が不足しています。 |
システムの負荷を減らしてください。 |
アクセス権のエラー |
ディレクトリまたはファイルに対するアクセス権を調べてください。 |
||
システムエラー |
エラーがなくならない場合は、購入先に問い合わせてください。 |
||
8008 |
Not enough free blocks on 名前 (partition 数値) |
|
別のパーティションで試すか、不要なファイルを削除してください。 |
8010 |
No writable partition on 名前 |
|
別のパーティションで試してください。 |
8012 |
No file system on device: 名前 |
|
newfs を実行して、ファイルシステムを作成してください。 |
ファイルシステムサブテストを無効にしてください。 |
|||
8014 |
Couldn't run fstest on any partition of device: 名前(except 2) |
サポートされていないファイルシステムです。 |
ファイルシステムサブテストを無効にしてください。 |
システムエラー |
エラーがなくならない場合は、購入先に問い合わせてください。 |
||
8016 |
Cannot open device: 名前 |
パラメタエラー |
正しいディスク名を入力してください。 (例: dev=c0t3d0) |
システムエラー |
エラーがなくならない場合は、購入先に問い合わせてください。 |
||
8018 |
Couldn't mount /dev/dsk/名前 |
パラメタエラー |
正しいディスク名を入力してください。 (例: dev=c0t3d0) |
システムエラー |
エラーがなくならない場合は、購入先に問い合わせてください。 |
||
8020 |
Couldn't remove temporary dir 名前: エラーメッセージ |
システムエラー |
エラーがなくならない場合は、購入先に問い合わせてください。 |
8022 |
fail get semaphore: エラーメッセージ |
システム資源が不足しています。 |
システムの負荷を減らしてください。 |
システムエラー |
エラーがなくならない場合は、購入先に問い合わせてください。 |
||
8024 |
failed lock mtab semaphore: "semap" system call failure, errmsg エラーメッセージ |
disktest のインスタンス数が、システムが許容するセマフォ数を超えています。 (システムが許容するデフォルトの seminfo_semmnu=30) システムソフトウェアのエラー |
/etc/system ファイルに 'set "semsys: seminfo_semmnu=0x100" という行を追加し、マシンを再起動してください。エラーがなくならない場合は、購入先に問い合わせてください。 |
8026 |
fail unlock mtab semaphore: エラーメッセージ |
システムエラー |
エラーがなくならない場合は、購入先に問い合わせてください。 |
8028 |
failed get_volmgr_名前() |
|
|
8030 |
Couldn't open 名前: エラーメッセージ |
ケーブルがゆるんでいるか、接続されていません。 |
ケーブルを調べてください。 |
デバイスがオフラインか、見つかりません。 |
デバイスがオンラインになっているか調べてください。 |
||
デバイスが設定されていません。 |
デバイスを設定してください。 |
||
8032 |
Get file state 名前 failed: エラーメッセージ |
システムエラー |
エラーがなくならない場合は、購入先に問い合わせてください。 |
8034 |
Couldn't open 名前 |
アクセス権のエラー |
アクセス権を調べてください。 |
システムエラー |
エラーがなくならない場合は、購入先に問い合わせてください。 |
||
8036 |
failed putmntent(): エラーメッセージ |
システムエラー |
エラーがなくならない場合は、購入先に問い合わせてください。 |
8038 |
fail rename file |
アクセス権のエラー |
アクセス権を調べてください。 |
システムエラー |
エラーがなくならない場合は、購入先に問い合わせてください。 |
||
8040 |
Couldn't get mount table entry for 名前 |
|
|
8042 |
Invalid device name in 名前 |
パラメタエラー |
正しいディスク名を入力してください。 (例: dev=c0t3d0) |
8044 |
Message table overflow on device 名前 |
パラメタエラー |
正しいディスク名を入力してください。 (例: dev=c0t3d0) |
システムエラー |
エラーがなくならない場合は、購入先に問い合わせてください。 |
||
プログラムエラー |
|||
8046 |
Invalid controller id 名前 for 名前 |
パラメタエラー |
コマンド行を正しく入力してください。 |
8048 |
名前, disk DKIOCINFO ioctl: 名前 |
サポートされていないコントローラです。 |
ファイルシステムサブテストを無効にしてください。 |
システムエラー |
エラーがなくならない場合は、購入先に問い合わせてください。 |
||
8050 |
failed getting shared memory for monitor 数値: エラーメッセージ: |
システム資源が不足しています。 |
システムの負荷を減らしてください。 |
システムエラー |
エラーがなくならない場合は、購入先に問い合わせてください。 |
||
8052 |
failed attaching monitor shared memory:エラーメッセージ |
システム資源が不足しています。 |
システムの負荷を減らしてください。 |
システムエラー |
エラーがなくならない場合は、購入先に問い合わせてください。 |
||
8053 |
failed create monitor shared memory 数値: |
システム資源が不足しています。 |
システムの負荷を減らしてください。 |
システムエラー |
エラーがなくならない場合は、購入先に問い合わせてください。 |
||
8054 |
Shm remove error: エラーメッセージ |
システムエラー |
エラーがなくならない場合は、購入先に問い合わせてください。 |
8056 |
New error messages in system log. Extracted below:エラーメッセージ |
ケーブル、ディスクまたはコントローラの不良 |
/var/adm/messages を参照してください。 |
エラーがなくならない場合は、ご購入先に連絡してください。 |
|||
8060 |
fails to open any partition of 名前 |
ファイルシステムがマウントされていません。 |
ファイルシステムをマウントしてから、テストを実行してください。 |
ファイルシステムサブテストを無効にしてください。 |
|||
エラーがなくならない場合は、購入先に問い合わせてください。 |
|||
8060 |
failed getting semaphore: エラーメッセージ |
システムエラー |
エラーがなくならない場合は、購入先に問い合わせてください。 |
8062 |
failed getting shared memory: エラーメッセージ |
システムエラー |
エラーがなくならない場合は、購入先に問い合わせてください。 |
8064 |
failed attaching shared memory:エラーメッセージ |
システムエラー |
エラーがなくならない場合は、購入先に問い合わせてください。 |
8068 |
failed unlocking semaphore: エラーメッセージ |
システムエラー |
エラーがなくならない場合は、購入先に問い合わせてください。 |
8070 |
fail open floppy disk |
ドライブにフロッピーディスクがありません。 |
フロッピーディスクが挿入されているか調べてください。 |
8072 |
failed FDIOGCHAR on floppy ioctl |
システムエラー |
エラーがなくならない場合は、購入先に問い合わせてください。 |
8074 |
ioctl DKIOCGGEOM failed |
サポートされていないファイルシステムです。 |
エラーがなくならない場合は、購入先に問い合わせてください。 |
システムエラー |
|||
8074 |
ioctl DKIOCGAPART failed |
システムエラー |
エラーがなくならない場合は、購入先に問い合わせてください。 |
8076 |
fail initialize shared memory |
システムエラー |
エラーがなくならない場合は、購入先に問い合わせてください。 |
8078 |
Illegal parameters on Online Mode |
パラメタエラー |
正しいオプションを入力してください。 |
8080 |
Illegal parameters on Conn. Mode |
パラメタエラー |
正しいオプションを入力してください。 |
8082 |
failed get_volmgr_名前() |
ドライブにフロッピーディスクがありません。 |
フロッピーディスクが挿入されているか調べてください。 |
8084 |
Mounted file system on device! |
空きディスク領域が不足しています。 |
システムの負荷を減らしてください。 |
アクセス権のエラー |
ディレクトリまたはファイルに対するアクセス権を調べてください。 |
||
システムエラー |
エラーがなくならない場合は、購入先に問い合わせてください。 |
||
8086 |
Invalid controller id 数値 from 名前 |
パラメタエラー |
正しいディスク名を入力してください (例: dev=c0t3d0) |
8088 |
Couldn't get file system information on 名前 errno=数値 |
システムエラー |
エラーがなくならない場合は、購入先に問い合わせてください。 |
8090 |
ioctl() failed on 名前: 名前 |
システムエラー |
エラーがなくならない場合は、購入先に問い合わせてください。 |
8092 |
Fail to get disk information |
サポートされていないディスクです。 |
このディスク(2) に対する UNIX メッセージ監視機能を無効にしてください。 |
システムに多大な負荷がかかっています。 |
システムの負荷を減らしてください |
||
8094 |
Failed to create a message base for controller 数値 |
このコントローラに接続されているディスクはありません。 |
ディスクドライバを接続してから、テストをやり直してください。 |
8096 |
fail to make directory 名前 |
システム資源が不足しています。 |
システムの負荷を減らしてください。 |
アクセス権のエラー |
ディレクトリまたはファイルに対するアクセス権を調べてください。 |
||
システムエラー |
エラーがなくならない場合は、購入先に問い合わせてください。 |
||
8098 |
Failed to mount partition |
このディスクにはパーティション 2 しかありません。 |
パーティション 2 は手動マウントしてください。 |
8010 |
r/w is on /dev/r 名前 |
システムエラー |
エラーがなくならない場合は、購入先に問い合わせてください。 |
8102 |
write/read count error |
空きディスク領域が不足しています。 |
別のパーティションで試すか、不要なファイルを削除してください。 |
8104 |
failed to create buffer |
メモリーが不足しています。 |
システムの負荷を減らしてください。 エラーがなくならない場合は、購入先に問い合わせてください。 |
8106 |
failed aioread() : オフセット エラー番号 エラー文字列 |
ケーブル、ディスクまたはコントローラの不良 |
エラーがなくならない場合は、購入先に問い合わせてください。 |
8108 |
failed aiowrite() :オフセット エラー番号 エラー文字列 |
ケーブル、ディスクまたはコントローラの不良 |
エラーがなくならない場合は、購入先に問い合わせてください。 |
8110 |
failed io operation() : 数値 テキスト |
ケーブル、ディスクまたはコントローラの不良 |
エラーがなくならない場合は、購入先に問い合わせてください。 |