Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda/ Image Management Service/ Perguntas frequentes/ Optimização de imagem/ Como habilitar a multifila de NIC para uma imagem?
Atualizado em 2024-09-09 GMT+08:00

Como habilitar a multifila de NIC para uma imagem?

Cenários

Com o aumento da largura de banda de I/O da rede, uma única vCPU não pode atender aos requisitos de processamento de interrupções de NIC. A multifila de NIC permite que várias vCPUs processem interrupções de NIC, melhorando assim o PPS da rede e o desempenho de I/O.

ECSs com suporte para multifila de NIC

A multifila de NIC pode ser ativada em um ECS somente quando as especificações do ECS, o tipo de virtualização e a imagem atendem aos requisitos descritos nesta seção.

  • Para obter detalhes sobre as especificações do ECS que oferecem suporte a multifila de NIC, consulte Tipos de ECS.

    Se o número de filas de NIC for maior que 1, a multifila de NIC será suportada.

  • Apenas os ECSs de KVM suportam multifila de NIC.
  • As imagens públicas do Linux listadas na Tabela 2 oferecem suporte a multifila de NIC.
    • Os SOs Windows não ofereceram suporte comercial à multifila de NIC. Se você habilitar a multifila de NIC para uma imagem do Windows, a inicialização de um ECS criado com essa imagem poderá ser lenta.
    • É aconselhável atualizar a versão do kernel dos ECSs do Linux para a versão 2.6.35 ou posterior. Caso contrário, a multifila de NIC não é suportada.

      Execute o comando uname -r para verificar a versão do kernel. Se a versão for anterior à 2.6.35, entre em contato com o suporte técnico para atualizá-la.

Tabela 1 ECSs do Windows que suportam multifila de NIC

SO

Imagem

Com suporte de

Windows

Windows Server 2008 WEB R2 64bit

Imagens privadas

Windows Server 2008 Enterprise SP2 64bit

Imagens privadas

Windows Server 2008 R2 Standard/Datacenter/Enterprise 64bit

Imagens privadas

Windows Server 2008 R2 Enterprise 64bit_WithGPUdriver

Imagens privadas

Windows Server 2012 R2 Standard 64bit_WithGPUdriver

Imagens privadas

Windows Server 2012 R2 Standard/Datacenter 64bit

Imagens privadas

Tabela 2 ECSs do Linux que oferecem suporte a multifila de NIC

SO

Imagem

Com suporte de

Multifila de NIC habilitada por padrão

Linux

Ubuntu 14.04/16.04 Server 64bit

Imagens públicas

Sim

openSUSE 42.2 64bit

Imagens públicas

Sim

SUSE Enterprise 12 SP1/SP2 64bit

Imagens públicas

Sim

CentOS 6.8/6.9/7.0/7.1/7.2/7.3/7.4/7.5/7.6 64bit

Imagens públicas

Sim

Debian 8.0.0/8.8.0/8.9.0/9.0.0 64bit

Imagens públicas

Sim

Fedora 24/25 64bit

Imagens públicas

Sim

EulerOS 2.2 64bit

Imagens públicas

Sim

Instruções de operação

Suponha que um ECSs tenha as especificações necessárias e o tipo de virtualização.

Registrar o arquivo de imagem externo como uma imagem privada

Para obter detalhes, consulte Registro de um arquivo de imagem externo como uma imagem privada (Linux). Depois que o arquivo de imagem for importado, visualize o valor de NIC Multi-Queue na página de detalhes da imagem.

Definir multifila de NIC para a imagem

Os SOs Windows não ofereceram suporte comercial à multifila de NIC. Se você habilitar a multifila de NIC para uma imagem do Windows, a inicialização de um ECS criado com essa imagem poderá ser lenta.

Use um dos seguintes métodos para definir multifila de NIC.

