[Vista/SV2008] PDUが拒否されると、しばらくiSCSIイニシエータとiSCSI機器とで通信が出来ない

MSKB英語版: On a computer that is running Windows Vista or Windows Server 2008, iSCSI Initiator may be unable to communicate with the iSCSI target for several minutes after an iSCSI Protocol Data Unit (PDU) is rejected (KB959384)

対象

  • Windows Vista
  • Windows Server 2008

現象

  • Microsoft iSCSI Initiator(イニシエータ)を使い、iSCSI機器に接続する
  • RFC3702(iSCSI仕様)の10.17.1節に述べられている理由によって、機器がiSCSI Protocol Data Unit(PDU)を拒否する

このようなケースでは、iSCSI Initiatorは拒否されたPDUを再送信するべきです。しかし、iSCSI Initiatorはしばらく通信を行うことが出来ないでしょう。

具体的には、次のレジストリエントリで指定されたDisk Timeoutの値の5回分のあいだ、通信を行うことができません。

サブキー: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Disk
エントリ: TimeoutValue
タイプ: REG_DWORD (DWORD値)
値: (ディスクタイムアウト値を秒で)

ディスクタイムアウト値の5回ぶんが過ぎると、iSCSI Initiatorはセッションを修復しようとして、セッションを破棄、再確立します。そうすると、ようやくiSCSI機器と通信ができるようになるでしょう。

原因

iSCSIイニシエータが、拒否されたPDUをどれだけ再送信するか決める方法に問題があります。この問題によって、iSCSi機器が応答しなくなります。すぐに拒否されたPDUの再試行を行う代わりに、LUNリセットを行って接続の回復を行おうとします。

解決策

修正プログラムが入手できます。

TOP