Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ Elastic Cloud Server/ Guía del usuario/ Los NIC/ Activación de la cola múltiple de NIC
Actualización más reciente 2024-07-02 GMT+08:00

Activación de la cola múltiple de NIC

Casos

El rendimiento de la CPU de un solo núcleo no puede cumplir con el requisito de procesar interrupciones de NIC incurridas con el aumento del ancho de banda de E/S de la red. La cola múltiple de NIC permite que varias CPU procesen las interrupciones de NIC en ECS, lo que mejora el rendimiento de PPS y E/S.

Se supone que el ECS descrito en esta sección cumple con los requisitos sobre especificaciones y tipo de virtualización.

Después de habilitar la cola múltiple de NIC en un ECS, debe habilitar esta función en el ECS de nuevo después de agregar o eliminar un NIC o cambiar la VPC para el ECS. Para más detalles, consulte Ejecución de la secuencia de comandos para configurar la cola múltiple de NIC.

Compatibilidad con la cola múltiple de NIC

La cola múltiple de NIC se pueden habilitar en un ECS solo cuando las especificaciones, el tipo de virtualización y el SO de imagen de ECS cumplan los requisitos descritos en esta sección.

  • Para obtener detalles acerca de las especificaciones de ECS que admiten la cola múltiple de NIC, consulte Tipos de ECS.

    Si el número de colas de NIC es mayor que 1, se admite la cola múltiple de NIC.

  • El tipo de virtualización debe ser KVM.
  • Las imágenes públicas de Linux que aparecen en Tabla 2 es compatible con la cola múltiple de NIC.
    • El controlador PV de un ECS de Windows ajusta dinámicamente el número de colas de NIC en función del número de vCPUs del ECS y no es necesario establecer el número de colas múltiples de NIC de Windows.
    • Las imágenes públicas que contienen Windows Server 2008 ya no están disponibles. Sin embargo, todavía puede usar imágenes privadas que contengan Windows Server 2008.
    • Es una buena práctica actualizar la versión del kernel de ECS de Linux a 2.6.35 o posterior. De lo contrario, no se admite la cola múltiple de NIC.

      Ejecute el comando uname -r para obtener la versión del núcleo. Si la versión del núcleo es anterior a la 2.6.35, póngase en contacto con el servicio de atención al cliente para actualizar el núcleo.

Tabla 1 Compatibilidad con la cola múltiple de NIC para ECS de Windows

Imagen

Compatibilidad con la cola múltiple de NIC

Cola múltiple de NIC habilitada de forma predeterminada

Windows Server 2008 R2 Standard/Enterprise/DataCenter 64bit

Windows Server 2008 Enterprise SP2 64bit

Windows Server 2008 Web R2 64-bit

Windows Server 2008 R2 Enterprise 64bit_WithGPUdriver

Windows Server 2012 R2 Standard 64bit_WithGPUdriver

Windows Server 2012 R2 Standard/DataCenter 64 bit

Windows Server 2016 Standard/DataCenter 64 bit

Windows Server 2019 DataCenter 64 bit

Tabla 2 Soporte de múltiples colas NIC para ECS de Linux

Imagen

Compatibilidad con la cola múltiple de NIC

Cola múltiple de NIC habilitada de forma predeterminada

Ubuntu 14.04/16.04/18.04/20.04 server 64bit

OpenSUSE 42.2/15.* 64bit

SUSE Enterprise 12 SP1/SP2 64bit

CentOS 6.8/6.9/7.*/8.* 64bit

Debian 8.0.0/8.8.0/8.9.0/9.0.0/10.0.0/10.2.0 64bit

Fedora 24/25/30 64bit

EulerOS 2.2/2.3/2.5 64bit

Importación del archivo de imagen externa a la consola IMS

Para obtener más información, consulte "Registro de un archivo de imagen como imagen privada" en la Guía del usuario de Image Management Service. Después de importar el archivo de imagen, vea el valor de NIC Multi-Queue en la página que proporciona detalles sobre la imagen.

Configuración de la cola múltiple de NIC para la imagen

Los SO de Windows no han soportado comercialmente la cola múltiple de NIC. Si habilita la cola múltiple de NIC en una imagen de Windows, iniciar un ECS creado con dicha imagen puede ser lento.

