Home Empreendimento NVIDIA impulsiona desempenho NVMe-oF para ambientes vSphere 7

NVIDIA impulsiona desempenho NVMe-oF para ambientes vSphere 7

by Laboratório StorageReview Enterprise
ConnectX-5

VMware adicionado recentemente NVMe sobre tecido (NVMe-oF) como uma opção de protocolo de rede de armazenamento no vSphere 7.0. O fato de que a solução de armazenamento compartilhado mais rápida agora pode ser usada pelo software de virtualização mais popular do mundo é uma virada de jogo, abrindo todo um novo conjunto de casos de uso para um data center virtualizado. Isso também significa que agora existem aplicativos bare-metal capazes de executar em máquinas virtuais (VMs) habilitadas para NVMe-oF no vSphere. Isso inclui inteligência artificial (IA), aprendizado de máquina (ML), bancos de dados em memória, computação de alto desempenho (HPC), negociação de alta frequência (HFT), processamento de transações online (OLTP), bem como qualquer outro aplicativo que exija latência extremamente baixa e armazenamento de alta capacidade.

VMware adicionado recentemente NVMe sobre tecido (NVMe-oF) como uma opção de protocolo de rede de armazenamento no vSphere 7.0. O fato de que a solução de armazenamento compartilhado mais rápida agora pode ser usada pelo software de virtualização mais popular do mundo é uma virada de jogo, abrindo todo um novo conjunto de casos de uso para um data center virtualizado. Isso também significa que agora existem aplicativos bare-metal capazes de executar em máquinas virtuais (VMs) habilitadas para NVMe-oF no vSphere. Isso inclui inteligência artificial (IA), aprendizado de máquina (ML), bancos de dados em memória, computação de alto desempenho (HPC), negociação de alta frequência (HFT), processamento de transações online (OLTP), bem como qualquer outro aplicativo que exija latência extremamente baixa e armazenamento de alta capacidade.

Na StorageReview.com, estamos sempre interessados ​​em testar as tecnologias mais recentes para ver como elas funcionam no mundo real. Dada nossa experiência anterior com NVMe-oF, esperamos que ele melhore significativamente o desempenho do aplicativo para vSphere. Para ter uma ideia real de como o NVMe-oF afetará o desempenho, vamos compará-lo com o iSCSI, que é o padrão atual para armazenamento em bloco em um data center vSphere. Mas nossos testes terão uma reviravolta única, pois não usaremos tecnologia de nicho altamente especializada. Em vez disso, usaremos produtos comumente encontrados no data center hoje. Nosso teste será em um servidor Dell R720XD conectado por adaptadores de porta dupla ConnectX-5 da NVIDIA rodando a 25 GbE para um Armazenamento Puro FlashArray//X que suporta NVMe-oF.

Antes de chegarmos aos resultados de nossos testes, primeiro daremos a você uma visão geral do que o VMware suporta na forma de NVMe-oF e, em seguida, forneceremos um pouco de histórico sobre NVMe e NVMe-oF e explicaremos por que eles têm mais desempenho do que iSCSI. Também abordaremos algumas das etapas que executamos para configurar o NVMe no vSphere.

O VMware habilitou recentemente o suporte a NVMe-oF (abril de 2020), embora o padrão NVMe-oF tenha sido lançado em 2016. O Linux é capaz de usá-lo desde 2018, e o suporte a NVMe-oF em matrizes de armazenamento também está disponível há alguns anos . O NVMe-oF é considerado uma tecnologia emergente, mas estável. Em abril de 2020, a VMware lançou o vSphere 7.0 e esta versão incluía suporte para NVMe-oF, permitindo a conectividade com matrizes NVMe com NVMe sobre Fibre Channel (NVMe/FC) ou NVMe sobre RDMA Converged Ethernet (NVMe-RoCE, também conhecido como NVMe/RDMA).

Visão geral de NVMe e NVMe-oF

Até recentemente, os SSDs eram os de fato mídia padrão para armazenamento anexado. No entanto, eles também têm um gargalo crítico. SSDs usam conectores SATA ou SAS, que foram projetados para serem usados ​​com HDDs e isso limita severamente o desempenho de um SSD. Para resolver esse problema, um consórcio de mais de 90 empresas se uniu em 2011 e lançou uma nova especificação para conectar SSDs a computadores que não teriam esse gargalo SATA. Essa solução acabou se tornando conhecida como NVMe.

Os dispositivos NVMe são rápidos. Enquanto os SSDs SATA/SAS mudaram radicalmente o setor de armazenamento na última década, o NVMe está mudando radicalmente o setor de armazenamento neste século. Por exemplo, em nossos testes recentes usando uma carga de trabalho de leitura de 4K, descobrimos que uma unidade SATA (Kingston DC500M) poderia fornecer pouco menos de 80,000 IOPS, mas uma unidade NVMe (Kingston DC1000M) poderia fornecer 580,000 IOPS, uma enorme diferença de 7.25 vezes. Existem muitos motivos técnicos para explicar por que o NVMe tem muito mais desempenho do que as unidades SATA, mas um dos mais importantes é que ele possui um caminho de dados mais curto. O diagrama abaixo mostra uma ilustração simplificada de como o caminho de dados é consideravelmente mais curto para NVMe quando comparado ao armazenamento de última geração como SAS.

NVMe-oF vSphere sasSuas melhorias de desempenho, juntamente com a queda vertiginosa no preço, tornaram o NVMe o queridinho do data center moderno.

Logo depois que as unidades NVMe se tornaram amplamente usadas no data center, as pessoas perceberam que os dispositivos não estavam sendo usados ​​em todo o seu potencial e sua limitação de armazenamento de conexão direta tornou-se mais aparente. Os dispositivos NVMe precisavam ser desacoplados do servidor, portanto, outro grupo de empresas se reuniu e desenvolveu uma especificação sobre como fornecer NVMe em uma rede. Uma vez que o mecanismo de transporte para armazenamento NVMe estivesse disponível, poderíamos agregar, abstrair e compartilhar dispositivos NVMe em um sistema de armazenamento para muitos sistemas diferentes, incluindo hosts ESXi. NVMe-oF usa a terminologia alvo/iniciador.

Topologia NVMe-oF
RoCE permite acesso remoto direto à memória (RDMA) em uma rede Ethernet. Existem duas versões do RoCE: RoCE v1 e RoCE v2. Enquanto o RoCE v1 permite a comunicação entre quaisquer dois hosts no mesmo domínio de transmissão Ethernet (camada 2), o RoCE v2 é executado no topo do TCP (camada 3) e, portanto, é roteável, permitindo que ele se conecte a hosts fora de um domínio de transmissão Ethernet. Devido às suas vantagens inerentes e popularidade no data center, o VMware oferece suporte apenas à v2. Durante este artigo, nos referiremos ao RoCE v2 simplesmente como RoCE.

RoCE requer controladores de interface de rede RDMA (rNICs) em vez de NICs padrão. As redes RoCE geralmente exigem a configuração do controle de fluxo prioritário, mas os switches Spectrum são otimizados para controle de congestionamento quando usados ​​com adaptadores ConnectX, o que permite configuração zero. O RoCE é muito popular e possui um ecossistema próspero que fornece subsistemas rNICs e NVMe-oF. Ele está sendo usado atualmente por alguns dos maiores centros de dados de hiperescala do mundo, e isso reduziu consideravelmente o preço dos rNICs desde quando foram introduzidos pela primeira vez.

Ao usar o RDMA, os dados podem ser transferidos diretamente para um host dos dispositivos NVMe-oF sem precisar ser copiados para buffers de memória, como seria o caso ao usar uma pilha TCP/IP (Transmission Control Protocol/Internet Protocol) padrão. Ao ignorar os buffers, o RDMA reduz o uso da CPU no host e diminui a latência para acessar os dados no dispositivo NVMe remoto. Existem muitas razões técnicas pelas quais o NVMe-oF tem mais desempenho do que as tecnologias de armazenamento de rede de última geração. Digno de nota é o grande número de filas (64K) que o NVMe-oF suporta, mas talvez o mais revelador seja o caminho de dados do NVMe-oF. O diagrama abaixo mostra uma ilustração simplificada de como o caminho de dados é consideravelmente mais curto para NVMe-oF quando comparado ao armazenamento iSCSI.

