Inicio Empresa NVIDIA impulsa el rendimiento de NVMe-oF para entornos vSphere 7

NVIDIA impulsa el rendimiento de NVMe-oF para entornos vSphere 7

by Laboratorio empresarial StorageReview
Conectar X-5

VMware agregado recientemente NVMe sobre tejido (NVMe-oF) como una opción de protocolo de red de almacenamiento en vSphere 7.0. El hecho de que la solución de almacenamiento compartido más rápida ahora pueda ser utilizada por el software de virtualización más popular del mundo cambia las reglas del juego y abre un nuevo conjunto de casos de uso para un centro de datos virtualizado. Esto también significa que ahora hay aplicaciones completas capaces de ejecutarse en máquinas virtuales (VM) habilitadas para NVMe-oF en vSphere. Estos incluyen inteligencia artificial (IA), aprendizaje automático (ML), bases de datos en memoria, computación de alto rendimiento (HPC), comercio de alta frecuencia (HFT), procesamiento de transacciones en línea (OLTP), así como cualquier otra aplicación que requiera latencia extremadamente baja y almacenamiento de alta capacidad.

VMware agregado recientemente NVMe sobre tejido (NVMe-oF) como una opción de protocolo de red de almacenamiento en vSphere 7.0. El hecho de que la solución de almacenamiento compartido más rápida ahora pueda ser utilizada por el software de virtualización más popular del mundo cambia las reglas del juego y abre un nuevo conjunto de casos de uso para un centro de datos virtualizado. Esto también significa que ahora hay aplicaciones completas capaces de ejecutarse en máquinas virtuales (VM) habilitadas para NVMe-oF en vSphere. Estos incluyen inteligencia artificial (IA), aprendizaje automático (ML), bases de datos en memoria, computación de alto rendimiento (HPC), comercio de alta frecuencia (HFT), procesamiento de transacciones en línea (OLTP), así como cualquier otra aplicación que requiera latencia extremadamente baja y almacenamiento de alta capacidad.

En StorageReview.com, siempre estamos interesados ​​en probar las últimas tecnologías para ver cómo funcionan en el mundo real. Dada nuestra experiencia previa con NVMe-oF, esperamos que mejore significativamente el rendimiento de la aplicación para vSphere. Para tener una idea real de cómo NVMe-oF afectará el rendimiento, lo compararemos con iSCSI, que es el abanderado actual para el almacenamiento de bloques en un centro de datos de vSphere. Pero nuestras pruebas tendrán un giro único, ya que no utilizaremos tecnología de nicho altamente especializada. En su lugar, utilizaremos productos que se encuentran comúnmente en el centro de datos hoy en día. Nuestras pruebas se realizarán en un servidor Dell R720XD conectado mediante adaptadores de doble puerto ConnectX-5 de NVIDIA que se ejecutan a 25 GbE a un FlashArray de almacenamiento puro//X que admite NVMe-oF.

Antes de llegar a los resultados de nuestras pruebas, primero le daremos una descripción general de lo que VMware admite en la forma de NVMe-oF, y luego le daremos un poco de información sobre NVMe y NVMe-oF y le explicaremos por qué tienen más rendimiento que iSCSI. También cubriremos algunos de los pasos que tomamos para configurar NVMe en vSphere.

VMware habilitó recientemente la compatibilidad con NVMe-oF (abril de 2020), aunque el estándar NVMe-oF se lanzó en 2016. Linux ha sido capaz de usarlo desde 2018, y la compatibilidad con NVMe-oF en arreglos de almacenamiento también ha estado disponible durante algunos años. . NVMe-oF se considera una tecnología emergente pero estable. En abril de 2020, VMware lanzó vSphere 7.0 y esta versión incluía soporte para NVMe-oF, lo que permitía la conectividad a arreglos NVMe con NVMe sobre Fibre Channel (NVMe/FC) o NVMe sobre RDMA Converged Ethernet (NVMe-RoCE, también conocido como NVMe/RDMA).

Descripción general de NVMe y NVMe-oF

