Red Hat Training

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

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

Linux SCSI レイヤーは、各コマンドにタイマーを設定します。このタイマーが期限切れになると、SCSI レイヤーはホストバスアダプター (HBA)を送り、未処理のすべてのコマンドがタイムアウトまたは完了するまで待ちます。その後、SCSI レイヤーはドライバーのエラーハンドラーをアクティブにします。
エラーハンドラーがトリガーされると、以下の操作が順番に試行されます(1 つが正常に実行されていない)。
  1. コマンドの中止
  2. デバイスのリセット
  3. バスのリセット
  4. ホストをリセットします。
これらの操作をすべて失敗した場合は、デバイスはオフライン状態に設定されますこれが発生すると、問題が修正され、ユーザーがデバイスの実行に設定されているデバイスが設定されるまで、すべての I/O はそのデバイスが失敗します。
ただし、プロセスが異なり、デバイスがファイバーチャネルプロトコルを使用し、rport がブロックされます。この場合、ドライバーはエラーハンドラーをアクティベートする前に、そのポートが再びオンラインになるのを数秒待機します。これにより、一時的なトランスポートの問題により、デバイスがオフラインになるのを防ぎます。

デバイスの状態

デバイスの状態を表示するには、次のコマンドを実行します。
$ cat /sys/block/device-name/device/state
デバイスを稼働状態に設定するには、以下を使用します。
# echo running > /sys/block/device-name/device/state

コマンドタイマー

コマンドタイマーを制御するには、/sys/block/device-name/device/timeout ファイルを変更します。
# echo value > /sys/block/device-name/device/timeout
コマンドのvalue を、実装するタイムアウト値(秒単位)に置き換えます。

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