¿Cómo activo la cola múltiple de NIC para una imagen?
Escenarios
Con el aumento del ancho de banda de E/S de la red, una sola vCPU no puede cumplir con el requisito de procesar interrupciones de NIC. La cola múltiple de NIC permite que varias vCPU procesen interrupciones de NIC, lo que mejora el PPS de la red y el rendimiento de E/S.
ECS compatibles con cola múltiple de NIC
La cola múltiple de NIC se puede habilitar en un ECS solo cuando las especificaciones de ECS, el tipo de virtualización y la imagen cumplan los requisitos descritos en esta sección.
- Para obtener detalles acerca de las especificaciones de ECS que admiten múltiples colas 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.
- Solo KVM ECSs admiten cola múltiple de NIC.
- Las imágenes públicas de Linux que se enumeran en Tabla 2 admite cola múltiple de NIC.
- Los sistemas operativos de Windows no son compatibles comercialmente con cola múltiple de NIC. Si habilita la cola múltiple de NIC para una imagen de Windows, iniciar un ECS creado con dicha imagen puede ser lento.
- Se recomienda actualizar la versión del kernel de ECSs de Linux a 2.6.35 o posterior. De lo contrario, no se admite cola múltiple de NIC.
Ejecute el comando uname -r para comprobar la versión del núcleo. Si la versión es anterior a la 2.6.35, póngase en contacto con el soporte técnico para actualizarla.
Sistema operativo |
Imagen |
Soportado por |
---|---|---|
Windows |
Windows Server 2008 WEB R2 64bit |
Imágenes privadas |
Windows Server 2008 Enterprise SP2 64bit |
Imágenes privadas |
|
Windows Server 2008 R2 Standard/Datacenter/Enterprise 64bit |
Imágenes privadas |
|
Windows Server 2008 R2 Enterprise 64bit_WithGPUdriver |
Imágenes privadas |
|
Windows Server 2012 R2 Standard 64bit_WithGPUdriver |
Imágenes privadas |
|
Windows Server 2012 R2 Standard/Datacenter 64bit |
Imágenes privadas |
Sistema operativo |
Imagen |
Soportado por |
Cola múltiple de NIC habilitada de forma predeterminada |
---|---|---|---|
Linux |
Ubuntu 14.04/16.04 Server 64bit |
Imágenes públicas |
Sí |
openSUSE 42.2 64bit |
Imágenes públicas |
Sí |
|
SUSE Enterprise 12 SP1/SP2 64bit |
Imágenes públicas |
Sí |
|
CentOS 6.8/6.9/7.0/7.1/7.2/7.3/7.4/7.5/7.6 64bit |
Imágenes públicas |
Sí |
|
Debian 8.0.0/8.8.0/8.9.0/9.0.0 64bit |
Imágenes públicas |
Sí |
|
Fedora 24/25 64bit |
Imágenes públicas |
Sí |
|
EulerOS 2.2 64bit |
Imágenes públicas |
Sí |
Instrucciones de operación
Supongamos que ECS tiene las especificaciones y el tipo de virtualización requeridos.
- Si el ECS se creó con una imagen pública que aparece en la lista ECS compatibles con cola múltiple de NIC, se ha habilitado la cola múltiple de NIC en el ECS de forma predeterminada. Por lo tanto, no es necesario habilitar manualmente la cola múltiple de NIC para ello.
- Si el ECS se creó mediante un archivo de imagen externo con un sistema operativo incluido en el ECS compatibles con cola múltiple de NIC, realice las siguientes operaciones para habilitar la cola múltiple de NIC:
Registrar el archivo de imagen externa como una imagen privada
- Si el valor es Supported, vaya a Crear un ECS a partir de la imagen privada.
- Si el valor no es Not supported, vaya a Establecer cola múltiple de NIC para la imagen.
Establecer cola múltiple de NIC para la imagen
Los sistemas operativos de Windows no son compatibles comercialmente con cola múltiple de NIC. Si habilita la cola múltiple de NIC para una imagen de Windows, iniciar un ECS creado con dicha imagen puede ser lento.
Utilice cualquiera de los métodos siguientes para establecer cola múltiple de NIC.
- Acceda a la consola IMS.
- Inicie sesión en la consola de gestión.
- En Compute, haga clic en Image Management Service.
Se muestra la consola IMS.
- En la página Private Images que se muestra, busque la fila que contiene la imagen de destino y haga clic en Modify en la columna Operation.
- Establezca cola múltiple de NIC para la imagen.
- Acceda a la consola IMS.
- Inicie sesión en la consola de gestión.
- En Compute, haga clic en Image Management Service.
Se muestra la consola IMS.
- En la página Private Images que se muestra, haga clic en el nombre de la imagen de destino.
- En la esquina superior derecha de la página de detalles de la imagen mostrada, haga clic en Modify. En el cuadro de diálogo Modify Image que se muestra, establezca cola múltiple de NIC para la imagen.
Method 3:: Agregar hw_vif_multiqueue_enabled a la imagen usando una API.
- Obtenga un token. Para obtener más información, consulte Autenticación.
- Invoque a una API para actualizar la información de la imagen. Para obtener más información, consulte Actualización de información de imagen (Native OpenStack API).
- Agregue X-Auth-Token al encabezado de solicitud.
El valor de X-Auth-Token es el token obtenido en paso 1.
- 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 cuerpo de solicitud es el siguiente:[ { "op":"add", "path":"/hw_vif_multiqueue_enabled", "value": "true" } ]
Figura 1 muestra un cuerpo de solicitud de ejemplo para establecer NIC multi-queue.
Crear un ECS a partir de la imagen privada
- 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.
Ejecutar el script para configurar cola múltiple de NIC
Los sistemas operativos de Windows no son compatibles comercialmente con cola múltiple de NIC. Si habilita la cola múltiple de NIC para una imagen de Windows, iniciar un ECS creado con dicha imagen puede ser lento.
Para los sistemas operativos Linux, se proporciona el script para configurar automáticamente la cola múltiple de NIC. Si un ECS tiene varias NIC, la ejecución del script habilitará automáticamente la cola múltiple para todas las NIC.
- Inicie sesión en ECS y ejecute el siguiente comando para comprobar el número de colas compatibles y habilitadas para una 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 #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.
Si los valores de los dos campos Combined son los mismos, se ha habilitado la cola múltiple de NIC. No se requiere ninguna otra acción.
- Ejecute el siguiente comando para descargar el script de configuración multi-queue-hw:
wget https://ecs-instance-driver.obs.cn-north-1.myhuaweicloud.com/multi-queue-hw
La ruta de descarga es https://ecs-instance-driver.obs.cn-north-1.myhuaweicloud.com/multi-queue-hw.
- Ejecute el siguiente comando para que el script sea ejecutable:
- Ejecute el siguiente comando para colocar el script multi-queue-hw en el directorio /etc/init.d:
mv multi-queue-hw /etc/init.d
Introduzca y cuando se muestre la siguiente información:
mv: overwrite '/etc/init.d/multi-queue-hw'?
- Ejecute el siguiente comando para ejecutar el script:
/etc/init.d/multi-queue-hw start
La secuencia de comandos de cola múltiple de NIC tiene efecto inmediatamente después de ejecutar la secuencia de comandos, pero se vuelve inválida una vez que se detiene ECS.
- Agregue un elemento de inicio para cada sistema operativo de modo que cola múltiple de NIC se active automáticamente al iniciar ECS.
- Para CentOS, Red Hat, Fedora, EulerOS, SUSE y openSUSE, ejecute el siguiente comando: