ソフトウェア 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 ポートごとに異なるゲートウェイを使用する場合は、ポートのバインドを使用して異なるサブネットに属すターゲットに到達できます。