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.