Hasta hace poco, los SSD eran los de facto medios estándar para almacenamiento adjunto. Sin embargo, también tienen un cuello de botella crítico. Los SSD usan conectores SATA o SAS, que fueron diseñados para usarse con HDD y esto limita severamente el rendimiento de un SSD. Para abordar este problema, un consorcio de más de 90 empresas se unió en 2011 y lanzó una nueva especificación para conectar SSD a computadoras que no tendrían este cuello de botella SATA. Esta solución finalmente se conoció como NVMe.

Los dispositivos NVMe son rápidos. Mientras que los SSD SATA/SAS cambiaron radicalmente la industria del almacenamiento la década pasada, NVMe está cambiando radicalmente la industria del almacenamiento este siglo. Por ejemplo, en nuestras pruebas recientes con una carga de trabajo de lectura de 4K, descubrimos que una unidad SATA (Kingston DC500M) podía ofrecer poco menos de 80,000 1000 IOPS, pero una unidad NVMe (Kingston DC580,000M) podía ofrecer 7.25 XNUMX IOPS, una diferencia increíble de XNUMX veces. Hay muchas razones técnicas para explicar por qué NVMe tiene mucho más rendimiento que las unidades SATA, pero una de las más importantes es que tiene una ruta de datos más corta. El siguiente diagrama muestra una ilustración simplificada de cómo la ruta de datos es considerablemente más corta para NVMe en comparación con el almacenamiento de última generación como SAS.

NVMe-oF vSphere sasSus mejoras de rendimiento, junto con la caída abrupta del precio, han convertido a NVMe en el favorito de los centros de datos modernos.

Poco después de que las unidades NVMe se usaran ampliamente en el centro de datos, las personas se dieron cuenta de que los dispositivos no se estaban utilizando en todo su potencial y su limitación de ser un almacenamiento adjunto directo se hizo más evidente. Los dispositivos NVMe debían desacoplarse del servidor, por lo que otro grupo de empresas se unió y desarrolló una especificación sobre cómo entregar NVMe a través de una red. Una vez que el mecanismo de transporte para el almacenamiento NVMe estuvo disponible, pudimos agregar, abstraer y compartir dispositivos NVMe en un sistema de almacenamiento con muchos sistemas diferentes, incluidos los hosts ESXi. NVMe-oF usa terminología de destino/iniciador.

Topología NVMe-oF
RoCE permite el acceso directo a memoria remota (RDMA) a través de una red Ethernet. Hay dos versiones de RoCE: RoCE v1 y RoCE v2. Mientras que RoCE v1 permite la comunicación entre dos hosts en el mismo dominio de transmisión de Ethernet (capa 2), RoCE v2 se ejecuta sobre TCP (capa 3) y, por lo tanto, es enrutable, lo que le permite conectarse a hosts fuera de un dominio de transmisión de Ethernet. Debido a sus ventajas inherentes y su popularidad en el centro de datos, VMware solo admite v2. Durante la duración de este artículo, nos referiremos a RoCE v2 simplemente como RoCE.

RoCE requiere controladores de interfaz de red RDMA (rNIC) en lugar de NIC estándar. Las redes RoCE generalmente requieren configurar el Control de flujo prioritario, pero los conmutadores Spectrum están optimizados para el control de congestión cuando se usan con adaptadores ConnectX, lo que permite una configuración cero. RoCE es muy popular y tiene un ecosistema próspero que suministra subsistemas rNIC y NVMe-oF. Actualmente lo utilizan algunos de los centros de datos de hiperescala más grandes del mundo, y esto ha reducido considerablemente el precio de las rNIC desde que se introdujeron por primera vez.

Al usar RDMA, los datos se pueden transferir directamente a un host desde los dispositivos NVMe-oF sin tener que copiarlos en los búferes de memoria, como sería el caso si se usara una pila estándar de Protocolo de control de transmisión/Protocolo de Internet (TCP/IP). Al omitir los búferes, RDMA reduce el uso de la CPU en el host y disminuye la latencia para acceder a los datos en el dispositivo NVMe remoto. Hay muchas razones técnicas por las que NVMe-oF es más eficaz que las tecnologías de almacenamiento en red de última generación. Es de destacar el número masivo de colas (64K) que admite NVMe-oF, pero quizás lo más revelador es la ruta de datos NVMe-oF. El siguiente diagrama muestra una ilustración simplificada de cómo la ruta de datos es considerablemente más corta para NVMe-oF en comparación con el almacenamiento iSCSI.

