Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Configurazione

CIMC

Windows

Verifica

CIMC

Windows

Risoluzione dei problemi

Windows

Conclusioni

Introduzione

In questo documento viene descritto come configurare VMQ per Windows Server 2019 sui server serie C con VIC 1400 e risolvere i relativi problemi.

Prerequisiti

Requisiti

Nessun requisito specifico previsto per questo documento.

Componenti usati

Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:

- UCS C220M6

- VIC 1467

- CIMC 4.2(2 bis)

- Windows Server 2019

- 5.11.14.1 Driver NENIC

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.

Configurazione

CIMC

Da Cisco Integrated Management Controller (CIMC), iniziare passando a Reti > Adapter Card MLOM (1) > vNIC (2), quindi selezionare la scheda di interfaccia di rete virtuale (vNIC) che si desidera configurare (3).

Utilizzare CIMC per individuare le vNIC

Verificare che la casella Abilita VMQ sia selezionata (4).

Abilitare VMQ dalla vNIC

Di seguito è riportata la definizione della struttura della coda. La struttura della coda è composta da 4 componenti principali dalla prospettiva CIMC: Ethernet Interrupt, Ethernet Receive Queue (Rx Queue), Ethernet Transmit Queue (Tx Queue) e Completion Queue (CQ).

Questo è il white paper per la serie VIC 1400 che delinea il calcolo delle strutture della coda. Si consiglia di leggere attentamente questa sezione per comprendere meglio come vengono eseguiti i calcoli.

White paper sulle best practice di Cisco UCS VIC serie 1400 in Ethernet Fabric

Tuttavia, i parametri sono i più importanti da eliminare:

● Coda TX = Sub vNIC o vPort

● Coda RX = 8 * (Coda Tx)

● CQ = TX + RX

● Interrupt = Max di (coda RX o almeno 2xCPU+ 4)

Esiste un valore che non viene calcolato e deve essere determinato prima di eseguire i calcoli. ovvero la vNIC o le vPort secondarie. Per il bene di questo laboratorio, vengono utilizzate 4 macchine virtuali che corrispondono a 4 porte. Pertanto:

● Coda TX = 4

● Coda RX = 8 * (4) = 32

● CQ = 4 + 32 = 36

