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_state
Copy 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 設定に追加の変更が加えられていない場合にのみ、デバイスが復元されます。