ソフトウェア iSCSI ログインが時間内に完了しないため、EqualLogic アレイでデータストアが使用できない
search cancel

ソフトウェア iSCSI ログインが時間内に完了しないため、EqualLogic アレイでデータストアが使用できない

book

Article ID: 343631

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

Symptoms:

免責事項: これは英文の記事 「Software iSCSI logins fail to complete in time causing datastore unavailability on EqualLogic arrays (2007829)」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。


  • ソフトウェア iSCSI ベースの EqualLogic アレイがフェイルオーバーできません。
  • EqualLogic アレイのイベント ログに、iSCSI ログイン中にイニシエータの切断が原因で失敗したログインが報告されます。


Environment

VMware vSphere ESXi 5.0
VMware ESXi 4.1.x Embedded
VMware vSphere ESXi 5.5
VMware ESXi 4.1.x Installable
VMware vSphere ESXi 5.1
VMware ESX 4.1.x

Cause

この問題は、いくつかの原因が考えられます。これらは次のとおりです。
  • EqualLogic iSCSI の負荷分散:
    EqualLogic アレイは、負荷分散アルゴリズムを使用して、イニシエータとアレイ iSCSI イーサネット ポート間の iSCSI セッションを分散します。イーサネット ポートに新しい iSCSI セッションを移動または作成する前に、アレイは ICMP ping を使用して、イニシエータのネットワーク ポートが当該イーサネット ポートに接続可能であることを確認します。

    複数の VMkernel ポートが同一サブネットを使用する場合、VMkernel TCP/IP スタックは最初の VMkernel ポートをローカル サブネットへのルートとして使用します。たとえば、iSCSI をラウンド ロビン MPIO 用に構成する場合のように 4 つの VMkernel ポートが同一サブネット上に構成されている場合、ping は 1 番目、2 番目、3 番目、または 4 番目の VMkernel ポートに送信されますが、その ping への応答は 1 番目の VMkernel ポートから送信されます。

    iSCSI マルチパスの構成の要件では、各 VMkernel ポートは単一の物理 NIC をアップリンクとして使用することが規定されます。このため、1 番目の VMkernel ポートの物理アップリンクがダウンすると、ネットワーク レベルでのフェイルオーバーは不可能です。たとえアップ状態で到達可能であっても、その他 3 つの VMkernel ポートへの ping は失敗します。

    失敗した ping の応答により iSCSI ログイン処理にさらに遅延が生じることになり、iSCSI ログインがデフォルトの VMware iSCSI ログインのタイムアウト(vSphere 5.0 の 5 秒、および vSphere 4.1 の 15 秒)よりも長く遅延する可能性があります。これにより、ESXi/ESX ホストがデータストアを使用不可としてマークします。

    注: この動作は ESXi 5.1 以降のホストで変更されています。詳細については、「Change to ICMP ping response behavior in ESXi 5.1 (2042189)」 を参照してください。

  • 遅延 ACK のタイミング問題:
    ESXi カーネルで遅延 ACK はデフォルトでオンになっています。ただし、EqualLogic アレイはその輻輳処理のアルゴリズムで遅延 ACK の処理を期待していません。 そのため、失われたパケットからの復元が非効率的になり、後続のタイムアウトも可能です。

  • ESXi カーネルで不足している iSCSI のタイムアウト:
    ネットワークまたはアレイに輻輳の原因で iSCSI の接続がタイムアウトする場合、問題のあるセッションが切断され、iSCSI スタックは直ちにログインを試みます。ストレージ アレイに影響し、ネットワークとストレージ アレイのコマンド キューにさらなる輻輳が発生する場合があります。

Resolution

前のセクションで説明されているそれぞれの問題の対処方法は、次のとおりです:

高可用性の VMkernel ポートの作成

Dell では、Dell EqualLogic テクニカル レポート TR1075 「Configuring iSCSI Connectivity with VMware vSphere 5 and Dell EqualLogic PS Series Storage 」で説明するように、高可用性 VMkernel ポートを作成することを推奨しています。