Método 1:
  1. Acesse o console do IMS.
    1. Acesse o console de gerenciamento.
    2. Em Compute, clique em Image Management Service.

      O console do IMS é exibido.

  2. Na página Private Images exibida, localize a linha que contém a imagem de destino e clique em Modify na coluna Operation.
  3. Defina multifila de NIC para a imagem.
Método 2:
  1. Acesse o console do IMS.
    1. Acesse o console de gerenciamento.
    2. Em Compute, clique em Image Management Service.

      O console do IMS é exibido.

  2. Na página Private Images exibida, clique no nome da imagem de destino.
  3. No canto superior direito da página de detalhes da imagem exibida, clique em Modify. Na caixa de diálogo Modify Image exibida, defina a multifila de NIC para a imagem.

Método 3: adicionar hw_vif_multiqueue_enabled à imagem usando uma API.

  1. Obtenha um token. Para obter detalhes, consulte Autenticação.
  2. Chame uma API para atualizar as informações da imagem. Para obter detalhes, consulte Atualização das informações da imagem (API OpenStack nativo).
  3. Adicione X-Auth-Token ao cabeçalho da solicitação.

    O valor de X-Auth-Token é o token obtido na etapa 1.

  4. 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 definir a multifila de NIC.

    Figura 1 Exemplo de corpo de solicitação

Criar um ECSs a partir da imagem privada

Use a imagem privada registrada para criar um ECS. Para obter detalhes, consulte Compra de um ECS. Observe o seguinte ao configurar os parâmetros:
  • Region: selecione a região onde a imagem privada está localizada.
  • Image: selecione Private image e, em seguida, a imagem desejada na lista suspensa.

Executar o script para configurar a multifila de NIC

Os SOs Windows não ofereceram suporte comercial à multifila de NIC. Se você habilitar a multifila de NIC para uma imagem do Windows, a inicialização de um ECS criado com essa imagem poderá ser lenta.

Para SOs Linux, o script para configurar automaticamente a multifila de NIC é fornecido. Se um ECS tiver várias NICs, a execução do script habilitará automaticamente multifila para todas as NICs.

  1. Faça logon no ECS e execute o seguinte comando para verificar o número de filas suportadas e ativadas para uma NIC:

    ethtool -l 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   #The NIC supports a maximum of four queues.
    Current hardware settings:
    RX:               0
    TX:               0
    Other:            0
    Combined:         1   #One queue has been enabled for the NIC.

    Se os valores dos dois campos Combined forem os mesmos, a multifila de NIC foi ativada. Nenhuma ação adicional é necessária.

  2. Execute o seguinte comando para baixar o script de configuração multi-queue-hw:

    wget https://ecs-instance-driver.obs.cn-north-1.myhuaweicloud.com/multi-queue-hw

    O caminho de download é https://ecs-instance-driver.obs.cn-north-1.myhuaweicloud.com/multi-queue-hw.

  3. Execute o seguinte comando para tornar o script executável:

    chmod +x multi-queue-hw

  4. Execute o seguinte comando para colocar o script multi-queue-hw no diretório /etc/init.d:

    mv multi-queue-hw /etc/init.d

    Digite y quando as seguintes informações forem exibidas:

    mv: overwrite '/etc/init.d/multi-queue-hw'?
  5. Execute o seguinte comando para executar o script:

    /etc/init.d/multi-queue-hw start

    O script de multifila de NIC entra em vigor imediatamente após a execução do script, mas se torna inválido quando o ECSs é interrompido.

  6. Adicione um item de inicialização para cada SO para que a multifila de NIC seja ativada automaticamente na inicialização do ECS.
    • Para CentOS, Red Hat, Fedora, EulerOS, SUSE e openSUSE, execute o seguinte comando:

      chkconfig multi-queue-hw on

    • Para o Ubuntu, execute o seguinte comando:

      update-rc.d multi-queue-hw defaults 90 10

    • Para o Debian, execute o seguinte comando:

      systemctl enable multi-queue-hw