Introduzione
In questo documento viene descritto il controllo della MTU (Maximum Transmission Unit) sulle schede di interfaccia di rete (vNIC) vmxnet3 virtuali applicate all'aggiornamento 2 di ESXi 6.7 e versioni successive.
Prerequisiti
Requisiti
Cisco raccomanda la conoscenza dei seguenti argomenti:
- Configurazioni di rete delle macchine virtuali VMware in ESXi
- Interfaccia CLI (Command Line Interface) di Cisco Meeting Server (CMS)
Componenti usati
Le informazioni fornite in questo documento si basano su CMS eseguito come macchina virtuale.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
In particolare, questo documento fa riferimento al CMS ma riguarda qualsiasi macchina virtuale che soddisfi i seguenti requisiti:
- ESXi versione 6.7 aggiornamento 2 o successiva
- scheda vmxnet3 in uso
- Modifiche dell'MTU a livello di vNIC della macchina virtuale
Premesse
In ESXi versione 6.7 aggiornamento 2 e successive, il comportamento predefinito della piattaforma viene applicato per eseguire un controllo MTU sul percorso ricevente e non consente pacchetti di dimensioni superiori alle dimensioni MTU della vNIC.
Nelle versioni precedenti, questo controllo non era applicato e ciò può aumentare la probabilità di perdita dei pacchetti quando le dimensioni MTU vengono modificate sulla macchina virtuale (VM) che utilizza le vNIC vmxnet3.
Ad esempio, se il vSwitch è impostato per ricevere una MTU di 1500 byte ma la MTU della vNIC della VM è ridotta a 1300 byte e viene ricevuto un pacchetto superiore a 1300 byte, il pacchetto viene scartato o scartato.
Problema: Potenziale perdita di pacchetti quando le dimensioni MTU vengono ridotte
Negli ambienti in cui è in esecuzione Cisco Meeting Server (o altre applicazioni che modificano l'MTU a livello di vNIC e utilizzano l'adattatore vmxnet3) o la macchina virtuale su ESXi versione 6.7, aggiornamento 2 e successive, si possono verificare problemi di perdita di pacchetti quando l'MTU viene ridotta a causa di questa modifica di comportamento predefinita.
L'MTU viene abbassata con il comando interface <interface> mtu <value> nella configurazione CMS Mainboard Management Processor (MMP), che imposta quindi il valore della scheda vNIC in modo da ridurre la latenza dei pacchetti nella rete.
Ulteriori dettagli su queste modifiche sono disponibili in questo articolo VMware.
Soluzione
Di seguito sono riportate alcune opzioni che possono contribuire a risolvere il problema.
Nota: le opzioni 1 e 2 richiedono che l'ambiente ESXi abbia installato la release di patch di ESXi670-201912001 in modo che l'opzione sia disponibile per la modifica della configurazione vmxnet3 per il controllo dell'MTU. Per ulteriori informazioni su questo argomento, vedere le note sulla versione della patch in uso. A cui si riferisce il testo seguente.
"PR 2409342: non è possibile disabilitare il controllo della MTU (Maximum Transmission Unit) nel back-end vmxnet3 per verificare che la lunghezza del pacchetto non superi la MTU della vNIC
Con ESXi670-201912001, è possibile disabilitare il controllo della MTU (Maximum Transmission Unit) nel back-end vmxnet3 per verificare che la lunghezza del pacchetto non superi la MTU della vNIC. Per impostazione predefinita, viene eseguito il controllo dell'MTU. Tuttavia, se si utilizza vmxnet3, in seguito a questo controllo potrebbe verificarsi un aumento dei pacchetti ignorati. Per ulteriori informazioni, vedere l'articolo 75213 della Knowledge Base di VMware.
Il problema è stato risolto in questa release".
Opzione 1: Configurazione a livello di host
Come accennato in precedenza, questa opzione richiede l'installazione della versione patch (ESXi670-201912001). I dettagli riportati di seguito sono tratti direttamente dalla sezione relativa alla risoluzione del documento VMware 75213.
impostazioni di sistema esxcli impostazione avanzata -o "/Net/vmxnet3NonTsoPacketGtMtuAllowed" -i 1
Nota: Questa configurazione è applicabile a tutti i vNCS vmxnet3 (a livello di host). Questa impostazione viene quindi applicata a ogni VM accesa dopo aver apportato questa modifica.
Opzione 2: Configurazione specifica della vNIC
Come accennato in precedenza, questa opzione richiede l'installazione della versione patch (ESXi670-201912001). I dettagli riportati di seguito sono tratti direttamente dalla sezione relativa alla risoluzione del documento VMware 75213.
"Utilizzare ethernet0.rxAllowPktGtMtu = "1" nel file vmx:
dove "ethernet0" deve essere sostituito dalla scheda NIC specifica su cui deve essere applicata la configurazione.
Utilizzare l'articolo della Knowledge Base di VMware per eseguire la procedura descritta in Procedura:
Modifica delle impostazioni avanzate della macchina virtuale utilizzando il client vSphere (1016098) KB."
Opzione 3: Soluzione alternativa
Per l'opzione di soluzione alternativa, è possibile ripristinare la configurazione MTU sull'applicazione/macchina virtuale in modo che riceva quanto accettato nella rete.
Ad esempio, se il vSwitch è impostato per la ricezione di MTU pari a 1500 e quindi la vNIC della macchina virtuale deve essere impostata in modo da corrispondere a questa impostazione. Se l'ambiente esegue CMS, è necessario impostare l'MTU dell'interfaccia sul valore previsto.
Ad esempio: se è stata configurata una mtu 1500 sul protocollo MMP del CMS.
In alternativa, è possibile verificare che la rete sia configurata in modo che i pacchetti che arrivano alla vNIC non superino il valore MTU impostato per la vNIC. Questa operazione deve essere eseguita in tutta la rete per garantire che la frammentazione sia impostata correttamente.
Informazioni correlate