Ativação de NIC Multi-Filas
Cenários
O desempenho da CPU de núcleo único não pode atender aos requisitos de processamento de interrupções de NIC incorridas com o aumento da largura de banda de E/S da rede. A multifila NIC permite que as várias CPU processem interrupções de NIC de ECS, melhorando assim o desempenho de PPS e E/S.
O ECS descrito nesta seção é assumido em conformidade com os requisitos sobre especificações e tipo de virtualização.
- Se o ECS foi criado usando uma imagem pública listada em Suporte de NIC Multi-Fila, a multifila NIC foi ativada no ECS por padrão. Portanto, você não precisa executar as operações descritas nesta seção.
- Se o ECS tiver sido criado usando uma imagem privada e o SO do arquivo de imagem externo estiver listado em Suporte de NIC Multi-Fila, execute as seguintes operações para ativar a multifila NIC:
Depois que a fila múltipla da NIC estiver ativada em um ECS, você precisará ativar essa função no ECS novamente depois de adicionar ou excluir uma NIC ou alterar a VPC do ECS. Para mais detalhes, consulte Executando o script para configurar várias filas de NIC.
Suporte de NIC Multi-Fila
A multifila NIC pode ser ativada em um ECS somente quando as especificações do ECS, o tipo de virtualização e o sistema operacional de imagem atendem aos requisitos descritos nesta seção.
- Para obter detalhes sobre as especificações do ECS que suportam múltiplas filas NIC, consulte Tipos de ECS.
Se o número de filas NIC for maior que 1, há suporte para várias filas NIC.
- O tipo de virtualização deve ser KVM.
- As imagens públicas do Linux listadas na Tabela 2 multi-fila NIC de suporte.
- O driver PV de um ECS de Windows ajusta dinamicamente o número de filas NIC com base no número das vCPU do ECS, e você não precisa definir o número de multifilas NIC do Windows.
- Imagens públicas que contêm o Windows Server 2008 não estão mais disponíveis. No entanto, você ainda pode usar imagens privadas que contenham o Windows Server 2008.
- É uma boa prática atualizar a versão do kernel de ECS de Linux para a versão 2.6.35 ou posterior. Caso contrário, a multifila NIC não é suportada.
Execute o comando uname -r para obter a versão do kernel. Se a versão do kernel for anterior à 2.6.35, entre em contato com o atendimento ao cliente para atualizar o kernel.
imagem |
Suporte de NIC Multi-Fila |
NIC Multi-fila ativada por padrão |
---|---|---|
Windows Server 2008 R2 Standard/Enterprise/DataCenter 64bit |
Sim |
Sim |
Windows Server 2008 empresa SP2 64bit |
Sim |
Sim |
Windows Server 2008 Web R2 64-bit |
Sim |
Sim |
Windows Server 2008 R2 Enterprise 64bit_WithGPUdriver |
Sim |
Sim |
Padrão R2 64bit_WithGPUdriver do servidor 2012 de Windows |
Sim |
Sim |
Padrão de Windows Server 2012 R2/DataCenter 64 bocados |
Sim |
Sim |
Padrão de Windows Server 2016/DataCenter 64 bocados |
Sim |
Sim |
DataCenter do servidor 2019 do Windows 64 bocados |
Sim |
Sim |
imagem |
Suporte de NIC Multi-Fila |
NIC Multi-fila ativada por padrão |
---|---|---|
Ubuntu 14.04/16.04/18.04/20.04 servidor 64bit |
Sim |
Sim |
OpenSUSE 42.2/15.* 64bit |
Sim |
Sim |
SUSE Enterprise 12 SP1/SP2 64 bits |
Sim |
Sim |
CentOS 6.8/6.9/7.*/8.* 64bit |
Sim |
Sim |
Debian 8.0.0/8.8.0/8.9.0/9.0.0/10.0.0/10.2.0 64bit |
Sim |
Sim |
Fedora 24/25/30 64bit |
Sim |
Sim |
EulerOS 2.2/2.3/2.5 64bit |
Sim |
Sim |
Importando o arquivo de imagem externo para o console do IMS
- Se o valor for Supported, vá para Criando uma ECS Usando uma Imagem Privada.
- Se o valor for Not supported, vá para Configurando a multifila NIC para a imagem.
Configurando a multifila NIC para a imagem
Os sistemas operacionais Windows não ofereceram suporte comercial à multifila NIC. Se você ativar a multifila NIC em uma imagem do Windows, o início de um ECS criado usando essa imagem poderá ser lento.
Use um dos seguintes métodos para definir o atributo multi-fila NIC:
- Acesse o console de gerenciamento.
- Clicar em . Em Compute, clique em Serviço de gerenciamento de imagens.
- Clique na guia Private Images, localize a linha que contém a imagem de destino e clique em Modify na coluna Operation.
- Defina o atributo NIC multi-fila da imagem.
- Acesse o console de gerenciamento.
- Clicar em . Em Compute, clique em Serviço de gerenciamento de imagens.
- Clique na guia Private Images. Na lista de imagens, clique no nome da imagem de destino para alternar para a página que fornece detalhes sobre a imagem.
- Clique em Modify no canto superior direito. Na caixa de diálogo Modify Image exibida, defina o atributo de várias filas da NIC.
Method 3: Adicione hw_vif_multiqueue_enabled a uma imagem por meio da API.
- Para obter instruções sobre como obter o token, consulte Autenticação.
- Para obter instruções sobre como chamar uma API para atualizar informações de imagem, consulte Atualizando informações de imagem (API OpenStack nativa).
- Adicione X-Auth-Token ao cabeçalho da solicitação.
O valor de X-Auth-Token é o token obtido na etapa 1.
- Adicione Content-Type ao cabeçalho da solicitação.
O valor de Content-Type é application/openstack-images-v2.1-json-patch.
O URI da solicitação está no seguinte formato:
PATCH /v2/images/{image_id}
O corpo da solicitação é o seguinte:[ { "op":"add", "path":"/hw_vif_multiqueue_enabled", "value": "true" } ]
Figura 1 mostra um exemplo de corpo de solicitação para modificar o atributo multi-fila NIC.
Criando uma ECS Usando uma Imagem Privada
- Region: Selecione a região onde a imagem privada está localizada.
- Image: Selecione Private image e, em seguida, a imagem desejada na lista suspensa.
Executando o script para configurar várias filas de NIC
O driver PV de um ECS de Windows ajusta dinamicamente o número de filas NIC com base no número das vCPU do ECS, e você não precisa definir o número de multifilas NIC do Windows.
Um script para ativar automaticamente NIC multi-fila em um Linux ECS está disponível. Depois que o script é configurado, a ECS suporta NIC multi-fila.
- Baixe o script de configuração multi-queue-hw.
URL em https://ecs-instance-driver.obs.cn-north-1.myhuaweicloud.com/multi-queue-hw
- Execute o seguinte comando para atribuir permissões de execução ao script:
- Execute o seguinte comando para mover o script multi-queue-hw para o diretório /etc/init.d:
mv multi-queue-hw /etc/init.d
- Run the following command to run the script:
/etc/init.d/multi-queue-hw start
O script entra em vigor imediatamente após ser executado. No entanto, depois que o ECS é interrompido, a multifila NIC é desativada automaticamente.
- Adicione a configuração de inicialização para cada SO para que a multifila NIC seja ativada automaticamente na inicialização do ECS.
- Para CentOS, Red Hat, Fedora, EulerOS, SUSE e OpenSUSE, execute o seguinte comando:
Exibindo o número de filas da NIC
Exemplo:
[root@localhost ~]# ethtool -l eth0 #View the number of queues used by NIC eth0. Channel parameters for eth0: Pre-set maximums: RX: 0 TX: 0 Other: 0 Combined: 4 #Indicates that a maximum of four queues can be enabled for the NIC. Current hardware settings: RX: 0 TX: 0 Other: 0 Combined: 1 #Indicates that four queues have been enabled.