Windows Server 2008 または Windows Server 2008 R2 環境で、遅延 ACK を有効にするようにネットワーク環境を設定し、ストレージが iSCSI を使用して接続されている場合、一般的な操作を実行すると iScsiPrt エラーがシステム イベント ログに出力される

文書翻訳 文書翻訳
文書番号: 981482 - 対象製品
すべて展開する | すべて折りたたむ

目次

現象

Windows Server 2008 または Windows Server 2008 R2 環境で、遅延 ACK を有効にするようにネットワーク環境を設定し、ストレージが iSCSI を使用して接続されている場合、ファイルのコピーなどの一般的な操作を実行すると iScsiPrt エラーがシステム イベント ログに出力されます。

エラー ID 20 ターゲットへの接続が失われました。イニシエーターは接続を再試行します。

エラー ID 7 イニシエーターは iSCSI PDU を送信できませんでした。ダンプ データにエラー状態が示されています。

エラー ID 49 ターゲットはタスク管理要求に時間内に応答できませんでした。

エラー ID 39 イニシエーターはターゲットをリセットするタスク管理コマンドを送信しました。ダンプ データにターゲット名が示されています。

警告 ID 129 デバイス \Device\ScsiPort0 はタイムアウト期間内に応答しませんでした。

情報 ID 34 ターゲットへの接続が失われましたが、イニシエーターはターゲットに正常に再接続しました。ダンプ データにターゲット名が示されています。

原因

このエラーは、ネットワーク アダプター (NIC) がパケットをドロップした場合に発生します。

パケットがネットワーク アダプターに到着すると、ネットワーク アダプターによって受信中断が生成されます。ネットワーク アダプターによって受信中断が生成されると、受信ハンドラーを呼び出すための DPC ルーチンがキューに入れられます。次に、DPC 中断のタイミングで受信バッファーからパケットが取得され、上位階層の受信ハンドラーに渡されます。より優先度の高い DPC が実行されているか、その時点でシステムに大きな負荷がかかっている場合、DPC プロセスが実行される前に遅延が発生してバッファーが必要になることがあります。このバッファーの大きさが十分でない場合、パケットがドロップされます。

一般的に、これは、サーバーの処理速度が遅いためにパケットの受信レート (パケット/秒) を維持できない場合に発生します。イニシエーター (受信側) は、パケットをドロップすると、ターゲット (送信側) に再送信要求を送信します。ただし、多くのパケットが一度にドロップされた場合、受信側が再送信を要求したフレームのシーケンス番号と送信側が送信した最新のフレームのシーケンス番号に大きな違いが発生することがあります。この違いが現在の受信ウィンドウのサイズに達した場合、送信側はそれ以上のパケットを事前に送信することができなくなり、保留中のフレームの受信確認 (ACK) を受け取るまで待機します。受信側は、DUP ACK を再送信した対象のフレームを受信した後に、他のフレームを受信しないので、0.2 秒の遅延 ACK を待機した後で、ACK を返します。この結果、5 フレーム/秒の転送/受信レートになり、イニシエーターまたはターゲットでタイムアウトが発生します。

回避策

この問題を回避するには、次のいずれかの方法を使用します。

方法 1: 受信バッファーを増やす

注: この方法は、個別のネットワーク アダプターの設定なので、設定手順についてはネットワーク アダプターの製造元に問い合わせてください。

この例では、Intel PRO/1000 PT Dual Port Server Adapter を使用します。
  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。
  2. [名前] ボックスに、「DevMgmt.msc」と入力し、[OK] をクリックします。
  3. [ネットワーク アダプター] を開き、[Intel PRO/1000 PT Dual Port Server Adapter] をクリックして、[プロパティ] をクリックします。
  4. [概要] タブをクリックします。
  5. [プロパティ] の一覧で、[受信バッファー] をクリックし、[値] の一覧から 2048 などの大きな値を選択します。
  6. [OK] をクリックして設定を有効にします。

方法 2: 遅延 ACK を無効にする

重要: このセクション、方法、またはタスクではレジストリの編集方法を説明します。レジストリを誤って編集すると、重大な問題が発生する可能性があります。レジストリを編集するときには十分に注意してください。問題が発生したときレジストリを復元できるように編集する前にレジストリをバックアップしてください。バックアップと復元の詳細については下のテクニカル サポート情報をクリックしてください。
322756 Windows でレジストリをバックアップおよび復元する方法
下の技術情報に従ってレジストリ値 TcpAckFrequency を 1 に設定すると、遅延 ACK が無効になります。これにより、パケットがドロップされたときに再送信処理時間が 5 フレーム/秒にならなくなります。この方法を使用してもパケットのドロップを防ぐことはできません。しかし、パケットがドロップされた場合でも、再送信処理の遅延が改善されるのでタイムアウトが発生しません。
328890 Windows XP および Windows Server 2003 で TCP ACK の動作を制御するための新しいレジストリ エントリ

方法 3: AutoTuningLevel を無効にしてウィンドウ サイズを固定する

下の技術情報の方法を実行して AutoTuningLevel を無効にすると、ウィンドウが拡張されなくなります。結果として、受信レートが大幅に低下し、パケットがドロップしにくくなります。

注: この方法は、受信レートを低下させ、ネットワークのパフォーマンスも低下します。
934430 ファイアウォール デバイスの背後で Windows Vista を使用すると、ネットワーク接続が失敗します。

詳細

問題の再現手順

  1. 遅延 ACK が有効になっているシステムで、iSCSI で接続されたディスクに大量のファイルをコピーまたはバックアップします。
  2. パフォーマンス カウンター [Network Interface\Packets Received Discarded] を使用してネットワーク アダプターによってパケットがドロップされているかどうかを確認します。

結果

いずれかの iScsiPrt エラーがシステム イベント ログに出力されます。
注意 : これは、マイクロソフトのサポート組織内で直接作成された "緊急公開" の資料です。 この資料には、確認中の問題に関する現状ベースの情報が記載されています。 情報提供のスピードを優先するため、資料には誤植が含まれる可能性があり、予告なしに随時改定される場合があります。 その他の考慮事項については、使用条件を参照してください。

プロパティ

文書番号: 981482 - 最終更新日: 2012年8月28日 - リビジョン: 2.0
この資料は以下の製品について記述したものです。
  • Windows Server 2008 R2 Datacenter
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 R2 Standard
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Standard
キーワード:?
kbexpertiseadvanced kbprb kberrmsg kbharmony kbtshoot KB981482
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com