O conjunto de documentação deste produto faz o possível para usar uma linguagem imparcial. Para os fins deste conjunto de documentação, a imparcialidade é definida como uma linguagem que não implica em discriminação baseada em idade, deficiência, gênero, identidade racial, identidade étnica, orientação sexual, status socioeconômico e interseccionalidade. Pode haver exceções na documentação devido à linguagem codificada nas interfaces de usuário do software do produto, linguagem usada com base na documentação de RFP ou linguagem usada por um produto de terceiros referenciado. Saiba mais sobre como a Cisco está usando a linguagem inclusiva.
A Cisco traduziu este documento com a ajuda de tecnologias de tradução automática e humana para oferecer conteúdo de suporte aos seus usuários no seu próprio idioma, independentemente da localização. Observe que mesmo a melhor tradução automática não será tão precisa quanto as realizadas por um tradutor profissional. A Cisco Systems, Inc. não se responsabiliza pela precisão destas traduções e recomenda que o documento original em inglês (link fornecido) seja sempre consultado.
Este documento descreve o processo de configuração da Profundidade máxima da fila e da E Entrada/Saída (IO) pendente em um driver nativo da placa de interface de rede (nfnic) de fibre channel. No hipervisor VMware ESXi 6.7, o driver da placa de interface de rede (fnic) fiberchannel foi substituído pelo driver nfnic para todos os adaptadores Cisco.
A profundidade da fila padrão do driver nfnic é definida como 32 e em todas as versões iniciais do driver nfnic não há como ajustar a profundidade da fila nfnic. Isso limita todas as Profundidades Máximas da Fila de Dispositivos e as Solicitações de Número de Programação de Disco, que excedem 32. Também causou problemas durante o uso de vSphere Virtual Volumes, pois a profundidade de fila recomendada é 128. Os efeitos desse limite também podem ser vistos em qualquer VMs que experimentem uma carga de trabalho mais alta e exigem uma profundidade de fila maior em geral.
Contribuído com Michael Baba, Josh Good e Alejandro Marino; Engenheiros do TAC da Cisco.
Aprimoramento criado para adicionar a capacidade de configurar o parâmetro de profundidade da fila: https://bst.cloudapps.cisco.com/bugsearch/bug/CSCvo09082
Começando com a versão 4.0.0.35 do driver nfnic, você pode ajustar "lun_queue_deep_per_path" através da CLI (Command Line Interface, interface de linha de comando) do ESXi. Essa versão do driver pode ser instalada manualmente no host ESXi se ainda não estiver nele.
O driver nfnic 4.0.0.35 pode ser encontrado no pacote de firmware de blade UCS 4.0.4 e também pode ser baixado separadamente do VMware. Consulte a página Compatibilidade de hardware e software do UCS para obter o driver recomendado mais recente para sua combinação específica de hardware e software.
Para verificar a versão atualmente instalada do driver nfnic, execute:
esxcli software vib list | grep nfnic
Você deve ver algo como:
[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 você não vir nenhuma saída, no momento você não tem o driver nfnic instalado. Consulte a página Compatibilidade de hardware e software do UCS para verificar se sua configuração deve estar usando o driver nfnic ou fnic.
Instruções detalhadas para instalar os drivers mais recentes estão além do escopo deste guia. Consulte a instalação do driver UCS para sistemas operacionais comuns ou a documentação da VMware para obter instruções passo a passo para atualizar o driver. Quando o driver for atualizado, você poderá usar os mesmos comandos acima para verificar a versão.
Depois que o driver correto for instalado, podemos verificar se os parâmetros do módulo estão disponíveis para configurar com:
esxcli system module parameters list -m nfnic
Podemos ver nesta saída que o valor padrão está definido como 32, no entanto, podemos configurar qualquer valor de 1 a 1024. Se estiver usando volumes virtuais do vSphere, é recomendável definir esse valor como 128. Recomendamos que você entre em contato com a VMware e seu fornecedor de armazenamento para obter outras recomendações específicas.
Saída de exemplo:
[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:~]
Para alterar o parâmetro Queue Depth (Profundidade da fila), o comando é mostrado abaixo. No exemplo abaixo, estamos alterando para 128, mas seu valor pode ser diferente dependendo do ambiente.
esxcli system module parameters set -m nfnic -p lun_queue_depth_per_path=128
Usando o mesmo comando acima, podemos configurar a alteração feita:
[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:~]
Agora, podemos configurar os I/O pendentes no endpoint do protocolo para corresponder à profundidade da fila acima (no exemplo, 128) e verificar se ambos os valores foram alterados para 128.
NOTE: Talvez seja necessário reinicializar o host antes que essa alteração de configuração possa ser feita.
Para alterar a profundidade da fila de um dispositivo específico:
esxcli storage core device set -O 128 -d naa.xxxxxxxxx
Para localizar a ID do dispositivo, use o comando abaixo:
esxcli storage core device list
Para confirmar as alterações de um dispositivo específico:
esxcli storage core device list -d naa.xxxxxxxxxx
Um exemplo com saída. Podemos ver que a "Profundidade máxima da fila de dispositivos:" e "Nº de I/Os excepcionais com mundos concorrentes:" ainda são 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
Agora mudamos para 128 para este dispositivo
esxcli storage core device set -O 128 -d naa.600a09803830462d803f4c6e68664e2d
E ao verificar a mesma saída, podemos ver "Device Max Queue Depth:" e "No of notable IOs with concorrentes worlds:" são ambos agora 128. Se as alterações não forem refletidas imediatamente, uma reinicialização do host ESXi pode ser necessária.
[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