Soporte Técnico Premium para su infraestructura de virtualización por 1€/día
 

¿Que es el Virtual Machine Device Queues (VMDq)?

¿Que es el Virtual Machine Device Queues (VMDq)?

Hola amigos, soy Florián Murillo y vuelvo al ataque con temas de networking, hoy hablaré de como mejorar el rendimiento de nuestros interfaces de red de 10Gb utilizando Virtual Machine Device Queues (VMDq) de Intel.

El ratio de consolidación en los sistemas actuales, me refiero al número de VM que “corren” en un servidor físico, está aumentando considerablemente, según mis estimaciones, se ha multiplicado por 4 en los últimos 4 años, esto lleva parejo una consolidación del tráfico de red y tenemos la tentación de pensar que con ampliar los interfaces de red lo arreglamos, pasando de 1Gb a 10Gb, pero hemos de pensar que la mejora de rendimiento no es lineal con el aumento de ancho de banda, ya que el vmkernel ha de procesar y clasificar mucho mas tráfico, consumiendo CPU, convirtiendose en un cuello de botella y esto ocurre para el tráfico saliente y el tráfico entrante.

Virtual Machine Device Queues (VMDq)VMDq es una tecnología que permite realizar la clasificación del tráfico en el interfaz de red, creando colas de entrada/salida y especializando estas colas en VM especificas, descargando al VMkernel, evitando cuellos de botella y aumentando la velocidad de transmisión.

En pruebas de laboratorio con controladoras de red Intel 82598 de 10Gb, Intel midió, en un escenario concreto, velocidades de transmisión de 4.0Gbps sin VMDq y 9.2Gbps con VMDq, o sea a mas del doble, y todavía mejoro un poco (9.5Gbps) utilizando jumbo frames en el escenario final.

He visto pruebas parecidas con controladoras de red de Neterion.

La implementación de VMDq en VMware se llama NetQueue, y está disponible desde VI 3.5 U1. En vSphere v4 está activada por defecto, por lo que solo hemos de configurar el interfaz de red para soportar NetQueue y a disfrutar de sus beneficios.

¿Como verifico que NetQueue está activado en mi ESX?

Comprueba que en Configuration > Software > Advanced > VMkernel tengas VMkernel.Boot.netNetQueueEnabled activo, si no es así lo activas y reinicias el ESX.

Lo que estamos haciendo, en realidad, es cambiar el archivo /etc/vmware/esx.conf añadiendo la linea /vmkernel/netNetqueueEnabled = “TRUE”

¿Como configuro mi interfaz de red para soportar NetQueue?

El comando siguiente es para una Intel 82598 de un solo puerto, los parámetros pueden cambiar de nombre de un interfaz de red a otro.

esxcfg-module -s “InterruptType=2 VMDQ=16″ ixgbe

Donde InterruptType activa MSI-X, es una exigencia de NetQueue, permite a la controladora ethernet enviar datos a multiples cores aprovechando las interrupciones.

El parámetro VMDQ especifica el número de pares de colas de entrada y salida que tendremos, estas colas se asignaran automáticamente a las VM para aumentar la eficiencia. El número de colas depende de la interfaz ethernet, cuantas mas tenga, mejor.

Tras el comando esxcfg-module, hemos de reiniciar el ESX y ya está configurado NetQueue.

"Suscríbete al blog"
Recibe una actualización directamente en tu bandeja de entrada cada vez que publique un nuevo artículo. Tu dirección de correo electrónico nunca será compartida

Los lectores que leyeron este post, también leyeron:

  1. ¿Cómo activar Virtual Machine Storage Profiles?
  2. VMware vSphere y su característica DVFS
  3. Centro de respaldo virtual, ¿cómo crearlo? – Parte II
  4. Utilizando el VMkernel System Information Shell en VMware ESXi
  5. Como obtener la huella vRAM de una infraestructura virtual

Este post fue escrito por:

- who has written 102 posts on El Blog de la Virtualización de Servidores y del Cloud Computing en español.

