disktest テストは、3 つのサブテスト (媒体、ファイルシステム、非同期入出力) を使用して、ハードディスクドライブとフロッピーディスクドライブの機能を検査します(表 12-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 4.3 ユーザーマニュアル』を参照してください) 。この場合、テストは失敗して以下のエラーメッセージが表示されます。
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 は、表 12-1 に示すサブテストから構成されています。
表 12-1 disktest のサブテスト
サブテスト |
説明 |
---|---|
Media subtest (媒体サブテスト) |
媒体サブテストは、ディスクに対して書き込み・読み取りを行うことによってディスクの媒体を検査します。このときディスクは、連続するデータの大きな塊として扱われます。 媒体サブテストはスケーラブルテストです。このため、読み取り・書き込みモードでは、同じディスクパーティションに対していくつも媒体サブテストを実行することができます。データが破壊されることのないように、disktest で同時に実行されているインスタンスは、すべて共有メモリーサービスを介して通信します。これにより、媒体サブテストの複数のインスタンスが同じディスクブロックに同時に重ならないようになっています。 媒体サブテストは、次に説明するように異なる 2 つのモードで動作します。 SyncIO: SyncIO 媒体テストでは、媒体テストの開始位置のパーティションのランダムオフセットが作成されます。このオフセットから始まって、読み取り (読み取り専用モード) または読み取り・書き込み (読み取り・書き込みモード) が逐次形式で行われます。テストは、指定された割合の媒体がテストされるまで継続します。 |
Media subtest (媒体サブテスト) |
AsyncIO: AsyncIO 媒体テストでは、常にテスト対象パーティションの最初のブロックから始まって、Media Coverage (%) で指定された領域がテストされます。 AsyncIO では Solaris ディスクドライバの読み取り・書き込み機能を使用して、ディスクをテストします。読み取り専用モードでは、最高 4 つの非同期読み取りパケットを送信します (選択されたパーティションに対して、各パケットのサイズとオフセットはランダムに割り当てられます)。送信後、この入出力処理がすべて完了するのを待って、次の組のパケットを送信します。このプロセスは、指定された領域がすべてテストされるまで繰り返されます。読み取り・書き込みモードでは、書き込み操作のスポットチェックとして、読み取りパケット 4 つに対して書き込みパケットが 1 つの割合で発行されます。特定の場所にデータを書き込む前にそのデータがバックアップされ、書き込み検査されて、元の状態に戻されます。 |
File System subtest (ファイルシステムサブ テスト) |
ファイルシステムサブテストは、ディスクシステムの完全性を検査します。パーティションをテストする際に、マウントされているかどうかを調べ、パーティションがマウントまたはプリマウントされていない場合は、テストを中止します。ファイルシステムサブテストは、File System File Size に指定されたサイズの一時ファイルを 2 つ開いて、読み取り・書き込みテストを行います。 |
ダイアログボックスを表示するには、システムマップにあるテスト名を右クリックし、Test Parameter Options を選択します。システムマップにこのテスト名が表示されない場合は、グループツリーを展開すると表示される場合があります。展開しても表示されない場合は、このテストに合ったデバイスがシステムに含まれていない可能性があります。詳細は、『SunVTS 4.3 ユーザーマニュアル』を参照してください。
disktest のオプションメニューは、テストモードによって異なります (表 12-2 を参照)。
表 12-2 disktest のテストオプション
テストモード |
サポート |
説明 |
---|---|---|
接続テスト |
○ |
接続テストモードでは、1 つのディスク装置に対して、disktest のインスタンスを 1 つだけ実行することができます。disktest は UNIX のエラーメッセージを監視し、表示して、エラーの発生を報告します。ハードディスクをオープンして、ディスクの構成を調べ、数ブロックを読み取った後にハードディスクをクローズします。ファイルシステムサブテストは行われません。このモードで書き込みオプションを使用することはできません。 |
機能テスト (オフライン) |
○ |
このテストモードでは、UNIX のエラーメッセージを監視できません。1 つのディスク装置に対しては、複数の disktest インスタンスを実行できます。このモードでは、ファイルシステムのサブテストと媒体のサブテスト、そしてフロッピーディスクドライブのテストを実行できます。 |
/opt/SUNWvts/bin/disktest 標準引数 -o dev=デバイス名,partition=<0-7>"(マウントポイント)",rawsub=E|D, rawrw=Readonly|Writeread method=AsyncIO+SyncIO,rawcover=n, rawiosize=n fssub=E|D,fssize=n,fsiosize=n,fspattern=データパターン
表 12-4 disktest のコマンド行構文
64 ビットのテストは、sparcv9 サブディレクトリに格納されています (/opt/SUNWvts/bin/sparcv9/テスト名) 。このディレクトリにテストが存在しない場合は、そのテストは、32 ビットのテストとしてだけ実行することができます。詳細は、「32 ビットテストと 64 ビットテスト」を参照してください。