NVMe-oF vSphere iSCSI

NVMe-oF vSphere NVMe

O RoCE usa UDP, o que afeta o desempenho, pois o UDP requer menos sobrecarga. No entanto, o RoCE depende da compatibilidade de ponta a ponta para fornecer conectividade total sem perdas. Embora os switches de rede modernos ofereçam suporte à conectividade sem perdas, deve-se tomar cuidado para garantir que um switch mais antigo que não ofereça suporte à conectividade sem perdas não esteja no caminho de rede do NVMe-oF.

O resultado de tudo isso é que o NVMe-oF permite o acesso às unidades NVMe de uma rede como se fossem locais para o servidor de acesso. Os primeiros relatórios mostraram que a latência para o armazenamento em pool é de cerca de 100 μs, em vez dos 500 μs ou mais de uma matriz de armazenamento totalmente em flash iSCSI.

NVMe-oF com vSphere

Os requisitos para NVMe-oF com vSphere são diretos:

  • Matriz NVMe compatível com transporte RDMA (RoCE)
  • Host ESXi compatível
  • Switches Ethernet que suportam uma rede sem perdas
  • Adaptador de rede compatível com RoCE
  • Software NVMe sobre adaptador RDMA
  • controlador NVMe
  • Uma rede sem perdas nas camadas 2 e 3 ou rede com perdas com a solução ZTR (Zero Touch RoCE) da NVIDIA
  • Links dedicados, VMkernels e adaptadores RDMA para destinos NVMe
  • VLAN de camada 3 dedicada ou conectividade de camada 2

Como o NVMe-oF é novo no VMware, nem todos os recursos do vSphere estão disponíveis para ele. Alguns recursos que notamos que estavam faltando são suporte para VMDKs compartilhados, Raw Device Maps (RDMs), vVols e a capacidade de inicializar a partir de NVMe-oF.

Implementando NVMe-oF

Usamos rNICs ConnectX-5 da NVIDIA, uma das placas mais comuns no data center. Essas placas são adaptadores de rede de porta única ou dupla habilitados para RDMA. Eles estão disponíveis para servidores PCIe Gen 3.0 e Gen 4.0 e fornecem suporte para 1, 10, 25, 40, 50 e 100 Gb. Eles têm latência de 750ns e podem passar até 200 milhões de mensagens por segundo. Quando usados ​​com cargas de trabalho de armazenamento, eles oferecem suporte a uma ampla gama de tecnologias de aceleração.

Para nossos testes, executamos placas PCIe Gen 3.0 ConnectX-5 a 25 GbE em um par de servidores Dell R720 em uma rede conectada por meio de um par de switches Spectrum SN2010 da NVIDIA ao array flash Pure Storage.

Primeiro, verificamos se estávamos executando o driver nmlx5_core digitando esxcfg-nics -l |grep -E 'Nome|NVIDIA'.

Se estivéssemos executando o driver nmlx4_core, poderíamos ter ativado o RoCE para ele na CLI do ESXi.

O processo para ativar o NVMe-oF (semelhante ao de configurar e ativar o iSCSI) envolveu a configuração dos vSwitches, grupos de portas e portas vmkernel nos hosts ESXi. A principal diferença era que precisávamos adicionar pelo menos dois adaptadores de software NVMe sobre RDMA a cada host ESXi.

A última etapa que precisávamos concluir era identificar o nome qualificado NVMe (NQN) do host ESXi inserindo obter informações esxcli nvme.

Na matriz Pure Storage, foi semelhante à configuração de uma matriz iSCSI, com uma grande exceção. precisávamos selecionar Configurar NQNs.

Resultados do teste de NVMe-oF com vSphere