NVMe de vSphere iSCSI

NVMe de vSphere NVMe

RoCE usa UDP, lo que afecta el rendimiento ya que UDP requiere menos gastos generales. Sin embargo, RoCE se basa en la compatibilidad de extremo a extremo para proporcionar una conectividad completa sin pérdidas. Aunque los conmutadores de red modernos admiten conectividad sin pérdidas, se debe tener cuidado para asegurarse de que un conmutador más antiguo que no admita conectividad sin pérdidas no esté en la ruta de red de NVMe-oF.

El resultado de todo esto es que NVMe-oF permite el acceso a las unidades NVMe de una red como si fueran locales para el servidor de acceso. Los primeros informes han demostrado que la latencia para el almacenamiento agrupado es de aproximadamente 100 μs, en lugar de los 500 μs o más de una matriz de almacenamiento all-flash iSCSI.

NVMe-oF con vSphere

Los requisitos para NVMe-oF con vSphere son sencillos:

  • Matriz NVMe compatible con transporte RDMA (RoCE)
  • Anfitrión ESXi compatible
  • Conmutadores Ethernet compatibles con una red sin pérdidas
  • Adaptador de red compatible con RoCE
  • Software NVMe sobre adaptador RDMA
  • controlador NVMe
  • Una red sin pérdidas tanto en la capa 2 como en la capa 3 o una red con pérdidas con la solución ZTR (Zero Touch RoCE) de NVIDIA
  • Enlaces dedicados, VMkernels y adaptadores RDMA a objetivos NVMe
  • VLAN dedicada de capa 3 o conectividad de capa 2

Debido a que NVMe-oF es nuevo en VMware, no todas las funciones de vSphere están disponibles para él. Algunas características que notamos que faltaban son la compatibilidad con VMDK compartidos, Raw Device Maps (RDM), vVols y la capacidad de arrancar desde NVMe-oF.

Implementación de NVMe-oF

Usamos las rNIC ConnectX-5 de NVIDIA, una de las tarjetas más comunes en el centro de datos. Estas tarjetas son adaptadores de red de uno o dos puertos habilitados para RDMA. Están disponibles para servidores PCIe Gen 3.0 y Gen 4.0 y brindan soporte para 1, 10, 25, 40, 50 y 100 Gb. Tienen una latencia de 750 ns y pueden pasar hasta 200 millones de mensajes por segundo. Cuando se usan con cargas de trabajo de almacenamiento, admiten una amplia gama de tecnologías de aceleración.

Para nuestras pruebas, ejecutamos tarjetas PCIe Gen 3.0 ConnectX-5 a 25 GbE en un par de servidores Dell R720 a través de una red conectada a través de un par de conmutadores Spectrum SN2010 de NVIDIA al arreglo flash Pure Storage.

Primero verificamos que estábamos ejecutando el controlador nmlx5_core ingresando esxcfg-nics -l |grep -E 'Nombre|NVIDIA'.

Si estuviéramos ejecutando el controlador nmlx4_core, podríamos haber habilitado RoCE desde la CLI de ESXi.

El proceso para habilitar NVMe-oF (similar al de configurar y habilitar iSCSI) involucró la configuración de vSwitches, grupos de puertos y puertos vmkernel en los hosts ESXi. La principal diferencia era que necesitábamos agregar al menos dos adaptadores de software NVMe sobre RDMA a cada host ESXi.

El último paso que necesitábamos completar era identificar el nombre calificado de NVMe (NQN) del host ESXi ingresando obtener información esxcli nvme.

En el arreglo Pure Storage, fue similar a configurar un arreglo iSCSI, con una gran excepción. Necesitábamos seleccionar Configurar NQN.

Resultados de la prueba de NVMe-oF con vSphere

