同じサブネット上に複数の VMkernel ポートが存在する場合でのネットワークのデフォルトの VMkernel ゲートウェイ インターフェイス変更
search cancel

同じサブネット上に複数の VMkernel ポートが存在する場合でのネットワークのデフォルトの VMkernel ゲートウェイ インターフェイス変更

book

Article ID: 440142

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

・デフォルトゲートウェイへのアクセスに、優先でない VMkernel ポートが使用されています。
・esxcfg-route -l コマンドにて、優先でない VMkernel インターフェースがデフォルトゲートウェイに関連付けられていることが確認されます。

Environment

VMware vSphere ESXi 7.X
VMware vSphere ESXi 8.X

Cause

ESXi ホスト上に複数の VMkernel インターフェイスが同じネットワークサブネット内に存在する場合、ホストはそのネットワーク内での通信に使用する VMkernel インターフェイスを1つだけ選択します。この選択は、サブネット内で最初に作成され、IPアドレスが設定された VMkernel ポートに基づいて行われます。このサブネット内で後から作成された VMkernel ポートは、ホストのルーティングテーブルには追加されません。

場合によっては、この動作は望ましくなく、ホストの予期しない動作を引き起こす可能性があります。

:各ネットワークまたは VLAN には、VMkernel ポートを1つだけ設定するのがベストプラクティスです。ただし、iSCSI マルチパスまたはマルチ NIC vMotion で使用される VMkernel ポートは例外です。詳細については、『vSphereのネットワーク』を参照してください。

Resolution

ホストのルーティングテーブルで別の VMkernel ポートを強制的に使用するには、ネットワーク内の優先ポート以外のすべての VMkernel ポートを削除してから再作成する必要があります。

警告:以下の手順を実行すると、ホストの管理インターフェイスへのネットワーク接続が失われる可能性があります。Broadcomは、ホストの DCUI (ダイレクト コンソール インターフェイス)から、または iLO / DRAC / IPMI コンソール接続を使用してこれらの手順を実行することを強く推奨します。詳細については、ESXiの「Using ESXi Shell in ESXi」を参照してください。

    1. 対象のホストをメンテナンスモードにします。
    2. ESXiシェル、または対象ホストへのSSH接続を使用して、優先ポート以外の VMkernel ポートインターフェイスがデフォルトゲートウェイと組み合わせて使用​​されていることを確認します。

    ~ #esxcfg-route -l

VMkernel Routes:
Network Netmask Gateway Interface
#.#.85.0 255.255.255.0 Local Subnet vmk0
default 0.0.0.0 #.#.85.2 vmk0

     この例では、VMkernel インターフェイス vmk0 が現在、ゲートウェイとホスト間のトラフィックに使用されています。
     vmk1 が優先 VMkernel インターフェイスです。

    3. 同じサブネット内のすべての VMkernel ポートを特定し、IP アドレス、サブネット、VLAN、MTU、vMotion、フォールトトレランス ロギング、管理トラフィック、および適用されているセキュリティ ポリシーなど、すべての設定を記録します。
    4. vSphere Client を使用して、同じサブネット内のすべての VMkernel ポートを削除し、優先インターフェイスのみを残します。

        1.vSphere Client を使用して、影響を受ける 仮想スイッチを選択します。
        2.対象の VMkernel ポートをクリックし、[削除] をクリックします。

        : この操作はコマンドラインからも実行できます。詳細については、「Configuring Standard vSwitch (vSS) or virtual Distributed Switch (vDS) from the command line in ESXi」を参照してください。

    5. ESXi シェルまたは SSH セッションから esxcfg-route -l コマンドを使用して、優先 VMkernel インターフェイス (下記の例では vmk1) がデフォルトゲートウェイに関連付けられて使用されるようになったことを確認します。

    ~ # esxcfg-route -l

VMkernel Routes:
Network Netmask Gateway Interface
#.#.85.0 255.255.255.0 Local Subnet vmk1
default 0.0.0.0 #.#.85.2 vmk1

    6. 手順4で削除した残りの VMkerne lポートを、手順3で記録した設定で再作成します。

: この変更は再起動後は保持されません。ホストを再起動すると、各サブネット内で番号が最も小さいVMKが再び優先インターフェイスになります。変更を再度適用するか、同じサブネット内のすべてのVMkernelの中​​で優先VMK(番号が最も小さいもの)を最初に作成する必要があります。上記の例では、ホストの再起動後、vmk0 が #.#.85.x サブネットのプライマリゲートウェイになります。

Additional Information

Changing the default VMkernel gateway interface for a network when there are multiple VMkernel ports on the same subnet

Configuring Standard vSwitch (vSS) or virtual Distributed Switch (vDS) from the command line in ESXi

Using ESXi Shell in ESXi