概要
このドキュメントでは、ESXi 6.7アップデート2以降に適用される仮想vmxnet3ネットワークインターフェイスカード(vNIC)の最大伝送ユニット(MTU)チェックについて説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- ESXiでのVMWare仮想マシンネットワーク構成
- Cisco Meeting Server(CMS)コマンドラインインターフェイス(CLI)
使用するコンポーネント
このドキュメントの情報は、仮想マシンとして稼働するCMSに基づいています。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
特に、このドキュメントではCMSについて説明しますが、フロー要件を満たす仮想マシンには影響します。
- ESXiバージョン6.7アップデート2以降
- vmxnet3アダプタが使用されている
- 仮想マシンのvNICレベルでのMTUの変更
背景説明
ESXiバージョン6.7アップデート2以降では、プラットフォームのデフォルト動作が受信パスでMTUチェックを実行するように強制され、vNICのMTUサイズより大きいパケットは許可されません。
このバージョンより前では、このチェックは実施されておらず、vmxnet3 vNICを使用している仮想マシン(VM)でMTUサイズが変更されると、パケットがドロップされる可能性が高くなることがあります。
たとえば、vSwitchが1500バイトのMTUを受信するように設定され、VMのvNIC MTUが1300バイトに低下し、1300バイトを超えるパケットを受信すると、このパケットは廃棄またはされます。
問題:MTUサイズを小さくすると、パケットが失われる可能性があります
ESXiバージョン6.7アップデート2以降でCisco Meeting Server(またはvNICレベルでMTUを変更し、vmxnet3アダプタを使用する他のアプリケーション)VMを実行する環境で、このデフォルトの動作の変更によりMTUがが低下すると、パケットの問題がする場合があります。
CMS Mainboard Management Processor(MMP)設定でiface <interface> mtu <value>コマンドを使用してMTUを下げます。この値をvNICに設定し、ネットワーク内のパケットの遅延を減らします。
これらの変更の詳細については、このVMware記事を参照してください。
解決方法
この問題の解決に役立つオプションを次に示します。
注:オプション1と2では、ESXi環境にESXi670-201912001のパッチリリースがインストールされている必要があります。このオプションをMTUチェック用のvmxnet3構成の変更に使用できます。詳細については、パッチリリースのリリースノートを参照してください。以下のテキストが参照する内容。
"PR 2409342:パケット長がvNIC MTUを超えないように、vmxnet3バックエンドでMaximum Transmission Unit(MTU;最大伝送ユニット)チェックを無効にする選択はできません
ESXi670-201912001では、vmxnet3バックエンドでvNIC MTUを超えないパケット長の最大伝送ユニット(MTU)チェックを無効にすることを選択できます。デフォルトの動作では、MTUチェックを実行します。ただし、vmxnet3を使用している場合、このチェックの結果、廃棄されたパケットの数が増加する可能性があります。詳細については、VMwareサポート技術情報の記事75213を参照してください。
この問題はこのリリースで解決されています」
オプション 1:ホスト全体の設定
前述のとおり、このオプションを使用するには、パッチリリース(ESXi670-201912001)をインストールする必要があります。以下の詳細は、VMwareドキュメント75213の解決セクションから直接取得します。
esxcli system settings advanced set -o "/Net/vmxnet3NonTsoPacketGtMtuAllowed" -i 1
注:この設定は、すべてのvmxnet3 vNIc(ホスト全体)に適用されます。 この設定は、この変更を行った後に電源がオンになった各VMに適用されます。
オプション 2:vNIC固有の設定
前述のとおり、このオプションを使用するには、パッチリリース(ESXi670-201912001)をインストールする必要があります。以下の詳細は、VMwareドキュメント75213の解決セクションから直接取得します。
"vmxファイルでethernet0.rxAllowPktGtMtu = "1"を使用します。
ここで「ethernet0」は、設定を適用する特定のvNicに置き換える必要があります。
VMware KBの記事を使用して、「How to:
vSphereクライアント(1016098)を使用して高度な仮想マシン設定を変更します。
オプション 3: 回避策
回避策のオプションとして、アプリケーション/VMのMTU設定を元に戻し、ネットワークで受け入れられているものを受信するように設定できます。
たとえば、vSwitchが1500のMTUサイズを受信するように設定されている場合、仮想マシンのvNICは、これに一致するように設定されている必要があります。環境でCMSが稼働している場合は、インターフェイスMTUを期待どおりの値に設定する必要があります。
以下に、いくつかの例を示します。CMS MMPで設定されたmtu 1500を表します。
もう1つのオプションは、vNICに到着するパケットがvNICの設定されたMTU値を超えないようにネットワークが設定されていることを確認することです。これは、フラグメンテーションが正しく設定されるように、ネットワーク全体で実行する必要があります。
関連情報