La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
Questo documento descrive il processo di configurazione della profondità massima della coda e dell'I/O in sospeso su un driver nfnic (Fibre Channel Network Interface Card) nativo. Nell'hypervisor VMware ESXi 6.7, il driver della scheda di interfaccia di rete (fnic) fibre channel è stato sostituito dal driver nfnic per tutte le schede Cisco.
La profondità della coda predefinita del driver nfnic è impostata su 32 e in tutte le versioni iniziali del driver nfnic non è possibile regolare la profondità della coda nfnic. Ciò limita a 32 il numero massimo di richieste di profondità di coda del dispositivo e di numero di pianificazione del disco in sospeso. Ha inoltre causato problemi durante l'utilizzo dei volumi virtuali vSphere, poiché la profondità di coda consigliata è 128. Gli effetti di questo limite possono essere rilevati anche su qualsiasi VM con un carico di lavoro più elevato e che in generale richiedono una profondità di coda più elevata.
Contributo di Michael Baba, Josh Good e Alejandro Marino; Tecnici Cisco TAC.
Miglioramento creato per aggiungere la possibilità di configurare il parametro di profondità della coda: https://bst.cloudapps.cisco.com/bugsearch/bug/CSCvo09082
A partire dalla versione 4.0.0.35 del driver nfnic, è possibile regolare "lun_queue_depth_per_path" tramite l'interfaccia della riga di comando (CLI) ESXi. Questa versione del driver può essere installata manualmente sull'host ESXi, se non è già presente.
Il driver nfnic 4.0.0.35 è disponibile nel bundle UCS Blade Firmware 4.0.4 e può anche essere scaricato separatamente da VMware. È consigliabile consultare la pagina UCS sulla compatibilità hardware e software per ottenere il driver più recente consigliato per la specifica combinazione hardware e software.
Per verificare la versione attualmente installata del driver nfnic, eseguire:
esxcli software vib list | grep nfnic
Dovresti vedere qualcosa come:
[root@localhost:~] esxcli software vib list | grep nfnic nfnic 4.0.0.14-1OEM.670.1.28.10302608 Cisco VMwareCertified 2019-08-24 [root@localhost:~]
Se non viene visualizzato alcun output, il driver nfnic non è attualmente installato. Fare riferimento alla pagina UCS sulla compatibilità hardware e software per verificare se la configurazione deve utilizzare il driver nfnic o fnic.
Le istruzioni dettagliate per l'installazione dei driver più recenti esulano dall'ambito di questa guida. Per istruzioni dettagliate sull'aggiornamento del driver, consultare UCS Driver Installation for Common Operating Systems o la documentazione di VMware. Una volta aggiornato il driver, è possibile utilizzare gli stessi comandi descritti in precedenza per verificare la versione.
Una volta installato il driver corretto, è possibile verificare che i parametri del modulo siano disponibili per la configurazione con:
esxcli system module parameters list -m nfnic
In questo output è possibile vedere che il valore predefinito è impostato su 32; tuttavia, è possibile configurare qualsiasi valore da 1 a 1024. Se si utilizzano volumi virtuali vSphere, si consiglia di impostare questo valore su 128. Si consiglia di contattare VMware e il fornitore dello storage per eventuali altri suggerimenti specifici.
Output di esempio:
[root@localhost:~] esxcli system module parameters list -m nfnic Name Type Value Description ------------------------ ----- ----- -------------------------------------------------------------- lun_queue_depth_per_path ulong nfnic lun queue depth per path: Default = 32. Range [1 - 1024] [root@localhost:~]
Per modificare il parametro Profondità coda, il comando è riportato di seguito. Nell'esempio riportato di seguito lo si sta modificando in 128, ma il valore può variare a seconda dell'ambiente.
esxcli system module parameters set -m nfnic -p lun_queue_depth_per_path=128
Con lo stesso comando di cui sopra è possibile configurare la modifica apportata:
[root@localhost:~] esxcli system module parameters list -m nfnic Name Type Value Description ------------------------ ----- ----- -------------------------------------------------------------- lun_queue_depth_per_path ulong 128 nfnic lun queue depth per path: Default = 32. Range [1 - 1024] [root@localhost:~]
È ora possibile configurare le operazioni di I/O in sospeso sull'endpoint del protocollo in modo che corrispondano alla profondità della coda indicata (nell'esempio, 128) e quindi verificare che entrambi i valori siano stati modificati in 128.
NOTA: Prima di apportare la modifica alla configurazione, potrebbe essere necessario riavviare l'host.
Per modificare la profondità della coda per un dispositivo specifico:
esxcli storage core device set -O 128 -d naa.xxxxxxxxx
Per trovare l'ID del dispositivo, usare il comando seguente:
esxcli storage core device list
Per confermare le modifiche per un dispositivo specifico:
esxcli storage core device list -d naa.xxxxxxxxxx
Esempio con output. È possibile notare che "Device Max Queue Depth:" e "No of Outstanding IOs with Competing Worlds:" sono entrambi ancora 32.
[root@localhost:~] esxcli storage core device list -d naa.600a09803830462d803f4c6e68664e2d naa.600a09803830462d803f4c6e68664e2d Display Name: VMWare_SAS_STG_01 Has Settable Display Name: true Size: 2097152 Device Type: Direct-Access Multipath Plugin: NMP Devfs Path: /vmfs/devices/disks/naa.600a09803830462d803f4c6e68664e2d Vendor: NETAPP ...snip for length... Is Boot Device: false Device Max Queue Depth: 32 No of outstanding IOs with competing worlds: 32 Drive Type: unknown RAID Level: unknown Number of Physical Drives: unknown Protection Enabled: false PI Activated: false PI Type: 0 PI Protection Mask: NO PROTECTION Supported Guard Types: NO GUARD SUPPORT DIX Enabled: false DIX Guard Type: NO GUARD SUPPORT Emulated DIX/DIF Enabled: false
Ora viene modificato in 128 per questo dispositivo
esxcli storage core device set -O 128 -d naa.600a09803830462d803f4c6e68664e2d
Se si controlla lo stesso output, è possibile vedere "Profondità massima coda dispositivo:" e "Numero di I/O in sospeso con mondi concorrenti:" sono entrambi ora 128. Se le modifiche non vengono riflesse immediatamente, potrebbe essere necessario riavviare l'host ESXi.
[root@localhost:~] esxcli storage core device list -d naa.600a09803830462d803f4c6e68664e2d naa.600a09803830462d803f4c6e68664e2d Display Name: VMWare_SAS_STG_01 Has Settable Display Name: true Size: 2097152 Device Type: Direct-Access Multipath Plugin: NMP Devfs Path: /vmfs/devices/disks/naa.600a09803830462d803f4c6e68664e2d Vendor: NETAPP ...snip for length... Is Boot Device: false Device Max Queue Depth: 128 No of outstanding IOs with competing worlds: 128 Drive Type: unknown RAID Level: unknown Number of Physical Drives: unknown Protection Enabled: false PI Activated: false PI Type: 0 PI Protection Mask: NO PROTECTION Supported Guard Types: NO GUARD SUPPORT DIX Enabled: false DIX Guard Type: NO GUARD SUPPORT Emulated DIX/DIF Enabled: false