Para esta prueba, mantuvimos todo constante a excepción de la tela. Lo que queremos evaluar es el impacto de pasar de iSCSI más tradicional a RoCE. Para ser claros, este no es un ejercicio de evaluación comparativa de almacenamiento; este es un examen para ver los beneficios de NVMe-oF en un entorno de VMware que requiere muy pocos cambios. Utilizamos dos servidores Dell EMC PowerEdge, así como un Pure FlashArray//X R2 para el backend de almacenamiento.

Nuestro plan de prueba incluyó la medición del rendimiento agregado de 8 máquinas virtuales (4 en cada host ESXi) y el uso de vdBench para medir las cuatro esquinas tradicionales y las cargas de trabajo mixtas. Cada máquina virtual consumía 64 GB de almacenamiento, con un espacio total de 512 GB por carga de trabajo disponible para comparar los cambios de rendimiento a medida que cambiaba el protocolo.

Para interpretar estos resultados, tenga en cuenta que para el rendimiento es mejor una mejora, mientras que en latencia es mejor una disminución.

roce vs iscsi 4k al azarEn nuestra primera carga de trabajo que mide el rendimiento de lectura aleatoria de 4K con una carga del 80 %, medimos un aumento en el rendimiento del 14.6 % y una caída en la latencia de lectura del 21.4 %.

roce vs iscsi 64k secuencialA continuación, observando el ancho de banda de lectura en una carga de trabajo de lectura secuencial de 64K, vimos un enorme aumento del 81.3 % en el rendimiento, así como una disminución del 36.8 % en la latencia, nuevamente con una carga del 80 %.

servidor roce vs iscsi sqlSi bien las mayores ganancias medidas fueron en las cargas de trabajo de lectura, también observamos algunas cargas de trabajo mixtas comunes, la primera de las cuales fue SQL 90/10. En esta carga de trabajo, medimos una disminución de la latencia de hasta un 78.2 % con una carga del 100 % y una caída del 43.4 % en la latencia con una carga del 80 %.

oráculo roce vs iscsiFinalmente, en nuestra carga de trabajo de Oracle 90/10, observamos una caída del 13.2 % en la latencia con una carga del 100 % y una caída del 35.7 % en la latencia con una carga del 80 %.

En esta prueba, claramente RoCE tuvo grandes mejoras en una amplia franja de cargas de trabajo comunes en la empresa.

Conclusión

Nuestras pruebas demostraron que NVMe-oF en el mundo real es más que solo un concepto. NVMe-oF puede ofrecer un rendimiento excepcional utilizando el hardware actual de su centro de datos, como servidores con ranuras PCI Gen 3.0, NIC ConnectX-5 de NVIDIA y un Pure Storage FlashArray//X R2 (Pure ahora está enviando //X R3 con aún mayor mejoras de rendimiento).

En nuestras pruebas, vimos ganancias significativas en las cargas de trabajo de lectura de bloques grandes y pequeños. Para observar el impacto en el mundo real, nos enfocamos en menos del 100 % de saturación de la carga de trabajo, ya que la mayoría de las cargas de trabajo no saturan por completo la plataforma de almacenamiento subyacente. En nuestra prueba que mide el rendimiento de lectura aleatoria de 4K, la latencia se redujo en un 21.4 % con una carga de trabajo del 80 %. El rendimiento de lectura secuencial con una carga de trabajo de 64 81.3 experimentó un enorme aumento del 80 % en el rendimiento con una carga del 43.4 %. También vimos caídas del 35.7 % y el 90 % en la latencia en nuestras cargas de trabajo de SQL 10/90 y Oracle 10/80, respectivamente, nuevamente con una carga del XNUMX %. Estos números indican que existe una oportunidad adicional para realizar la transición de cargas de trabajo completas y exigentes a VMware.

Estamos seguros de que NVMe-oF será el próximo gran avance en la tecnología de almacenamiento y esperamos que su popularidad en el centro de datos prolifere rápidamente. Estaremos a la vanguardia de esta categoría a medida que se desarrolle en los próximos años, y esperamos investigar otras tecnologías NVMe adyacentes a medida que se publiquen.

Para informacion adicional:

FlashArray de almacenamiento puro//X

Redes NVIDIA

Este informe está patrocinado por NVIDIA. Todos los puntos de vista y opiniones expresados ​​en este informe se basan en nuestra visión imparcial de los productos bajo consideración.