Para este teste, mantivemos tudo constante, com exceção do tecido. O que queremos avaliar é o impacto da mudança do iSCSI mais tradicional para o RoCE. Para ser claro, este não é um exercício de benchmarking de armazenamento; este é um exame para observar os benefícios do NVMe-oF em um ambiente VMware que requer poucas alterações. Usamos dois servidores Dell EMC PowerEdge, bem como um Pure FlashArray//X R2 para o back-end de armazenamento.

Nosso plano de teste incluiu medir o desempenho agregado de 8 VMs (4 em cada host ESXi) e usar o vdBench para medir quatro cantos tradicionais e cargas de trabalho mistas. Cada VM consumia 64 GB de armazenamento, com um volume total de 512 GB por carga de trabalho disponível para comparar as mudanças de desempenho à medida que o protocolo mudava.

Para interpretar esses resultados, observe que para taxa de transferência, uma melhoria é melhor, enquanto na latência, uma diminuição é melhor.

roce vs iscsi 4k aleatórioEm nossa primeira carga de trabalho medindo o desempenho de leitura aleatória de 4K com carga de 80%, medimos um aumento na taxa de transferência de 14.6% e uma queda na latência de leitura em 21.4%.

roce vs iscsi 64k sequencialEm seguida, observando a largura de banda de leitura em uma carga de trabalho de leitura sequencial de 64K, vimos um aumento impressionante de 81.3% na taxa de transferência, bem como uma redução de 36.8% na latência, novamente com 80% de carga.

servidor roce vs iscsi sqlEmbora os maiores ganhos medidos tenham ocorrido nas cargas de trabalho de leitura, também analisamos algumas cargas de trabalho mistas comuns, a primeira das quais foi o SQL 90/10. Nesta carga de trabalho, medimos a latência diminuindo em até 78.2% com uma carga de 100% e uma queda de 43.4% na latência com uma carga de 80%.

oráculo roce vs iscsiFinalmente, em nossa carga de trabalho Oracle 90/10, vimos uma queda de 13.2% na latência com carga de 100% e uma queda de 35.7% na latência com carga de 80%.

Neste teste, claramente o RoCE teve grandes melhorias em uma ampla faixa de cargas de trabalho comuns na empresa.

Conclusão

Nossos testes provaram que o NVMe-oF no mundo real é mais do que apenas um conceito. O NVMe-oF pode oferecer desempenho excepcional usando o hardware atual do seu data center, como servidores com slots Gen 3.0 PCI, NICs ConnectX-5 da NVIDIA e um Pure Storage FlashArray//X R2 (Pure agora está sendo lançado //X R3 com ainda maior melhorias de desempenho).

Em nossos testes, vimos ganhos significativos em cargas de trabalho de leitura de blocos pequenos e grandes. Para observar o impacto no mundo real, focamos em menos de 100% de saturação de carga de trabalho, já que a maioria das cargas de trabalho não está saturando totalmente a plataforma de armazenamento subjacente. Em nosso teste medindo o desempenho de leitura aleatória de 4K, a latência caiu 21.4% em uma carga de trabalho de 80%. O desempenho de leitura sequencial com uma carga de trabalho de 64 K obteve um enorme aumento de 81.3% na taxa de transferência com uma carga de 80%. Também vimos quedas de 43.4% e 35.7% na latência em nossas cargas de trabalho SQL 90/10 e Oracle 90/10, respectivamente, novamente com uma carga de 80%. Esses números indicam que há uma oportunidade adicional de fazer a transição de cargas de trabalho bare-metal exigentes para o VMware.

Estamos confiantes de que o NVMe-oF será a próxima grande novidade em tecnologia de armazenamento e esperamos que sua popularidade no data center prolifere rapidamente. Estaremos na vanguarda desta categoria à medida que ela se desenvolver nos próximos anos e esperamos investigar outras tecnologias NVMe adjacentes à medida que forem lançadas.

Para informações adicionais:

Armazenamento Puro FlashArray//X

Rede NVIDIA

Este relatório é patrocinado pela NVIDIA. Todas as visões e opiniões expressas neste relatório são baseadas em nossa visão imparcial do(s) produto(s) em consideração.