8.2. ファイバーチャネルを使用したデバイスのリンク切れ動作の特定
ドライバーがトランスポートの dev_loss_tmo コールバックを実装している場合、トランスポートの問題が検出されるとリンクを経由したデバイスへのアクセス試行がブロックされます。
手順
リモートポートの状態を判断します。
cat /sys/class/fc_remote_ports/rport-host:bus:remote-port/port_state
$ cat /sys/class/fc_remote_ports/rport-host:bus:remote-port/port_stateCopy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、次のいずれかの出力を返します。
-
リモートポートからアクセスしたデバイスとともにリモートポートがブロックされると
Blockedとなります。 リモートポートが正常に動作しているときには
Onlineとなりますdev_loss_tmo秒以内に問題が解決されない場合は、rportおよびデバイスのブロックが解除されます。そのデバイスで実行しているすべての I/O は、そのデバイスに送信された新しい I/O とともにすべて失敗します。
-
リモートポートからアクセスしたデバイスとともにリモートポートがブロックされると
リンクロスが dev_loss_tmo を超えると、scsi_device デバイスおよび sd_N_ デバイスが削除されます。通常、ファイバーチャネルクラスがデバイスを変更することはありません。たとえば、/dev/sda は /dev/sda のままです。これは、ターゲットバインディングがファイバーチャネルドライバーによって保存されており、ターゲットポートが復帰した際に SCSI アドレスが忠実に再作成されるためです。ただし、これは保証されません。ストレージボックス内の LUN 設定に追加の変更が加えられていない場合にのみ、デバイスが復元されます。