Florián Murillo es CTO y socio fundador de Cloud Consulting, consultora especializada en cloud computing y DataCenter, con mas de 25 años asesorando empresas de todos los tamaños y con amplia experiencia en Seguridad, Virtualización VMware (VCP5 y VCI5) y Networking de Cisco (CCNP, CCDP y CCSP). Actualmente se dedica a ayudar a desarrollar negocios y proyectos en la nube a integradores, consultoras y proveedores de servicio.

Contact the author

9 Respuestas a “¿Que es el Virtual Machine Device Queues (VMDq)?”

  1. Nubeblog says:

    Interesante Florián. Aparte de ESXi y ESX, el sistema operativo Solaris y Opensolaris tienen un proyecto de virtualización de red llamado Crossbow que permite aprovechar VMDq y Dynamic Ring Grouping, y es capaz de simularlo en tarjetas que no lo soportan.

    Creo que en los próximos meses y años, el cuello de botella se está trasladando a la red: los 10Gb nos van a parecer poco…

  2. Florián says:

    Y así será, pero antes de 12 meses tendremos 40Gb (si cumplen) y antes de 24 meses 100Gb, porque habrá que agregar los 10Gb y los 40Gb de alguna manera ¿no?

  3. Hola Florián!. ¿Qué tal compañero?, espero que bien, la verdad es que aquí estoy un poco más pez y me gustaría si es posible donde puedo encontrar el comando que me active unas Broadcom NetXtreme II BCM5709 (4 puertos).

    Gracias de antemano y un saludo

  4. Por acotar algo mas el tiro… las funcionalidades de CROSSBOW con respecto al accountng y limiting a nivel de trafico de red (por interfaz real o virtual y puerto tcp en cada switch virtual) unicamente estan disponibles a dia de hoy en OpenSolaris, las capacidades mas tradicionales de link aggregation tambien en Solaris.

    Un abrazo.

  5. Nubeblog says:

    En realidad los 40Gb ya están aqui con Infiniband, y con un coste de la solución (tarjetas, switches, fabrics, etc…) menor que 10GboE. Lo que pasa es que Infiniband se asocia a HPC…

    @Victor, gracias por la aclaración. Pensaba que Crossbow estaba en Solaris ya. ¡Otra razón más para usar Opensolaris!

  6. Florián Murillo says:

    Hola nubeblog, tienes razón, pero intuyo que Infiniband, que es una tecnología excelente, será atropellada por el tren del Unified Fabric, aunque a las arquitecturas HPC será dificil el cambio, hay mucha experiencia y el performance es la máxima prioridad. Ya veremos …

  7. Florián Murillo says:

    Hola Miguel Angel, ¿como va todo? aunque la Broadcom NetXtreme II BCM5709 es de 1Gb, tiene según el fabricante soporte para NetQueue, utiliza el driver “bnx2″ revisa la parte “VMWARE RELATED” de este link

    http://www.broadcom.com/support/ethernet_nic/faq_drivers.php

    a ver si encuentras las variables especificas de tu interfaz. Suerte !!!

Trackbacks/Pingbacks

  1. [...] This post was mentioned on Twitter by Ediccson Redondo. Ediccson Redondo said: ¿Que es el Virtual Machine Device Queues (VMDq)? http://bit.ly/bKvk2I [...]


Deja un Comentario

iTunes App gratuita del blog virtualización

Sigue el blog Virtualización en Español

Blog Sponsors

Mi Empresa

JmG Virtual Consulting, expertos en Servicios y Soluciones de Virtualización y Cloud Computing

 

Síguenos en FaceBook

Descubre y domina VMware vSphere™ 5

Descubre y domina VMware vSphere™ 5. Por José María González

 

Descubre y domina la nueva versión de VMware vSphere™ 5 y aprovéchate de hasta un 20% de descuento al comprarlo online.

 

Pagame con un Tweet y recibe un capitulo del libro totalmente gratuito ...

Nuevo Site Recovery Manager 4 en español Consigue una copia gratuita del eBook

Nuevo VMware Site Recovery Manager 4 download gratis