ソフトウェア 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) |
ポートのバインドを使用しない場合
ポートのバインドを使用しない場合は、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 ポートが 4 つ、ターゲット ポータルが 1 つ存在するため、合計 4 つのパスが作成されます。
ポートのバインドを使用しない場合、作成されるパスは 1 つのみです。
例 2:VMkernel ポートが異なるサブネットに属す場合のマルチパス
異なる IP サブネットに属す複数のポートとターゲット ポータルを設定することで、複数のパスを作成できます。イニシエータとターゲット ポートを異なるサブネットに分けておくと、特定のポートを経由するパスが ESXi により作成されます。ポートのバインドを設定するにはすべてのイニシエータとターゲット ポートが同じサブネットに属している必要があるため、この構成ではポートのバインドを使用しません。
3 つのポートがすべて同じサブネットに属しているため、ESXi はコントローラ A とコントローラ B のポート 0 に接続する際に vmk1 を選択します。同様に、コントローラ A とコントローラ B のポート 1 に接続する際には vmk2 が選択されます。この構成では NIC チーミングを使用できます。
パス | 説明 |
---|---|
パス 1 | vmk1 とコントローラ A のポート 0 |
パス 2 | vmk1 とコントローラ B のポート 0 |
パス 3 | vmk2 とコントローラ A のポート 1 |
パス 4 | vmk2 とコントローラ B のポート 2 |
ソフトウェア iSCSI によるルーティング
iSCSI トラフィック用のスタティック ルートを追加するには、esxcli コマンドを使用します。スタティック ルートを設定すると、異なるサブネットに属すイニシエータとターゲット ポートの間で通信を行えるようになります。
例 1:ポートのバインドを使用する場合のスタティック ルートの使用例
この例では、バインドされるすべての vmkernel ポートを 1 つのサブネット (N1) に残し、すべてのターゲット ポータルを別のサブネット (N2) に設定します。その後、ターゲット サブネット (N2) のスタティック ルートを追加できます。
次のコマンドを使用します。
# esxcli network ip route ipv4 add -gateway 192.168.1.253 -network 10.115.179.0/24
例 2:複数のパスを作成する場合のスタティック ルートの使用例
この構成では、異なるサブネットを使用するときにスタティック ルートを使用します。この構成では、ポートのバインドを使用できません。
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 ポートごとのゲートウェイ情報を表示するには、次のコマンドを使用します。
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 ポートごとに異なるゲートウェイを使用する場合は、ポートのバインドを使用して異なるサブネットに属すターゲットに到達できます。