特定のタイプの iSCSI アダプタは、VMkernel ネットワークに依存します。これらのアダプタには、ソフトウェア iSCSI アダプタまたは依存型ハードウェア iSCSI アダプタと、VMware iSCSI over RDMA (iSER) アダプタが含まれます。環境にこれらのアダプタのいずれかが含まれている場合は、iSCSI または iSER コンポーネントと物理ネットワーク アダプタの間のトラフィックの接続を構成する必要があります。

ネットワーク接続の構成には、各物理ネットワーク アダプタへの仮想 VMkernel アダプタの作成が含まれます。各仮想および物理ネットワーク アダプタ間で 1:1 のマッピングを使用します。その際に、VMkernel アダプタを適切な iSCSI または iSER アダプタと関連付けます。このプロセスをポート バインドと呼びます。

このイメージは、VMkernel アダプタ (vmk) に接続されている iSCSI アダプタまたは iSER アダプタ (vmhba) を示しています。スイッチは vmk を物理 NIC (vmnic) に接続します。
ポート バインドを設定するときは、次のルールに準拠します。
  • ソフトウェア iSCSI アダプタは、ホストで使用可能な物理 NIC で接続できます。
  • 依存型 iSCSI アダプタを接続する場合は、必ず固有の物理 NIC へ接続する必要があります。
  • RDMA 対応のネットワーク アダプタにのみ、iSER アダプタを接続する必要があります。

ソフトウェア iSCSI でのネットワーク接続の使用時機と方法に関する特別の考慮事項については、http://kb.vmware.com/kb/2038869 にある VMware ナレッジ ベースの記事を参照してください。

iSCSI または iSER 構成での複数のネットワーク アダプタ

ホストが iSCSI または iSER 用の複数の物理ネットワーク アダプタを使用している場合は、アダプタをマルチパスに利用できます。

複数の物理アダプタを単一スイッチ構成または複数スイッチ構成で使用できます。

複数スイッチ構成では、仮想 - 物理アダプタのペアごとに個別の vSphere スイッチを指定します。

図 1. 個別の vSphere Standard Switch での 1 対 1 のアダプタ マッピング
iSCSI ネットワーク用の 2 つの個別の vSwitch。

代わりに、すべての NIC と VMkernel アダプタを 1 台の vSphere スイッチに追加する方法があります。VMkernel アダプタの数は、vSphere 標準スイッチ上の物理アダプタの数に対応している必要があります。iSER では NIC チーミングがサポートされないため、単一スイッチ構成は iSER に適しません。

図 2. 単一の vSphere Standard Switch での 1 対 1 のアダプタ マッピング
iSCSI ネットワーク用の単一の vSwitch。

このタイプの構成では、デフォルトのネットワーク設定をオーバーライドし、唯一の対応するアクティブな物理アダプタに各 VMkernel アダプタをマッピングする必要があります(表を参照)。