● Interrupt = Max di (32 o almeno 2x2+ 4 = 8 (32 è utilizzato perché è maggiore di 8 )

Una volta recuperati i parametri dai calcoli, scorrere verso il basso la pagina vNIC e immettere il valore di Interrupt nel campo Ethernet Interrupt (1), il valore della coda RX nel campo Ethernet Receive Queue (2), Ethernet Transmit Queue (3) e Completion Queue (4).

Questa è la parte più importante della configurazione VMQ (Virtual Machine Multi Queue), come se la struttura della coda non fosse calcolata correttamente, VMQ non funzionerebbe in Windows.

Nota: se si utilizza uno vSwitch con NIC raggruppate in Windows, è NECESSARIO configurare tutte le vNIC in modo identico in CIMC.

Windows

Da Windows Server, è necessario verificare che VMQ sia abilitato sulle macchine virtuali desiderate. Nella maggior parte dei casi, la coda macchine virtuali è abilitata per impostazione predefinita, ma è necessario verificarla.

Per verificare che VMQ sia abilitato, premere Windows Key e cercare Hyper-V Manager.

Nella console di gestione di Hyper-V, fare clic sull'host locale sul lato sinistro (1), quindi fare clic con il pulsante destro del mouse sulla macchina virtuale (2) su cui si desidera verificare che la coda di macchine virtuali sia abilitata e fare clic su Impostazioni (3).

Nella finestra Impostazioni, selezionare ed espandere Scheda di rete (1). Dopo l'espansione, fare clic su Accelerazione hardware (2). Verificare infine che la casella Abilita coda macchine virtuali sia selezionata (3).

In questa fase, è inoltre necessario verificare che l'opzione Enable SR-IOV NON sia selezionata (4).

Verificare quindi che il filtro piattaforma Microsoft Windows sia disattivato sul commutatore virtuale in uso. A tale scopo, passare alla console di gestione di Hyper-V e fare clic su Virtual Switch Manager (1).

Espandere lo switch (1) in uso e fare clic su Estensioni (2). Quindi deselezionare Filtro piattaforma Microsoft Windows (3).

Disabilita Piattaforma filtro Windows

Nota: se si utilizza uno vSwitch con NIC raggruppate in Windows, è NECESSARIO configurare tutte le vNIC in modo identico in CIMC.

Verificare inoltre che RSS (Receive Side Scaling) sia abilitato per ogni interfaccia su cui si desidera abilitare VMQ. A tale scopo, premere il tasto Windows e cercare Gestione dispositivi.

Da Gestione dispositivi, individuare Schede di rete (1) e selezionare Proprietà (2) per le interfacce su cui si desidera abilitare la coda di macchine virtuali.

Passare a Avanzate (1), quindi scorrere verso il basso per individuare Receive Side Scaling (2) e verificare che sia Abilitato (3).

Verifica

CIMC

Non è possibile effettuare alcuna verifica dal punto di vista del CIMC.

Windows

La prima posizione in cui verificare se VMQ è attivo si trova in Windows all'interno della console di gestione di Hyper-V.

Aprire Gestione Hyper-V e fare clic sulla macchina virtuale che si desidera verificare. Quindi fare clic su Rete (1) in basso. Sotto lo stato (2), è possibile osservare OK (VMQ attivo).

Verificare se VMQ è attivo in Windows

Se viene visualizzato solo OK in stato e non OK (VMQ attivo), significa che VMQ non è stato configurato correttamente e che VMQ non funziona.

La posizione successiva in cui verificare se VMQ è attivo si trova in Powershell. Premere Windows Key e cercare Powershell, quindi eseguire i comandi seguenti:

Get-NetAdapterVmqQueue

Get-vm | get-vmnetworkadapter | selezionare vmname, vmqusage

Verificare che VMQ sia attivo tramite Powershell

Ci sono due cose da cercare negli output. Assicurarsi innanzitutto che vengano utilizzate più code in ID coda (1). Quando vengono visualizzati gli ID di coda 1 e 2, significa che la coda macchine virtuali è in funzione.

Verificare quindi che VmqUsage (2) sia maggiore di 0. Se il valore è maggiore di 0, significa che è in uso VMQ.

Risoluzione dei problemi

Windows

Verificare innanzitutto se CIMC sta presentando VMQ a Windows Server. Premere il tasto Windows e cercare Powershell, quindi immettere questo comando:

Get-NetAdapterVmq

Selezionare quindi la colonna Abilitato. Se VMQ è visualizzato come disabilitato, significa che VMQ non è abilitato a livello hardware. Passare alla configurazione vNIC in CIMC e verificare che VMQ sia abilitato.

Se nella scheda Rete della console di gestione di Hyper-V è indicato che la funzionalità VMQ è abilitata, ma nella scheda Rete è indicato lo stato OK, è probabile che i parametri della coda VMQ non siano stati configurati correttamente. Eseguire nuovamente i calcoli e aggiornare i parametri.

VMQ non attivo in Windows

Di seguito è riportato un esempio di configurazione della coda VMQ non valida. (sempre basato su 4 VM):

Ecco i problemi relativi a questa configurazione:

● Coda TX = 4 A partire da un numero corretto

● Coda RX = 8 * (4) != 4 Errori di calcolo

● CQ = 4 + 4 = 8 Durante il controllo matematico, immondizia in ingresso/immondizia in uscita. A causa del calcolo errato della coda RX, il valore CQ non è corretto.

● Interrupt = Max di (coda RX o almeno 2xCPU+ 4) Il valore immesso di 16 non è uguale alla coda RX o (2x2cpu +4).

Per risolvere questo problema, è necessario correggere il calcolo della coda RX che sarà 32. È quindi possibile calcolare i conteggi CQ e Interrupt corretti.

Conclusioni

La corretta configurazione di VMQ può risultare frustrante e difficile. È fondamentale verificare che la struttura della coda VMQ sia configurata correttamente in CIMC.