Dell EqualLogic Multipathing Extension Module を使用している場合、Dell EqualLogic テクニカル レポート TR1074 「Configuring and Installing the EqualLogic Multipathing Extension Module for VMware vSphere 5.1, 5.0 and 4.1 and PS Series SANs」を参照してください。

注: このリンクは、2014 年 10 月 3 日時点のものです。この記事のリンクが切れているのに気づいた場合はご連絡ください。VMware の担当者がリンクをアップデートします。

これらのテクニカル レポートには、ping 応答がアレイに確実に転送される高可用性 VMkernel ポートの作成方法の詳細が記載されています。

上記記事の詳細については、ストレージ ベンダーの Dell にお問い合わせください。

遅延 ACK の無効化

遅延 ACK パラメータを無効にすることにより、EqualLogic アレイでパフォーマンスが改善されるという報告があります。 詳細については、 ESX/ESXi hosts might experience read or write performance issues with certain storage arrays (1002598) を参照してください。

vSphere Client から遅延 ACK を無効化するには、次の手順を実行します。
  1. 変更する ESXi/ESX ホストをクリックします。
  2. 構成 タブに移動し、ストレージ アダプタ をクリックします。
  3. 変更する iSCSI VMHBA をクリックし、プロパティ をクリックします。
  4. 次のいずれかの処理方法からニーズに最適なオプションを使って、遅延 ACK 設定を変更します。

    • 検出アドレス上で遅延 ACK 設定を変更するには、次の手順を実行します(推奨)
      1. 動的検出 タブをクリックします。
      2. サーバ アドレス タブをクリックします。
      3. 設定 > 詳細 をクリックします。

    • 特定のターゲット上で遅延 ACK 設定を変更するには、次の手順を実行します。
      1. 静的検出 タブをクリックして、ターゲットを選択します。
      2. 設定 > 詳細 をクリックします。

    • 遅延 ACK 設定をグローバルに変更するには、次の手順を実行します。
      1. 全般 タブをクリックします。
      2. [詳細] をクリックします。

  5. [詳細設定] ダイアログ ボックスで、遅延 ACK 設定までスクロールします。
  6. 親から継承 を選択解除します。
  7. DelayedAck を選択解除します。
  8. ホストを再起動します。
  9. iSCSI ストレージにアクセスするすべてのホストに対して手順を繰り返します。

ESXi 5.0 上での iSCSI ログイン タイムアウトの調節

ESXi 5.x では、iSCSI ログイン タイムアウトは現在 5 秒に設定されています。これは、応答がない場合、5 秒後に ESXi ホストが iSCSI セッションを強制終了し、直後にログインを再度試みることを表します。これにより、ストレージ アレイにさらなる負荷が生じ、結果として「ログイン ストーム」状態が発生します。

VMware ESXi 5.0 Patch Release ESXi500-201112001 (2007680) 」で、この設定を vSphere Client から変更する機能が追加されました。この問題を軽減するため、ログインのタイムアウトを 15 秒または必要に応じて 30 秒に延長します。

ログインのタイムアウトを vSphere Client から変更するには、次の手順を実行します。
  1. ストレージ アダプタ > iSCSI ソフトウェア アダプタ > プロパティ に移動します。
  2. 詳細 をクリックして LoginTimeout までスクロール ダウンします。
  3. 5 秒 からより大きな値、たとえば 15 または 30 秒 に変更します。
ESXi 5.0 でコマンド ラインから iSCSI ログインのタイムアウトを調節するには、次のコマンドを実行します。
esxcli iscsi adapter param set -A adapter_name -k LoginTimeout -v value_in_sec
例:
esxcli iscsi adapter param set -A vmhba33 -k LoginTimeout -v 60

  • このオプションは ESXi 5.0 パッチ 2(ビルド 515841)を実行していない場合、灰色表示されます。
  • 正しいタイムアウト設定を反映するには、ホストを再起動する必要があります。
  • Release Notes for ESXi/ESX 4.1 U3』 どおり、現在では iSCSI イニシエータ ログインのタイムアウト値設定を設定することができます。


Additional Information

Software iSCSI logins fail to complete in time causing datastore unavailability on EqualLogic arrays