Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

25.17. SCSI コマンドタイマーとデバイス状態の制御

Linux SCSI レイヤーは、各コマンドでタイマーをセットします。このタイマーが時間切れになると、SCSI レイヤーは host bus adapter (HBA) を休止して、残りのコマンドすべてがタイムアウトになるか、完了するのを待ちます。その後に、SCSI レイヤーはドライバーのエラーハンドラーを始動します。
エラーハンドラーがトリガーされると、以下の操作を順番に試行します (そのいずれかが正しく実行されるまで試行が続きます)。
  1. コマンドの中止
  2. デバイスのリセット
  3. バスのリセット
  4. ホストのリセット
これらの操作がすべて失敗する場合、デバイスは offline 状態にセットされます。この状況が発生すると、そのデバイスへの全ての I/O は、問題が修復されてユーザーがデバイスを running にセットするまで失敗します。
デバイスがファイバーチャンネルプロトコルを使用していて、 rport がブロックされた場合、プロセスは違ったものになります。そのようなケースでは、ドライバーはエラーハンドラーを始動する前に rport が再度オンラインになるように数秒間待ちます。これにより、一時的なトランスポート問題でデバイスがオフラインになることを防止します。

デバイスの状態

デバイスの状態を表示するには、以下を使用します:
$ cat /sys/block/device-name/device/state
デバイスを running 状態にセットするには、以下を使用します:
$ echo running > /sys/block/device-name/device/state

コマンドタイマー

コマンドタイマーを制御するには、/sys/block/device-name/device/timeout に書き込みをします。これを行うには以下を実行します:
echo value /sys/block/device-name/device/timeout
ここで、 value は実装する予定のタイムアウト値 (秒表示) です。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。