Utilice uno de los métodos siguientes para establecer el atributo de la cola múltiple de NIC:

Método 1:
  1. Inicie sesión en la consola de gestión.
  2. Haga clic en . En Compute, haga clic en Image Management Service.
  3. Haga clic en la ficha Private Images, busque la fila que contiene la imagen de destino y haga clic en Modify en la columna Operation.
  4. Establezca el atributo de la cola múltiple de NIC de la imagen.
Método 2:
  1. Inicie sesión en la consola de gestión.
  2. Haga clic en . En Compute, haga clic en Image Management Service.
  3. Haga clic en la pestaña Private Images. En la lista de imágenes, haga clic en el nombre de la imagen de destino para cambiar a la página que proporciona detalles sobre la imagen.
  4. Haga clic en Modify en la esquina superior derecha. En el cuadro de diálogo Modify Image que se muestra, establezca el atributo de cola múltiple de NIC.

Método 3: Agregar hw_vif_multiqueue_enabled a una imagen a través de la API.

  1. Para obtener instrucciones sobre cómo obtener el token, consulte Autenticación.
  2. Para obtener instrucciones sobre cómo llamar a una API para actualizar información de imagen, consulte Actualización de información de imagen (Native OpenStack API).
  3. Agregue X-Auth-Token al encabezado de solicitud.

    El valor de X-Auth-Token es el token obtenido en el paso 1.

  4. Agregue Content-Type al encabezado de solicitud.

    El valor de Content-Type es application/openstack-images-v2.1-json-patch.

    El URI de solicitud tiene el siguiente formato:

    PATCH /v2/images/{image_id}

    El órgano de solicitud es el siguiente:
    [       
             { 
              "op":"add",
              "path":"/hw_vif_multiqueue_enabled", 
              "value": "true" 
             } 
     ]

    Figura 1 muestra un cuerpo de solicitud de ejemplo para modificar el atributo de cola múltiple de NIC.

    Figura 1 Ejemplo de cuerpo de solicitud

Creación de un ECS usando una imagen privada

Cree un ECS utilizando una imagen privada registrada. Tenga en cuenta lo siguiente al establecer los parámetros:
  • Region: Seleccione la región donde se encuentra la imagen privada.
  • Image: Seleccione Private image y, a continuación, la imagen deseada en la lista desplegable.

Ejecución de la secuencia de comandos para configurar la cola múltiple de NIC

El controlador PV de un ECS de Windows ajusta dinámicamente el número de colas de NIC en función del número de vCPUs del ECS y no es necesario establecer el número de colas múltiples de NIC de Windows.

Hay disponible un script para habilitar automáticamente la cola múltiple de NIC en un ECS de Linux. Después de configurar la secuencia de comandos, ECS admite la cola mútiple de NIC.

  1. Descargue el script de configuración multi-queue-hw.

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

  2. Ejecute el siguiente comando para asignar permisos de ejecución al script:

    chmod +x multi-queue-hw

  3. Ejecute el siguiente comando para mover el script multi-queue-hw al directorio /etc/init.d:

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

  4. Ejecute el siguiente comando para ejecutar el script:

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

    El script entra en vigor inmediatamente después de ser ejecutado. Sin embargo, después de que se detenga el ECS, NIC multi-cola se deshabilita automáticamente.

  5. Agregue la configuración de inicio para cada SO para que la cola múltiple de NIC se active automáticamente al iniciar el ECS.
    • Para CentOS, Red Hat, Fedora, EulerOS, SUSE y OpenSUSE, ejecute el siguiente comando:

      chkconfig multi-queue-hw on

    • Para Ubuntu, ejecute el siguiente comando:

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

    • Para Debian, ejecute el siguiente comando:

      systemctl enable multi-queue-hw

Consulta del número de colas del NIC

Se ha habilitado la cola múltiple de NIC.
  1. Inicie sesión en el ECS.
  2. Ejecute el siguiente comando para obtener el número de colas admitidas por el NIC y el número de colas con la multicola de NIC habilitada:

    ethtool -l NIC

Ejemplo:

[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.