Aprenda o que é NVMe sobre TCP e como funciona o NVMe sobre TCP em uma linguagem fácil.
NVMe sobre TCP explicado
A crescente demanda por computação em nuvem precisa de um sistema de armazenamento eficiente e acessível. Embora as unidades de disco rígido (HDDs) convencionais sejam muito baratas, elas não são capazes de hospedar software orientado a desempenho ou processos computacionais na nuvem.
Portanto, para resolver esse problema de armazenamento em massa para dispositivos de computador, a NVM Express Inc. publicou a arquitetura do NVMe SSD, um dispositivo de armazenamento interno ultrarrápido para computadores em PCIe ou barramento Peripheral Component Interconnect Express.
No entanto, o PCIe é apenas para comunicações diretas de dados entre a RAM e o SSD NVMe. Como alguém implementaria o mesmo para um ambiente de computação em nuvem em que os computadores host e cliente estão localizados em locais remotos? Esses dispositivos só podem se comunicar via internet ou intranet.
Para enfrentar esse desafio, o protocolo NVMe over Fabric ou NVMe-oF foi projetado para permitir o desenvolvimento de soluções de armazenamento em rede NVMe. Ele usa a interface de especificação de dispositivo lógico NVMe para transferir dados entre o computador host ou servidor e uma rede de área de armazenamento (SAN) ou armazenamento conectado diretamente (DAS).
Porém, a implantação do NVMe-oF é altamente cara, mesmo para grandes empresas. Além disso, como o NVMe-oF exige principalmente cabo de fibra ótica como meio de transporte de dados do ponto A ao ponto B, não é apenas viável implantar o NVMe-oF para nuvens públicas.
Para resolver esse problema, a NVM Express Inc. criou o protocolo NVMe sobre TCP ou NVMe/TCP.
O que é NVMe sobre TCP (NVMe/TCP)?
NVMe/TCP é uma edição estendida da especificação de comando de I/O de armazenamento baseado em NVMe. É a versão avançada do NVMe-oF e define as funcionalidades do protocolo de transferência de dados NVMe para o protocolo de comunicação baseado em mensagens, TCP.
Há uma especificação de transporte NVMe/TCP que descreve o seguinte:
- Como mapear filas NVMe seguindo um conjunto padrão de regras
- Como criar cápsulas para NVMe sobre tecido
- Como entregar cápsulas NVMe-oF para fibra, InfiniBand e sistemas de transporte de rede sem fibra usando o familiar Protocolo de Controle de Transporte ou TCP
Em poucas palavras, a combinação de NVMe e TCP, NVMe/TCP transfere dados e comandos mais rapidamente e sem erros entre hosts NVMe-oF e dispositivos controladores NVMe-oF.
Esses dispositivos podem ser conectados pela Internet e Intranet usando uma rede TCP/IP baseada em Ethernet. O meio de conectividade pode ser cabos de fibra óptica ou cabos convencionais Cat 5 e Cat 6
Por que NVMe sobre TCP?
O sistema de transporte NVMe original foi pensado para SSDs que irão diretamente para o sistema do PC, principalmente na placa-mãe. O protocolo de transporte foi inicialmente otimizado para SSDs NVM PCIe que se conectam aos servidores ou estações de trabalho internamente.
Mais tarde, para requisitos de armazenamento de dados extremamente rápidos e maciços na nuvem, o protocolo de transporte NVMe conectado com especificações de vinculação de transporte que os datacenters em nuvem usam principalmente, como Fibre Channel, RDMA sobre Ethernet Convergente (RoCE), Internet Wide Area RDMA Protocol (iWARP) e Infiniband.
Embora a modificação NVMe acima funcione muito bem, ela não é adequada para nuvens públicas, pois é necessário equipamento de hardware especializado do lado do cliente. Portanto, foi incorporado o sistema de ligação de transporte TCP, que está prontamente disponível globalmente e é confiável em redes de longa distância.
Os principais componentes do NVMe sobre TCP
Uma especificação de transporte NVMe/TCP para NVMe-oF inclui os seguintes componentes de rede:
- O sistema de acesso remoto a dados usando o protocolo NVMe segue o modelo Open Systems Interconnection (OSI) para sistemas de rede de computadores.
- NVMe/TCP utiliza a tecnologia de rede Ethernet que opera na camada OSI física e de datalink OSI.
- Para protocolos de comunicação e políticas de troca de dados de pacotes, o NVMe/TCP depende do protocolo TCP/IP.
- Conjuntos de comandos NVMe para converter todos os comandos emitidos pelo usuário e I/O de aplicativos em uma tabela de comandos NVMe específica, como admin, I/O, fabric, etc.
- A transferência remota de comandos NVMe, em uma malha baseada em mensagens, ocorre por meio de cápsulas. Essas cápsulas podem ser cápsulas de resposta ou de comando. As cápsulas de comando NVMe representam uma unidade de troca de dados NVMe.
- Um subsistema e um controlador host se comunicam entre si trocando unidades de dados do protocolo NVMe/TCP ou PDUs NVMe/TCP.
- Há um processo de conexão de três etapas entre o subsistema do controlador e o host. Essas etapas ou fases são NVMe-oF Connect, NVMe/TCP Connect e Fabric Connect.
- Em um sistema de vinculação de transporte NVMe/TCP, os controladores dinâmicos de E/S são automaticamente criados e atribuídos ao computador host quando um subsistema se conecta com êxito ao host NVMe-OF.
Benefícios do NVMe sobre TCP
- O TCP é o protocolo de transferência de dados de Internet ou Intranet mais amplamente utilizado e está disponível em todos os centros de dados e clientes de recursos de computação em nuvem.
- Os data centers e seus clientes não precisam substituir o hardware de rede existente, como roteadores, switches e NICs.
- O TCP pode usar cabo de fibra e cabo Cat 5 ou Cat 6 e, portanto, a manutenção é bastante fácil.
- A ligação de transporte TCP para NVMe-oF oferece alto desempenho e baixa latência. Portanto, é perfeitamente adequado para processos de missão crítica e com uso intensivo de CPU no computador host e facilmente acessado por vários clientes remotos sem nenhum conflito de leitura/gravação.
- TCP oferece roteamento dinâmico. Assim, quando comparado com o acesso remoto direto à memória (RDMA), o TCP tem o melhor desempenho em data centers de grande escala e operações em nuvem de distâncias maiores.
- O TCP tem uma comunidade de desenvolvimento maior do que qualquer outra especificação de transporte NVMe.
Desafios do NVMe sobre TCP
- Ao usar uma pilha TCP, você deve permitir que a CPU resolva a maioria das operações TCP, como calcular somas de verificação. Assim, em uma escala maior, quando várias estações de trabalho do cliente solicitarem a gravação e leitura de dados de dispositivos de armazenamento em rede por meio do PC host, a carga na CPU do host aumentará.
- A infraestrutura hiperconvertida deve ser simples. No entanto, quando você usa NVMe/TCP, você o torna complexo.
- O NVMe sobre TCP também possui alguns pontos fracos de segurança que os hackers podem utilizar para se infiltrar em suas operações de nuvem, roubar os dados e disponibilizar dados confidenciais na dark web , a menos que você implante uma solução rigorosa de segurança cibernética e antivírus .
NVMe sobre TCP: palavras finais
O TCP é o protocolo líder em data centers de redes públicas ou privadas. Portanto, NVMe/TCP é a primeira escolha para fornecer soluções de armazenamento acessíveis na Internet, intranet e infraestrutura em nuvem.
Esse protocolo também é escalável e confiável em conexões de rede de longa distância. Como a latência de leitura/gravação do armazenamento em nuvem é equivalente à maioria dos protocolos de canal de fibra, o NVMe sobre TCP é a solução de transporte de armazenamento em nuvem preferida.
Em seguida, 3 alternativas para armazenamento em nuvem