VMkernel アダプタ (vmk#) 物理ネットワーク アダプタ (vmnic#)
vmk1 (iSCSI1) [有効なアダプタ]

vmnic1

[未使用のアダプタ]

vmnic2

vmk2 (iSCSI2) [有効なアダプタ]

vmnic2

[未使用のアダプタ]

vmnic1

Distributed Switch を使用することもできます。vSphere Distributed Switch の詳細およびデフォルトのネットワーク ポリシーの変更方法については、『vSphere のネットワーク』ドキュメントを参照してください。

複数の物理アダプタを使用する場合の考慮事項を次に示します。
  • 物理ネットワーク アダプタは、接続対象のストレージ システムと同じサブネット上になければなりません。
  • (iSCSI のみ対象、iSER は非対象)別々の vSphere スイッチを使用する場合は、異なる IP サブネットにそれらを接続する必要があります。そうしなければ、VMkernel アダプタで接続の問題が発生する場合があり、ホストが LUN を検出できません。
  • iSER では NIC チーミングがサポートされないため、単一スイッチ構成は iSER に適しません。
以下の条件が存在するときには、ポート バインドは使用しないでください。
  • アレイ ターゲットの iSCSI ポートが別のブロードキャスト ドメインおよび IP サブネットに存在する。
  • iSCSI 接続に使用する VMkernel アダプタが、別のブロードキャスト ドメイン、IP サブネットに存在するか、異なる仮想スイッチを使用している。
    注: iSER 構成では、iSER 接続に使用する VMkernel アダプタを統合トラフィックに使用できません。iSER を使用した ESXi ホストと iSER ターゲットとの間の接続を有効にするために作成した VMkernel アダプタは、iSER トラフィックにのみ使用します。

ソフトウェア iSCSI とのネットワーク通信設定のベスト プラクティス

ソフトウェア iSCSI とのネットワーク通信を設定する際には、次のベスト プラクティスを考慮してください。

ソフトウェア iSCSI ポートのバインド

ESXi ホスト上のソフトウェア iSCSI イニシエータを 1 つ以上の VMkernel ポートにバインドすると、バインドされたポートのみを使用して iSCSI トラフィックがやり取りされるようになります。バインドされていないポートは iSCSI トラフィックに使用されません。

ポートのバインドを設定すると、バインドされたすべてのポートから、設定されたすべてのターゲット ポータルへの iSCSI セッションが iSCSI イニシエータにより確立されます。

次の例を参照してください。
VMkernel ポート ターゲット ポータル iSCSI セッション
バインドされた VMkernel ポート x 2 ターゲット ポータル x 2 4 つのセッション(2 x 2)
バインドされた VMkernel ポート x 4 ターゲット ポータル x 1 4 つのセッション(4 x 1)
バインドされた VMkernel ポート x 2 ターゲット ポータル x 4 8 つのセッション(2 x 4)
注: ポートのバインドを使用する場合は、すべての VMkernel ポートからすべてのターゲット ポータルに到達可能であることを確認してください。到達可能でない場合は、iSCSI セッションの確立に失敗する可能性があります。その結果、再スキャン処理に予想以上の時間がかかる場合があります。

ポートのバインドを使用しない場合

ポートのバインドを使用しない場合は、ESXi ネットワーク レイヤーのルーティング テーブルに従って最適な VMkernel ポートが選択されます。ホストはこのポートを使用してターゲット ポータルとの iSCSI セッションを確立します。ポートのバインドを使用しない場合、確立されるセッションは、1 つのターゲット ポータルにつき 1 つのみです。

次の例を参照してください。
VMkernel ポート ターゲット ポータル iSCSI セッション
バインドされていない VMkernel ポート x 2 ターゲット ポータル x 2 2 つのセッション
バインドされていない VMkernel ポート x 4 ターゲット ポータル x 1 1 つのセッション
バインドされていない VMkernel ポート x 2 ターゲット ポータル x 4 4 つのセッション

ソフトウェア iSCSI でのマルチパスの使用

例 1:ネットワーク ポータルが 1 つだけの場合の iSCSI ターゲットへのマルチパス

ターゲットにネットワーク ポータルが 1 つしか存在しない場合は、ESXi ホストで複数の VMkernel ポートを追加し、それらのポートを iSCSI イニシエータにバインドすることで複数のパスを作成できます。

単一のターゲットに接続された VMkernel ポート(vmk1、vmk2、vmk3、vmk4)を示す画像。すべてのイニシエータ ポートとターゲットが同じサブネットに属しています。

この例では、すべてのイニシエータ ポートとターゲット ポータルが同じサブネットに属しています。また、バインドされているすべてのポートを通じてターゲットに到達できます。VMkernel ポートが 4 つ、ターゲット ポータルが 1 つ存在するため、合計 4 つのパスが作成されます。

ポートのバインドを使用しない場合、作成されるパスは 1 つのみです。

例 2:VMkernel ポートが異なるサブネットに属す場合のマルチパス

異なる IP サブネットに属す複数のポートとターゲット ポータルを設定することで、複数のパスを作成できます。イニシエータとターゲット ポートを異なるサブネットに分けておくと、特定のポートを経由するパスが ESXi により作成されます。ポートのバインドを設定するにはすべてのイニシエータとターゲット ポートが同じサブネットに属している必要があるため、この構成ではポートのバインドを使用しません。

異なる IP サブネット上の複数の VMkernel ポートとターゲット ポータルを示す画像。

3 つのポートがすべて同じサブネットに属しているため、ESXi はコントローラ A とコントローラ B のポート 0 に接続する際に vmk1 を選択します。同様に、コントローラ A とコントローラ B のポート 1 に接続する際には vmk2 が選択されます。この構成では NIC チーミングを使用できます。

合計 4 つのパスが作成されます。
パス 説明
パス 1 vmk1 とコントローラ A のポート 0
パス 2 vmk1 とコントローラ B のポート 0
パス 3 vmk2 とコントローラ A のポート 1
パス 4 vmk2 とコントローラ B のポート 1

ソフトウェア iSCSI によるルーティング

iSCSI トラフィック用のスタティック ルートを追加するには、esxcli コマンドを使用します。スタティック ルートを設定すると、異なるサブネットに属すイニシエータとターゲット ポートの間で通信を行えるようになります。

例 1:ポートのバインドを使用する場合のスタティック ルートの使用例

この例では、バインドされるすべての VMkernel ポートを 1 つのサブネット (N1) に残し、すべてのターゲット ポータルを別のサブネット (N2) に設定します。その後、ターゲット サブネット (N2) のスタティック ルートを追加できます。

サブネット N1 にあるバインドされた 2 つの VMkernel ポートと、サブネット N2 にあるターゲット ポータルを示す画像。

次のコマンドを使用します。

# esxcli network ip route ipv4 add -gateway 192.168.1.253 -network 10.115.179.0/24

例 2:複数のパスを作成する場合のスタティック ルートの使用例

この構成では、異なるサブネットを使用するときにスタティック ルートを使用します。この構成では、ポートのバインドを使用できません。

個別のサブネット内の vmk1 と vmk2 を示す画像。ターゲット ポータルも個別のサブネットにあります。

vmk1 と vmk2 を別々のサブネット(192.168.1.0 と 192.168.2.0)に設定します。ターゲット ポータルも別々のサブネット(10.115.155.0 と 10.155.179.0)に属しています。

vmk1 から 10.115.155.0 のスタティック ルートを追加できます。vmk1 からゲートウェイに到達可能であることを確認してください。

# esxcli network ip route ipv4 add -gateway 192.168.1.253 -network 10.115.155.0/24

その後、vmk2 から 10.115.179.0 のスタティック ルートを追加できます。vmk2 からゲートウェイに到達可能であることを確認してください。

# esxcli network ip route ipv4 add -gateway 192.168.2.253 -network 10.115.179.0/24

コントローラ A のポート 0 に接続する際には vmk1 が使用されます。

コントローラ B のポート 0 に接続する際には vmk2 が使用されます。

例 3:vmkernel ポートごとに異なるゲートウェイを使用する場合のルーティング

vSphere 6.5 以降では、VMkernel ポートごとに異なるゲートウェイを設定できます。DHCP を使用して VMkernel ポートの IP アドレス設定を取得する場合は、DHCP を使用してゲートウェイ情報も取得できます。

VMkernel ポートごとのゲートウェイ情報を表示するには、次のコマンドを使用します。

# esxcli network ip interface ipv4 address list
Name  IPv4 Address    IPv4 Netmask   IPv4 Broadcast  Address Type  Gateway         DHCP DNS
----  --------------  -------------  --------------  ------------  --------------  --------
vmk0  10.115.155.122  255.255.252.0  10.115.155.255  DHCP          10.115.155.253      true
vmk1  10.115.179.209  255.255.252.0  10.115.179.255  DHCP          10.115.179.253      true
vmk2  10.115.179.146  255.255.252.0  10.115.179.255  DHCP          10.115.179.253      true

VMkernel ポートごとに異なるゲートウェイを使用する場合は、ポートのバインドを使用して異なるサブネットに属すターゲットに到達できます。

iSCSI ネットワークの管理

iSCSI アダプタと関連付けられた物理と VMkernel の両方のネットワーク アダプタに特別な考慮事項が適用されます。

iSCSI のネットワーク接続を作成した後、vSphere Client の iSCSI インジケータが有効になります。このインジケータは、特定の仮想または物理ネットワーク アダプタが iSCSI バインドであることを示します。iSCSI トラフィックで中断を回避するには、iSCSI バインドの仮想および物理ネットワーク アダプタを管理するときこれらのガイドラインおよび考慮事項に従います。

  • VMkernel ネットワーク アダプタに接続先の iSCSI ストレージ ポータルと同じサブネットでアドレスが割り当てられていることを確認します。
  • VMkernel アダプタを使用する iSCSI アダプタは、異なるサブネット上にある iSCSI ポートを検出した場合でも、これらのポートに接続できません。
  • 個別の vSphere スイッチを使用して、物理ネットワーク アダプタと VMkernel アダプタに接続するとき、vSphere スイッチが異なる IP アドレスのサブネットに接続していることを確認します。
  • VMkernel アダプタが同じサブネットにある場合、それらは 1 つの vSwitch に接続されている必要があります。
  • VMkernel アダプタを異なる vSphere スイッチに移行する場合には、関連する物理アダプタを移動します。
  • iSCSI バインドの VMkernel アダプタまたは物理ネットワーク アダプタに構成変更を行わないでください。
  • VMkernel アダプタおよび物理ネットワーク アダプタの関連付けを解除する可能性がある変更を行わないでください。これらのアダプタのいずれか、またはそれらを接続する vSphere スイッチを削除すると、関連付けを解除できます。または、それらの接続の 1 対 1 のネットワーク ポリシーを変更した場合も解除できます。

iSCSI ネットワークのトラブルシューティング

警告サインは、 iSCSI バインドの VMkernel アダプタの非準拠のポート グループ ポリシーを示します。

問題

VMkernel アダプタのポート グループ ポリシーは、次のケースで非準拠と見なされます。

  • VMkernel アダプタがアクティブな物理ネットワーク アダプタに接続されていない。
  • VMkernel アダプタが複数の物理ネットワーク アダプタに接続されている。
  • VMkernel アダプタが 1 つまたは複数のスタンバイ物理アダプタに接続されている。
  • アクティブな物理アダプタが変更されている。

解決方法

iSCSI バインドの VMkernel アダプタに正しいネットワーク ポリシーを設定します。iSCSI または iSER のポートのバインドの設定 を参照してください。