Che cos'è NVMe su TCP (NVMe/TCP)

click fraud protection

Scopri cos'è NVMe su TCP e come funziona NVMe su TCP in un linguaggio semplice.

Spiegazione di NVMe su TCP

La crescente domanda di cloud computing richiede un sistema di archiviazione efficiente e conveniente. Sebbene i dischi rigidi convenzionali (HDD) siano poco costosi, non sono in grado di ospitare software basato sulle prestazioni o processi computazionali sul cloud.

Quindi, per affrontare questo problema nell'archiviazione di massa per i dispositivi informatici, NVM Express Inc. ha pubblicato l'architettura per NVMe SSD, un dispositivo di archiviazione interno incredibilmente veloce per computer su bus PCIe o Peripheral Component Interconnect Express.

Tuttavia, PCIe è solo per la comunicazione diretta dei dati tra la RAM e l'SSD NVMe. Come si potrebbe implementare lo stesso per un ambiente di cloud computing in cui i computer host e client si trovano in luoghi remoti? Questi dispositivi possono comunicare solo tramite Internet o Intranet.

Per affrontare questa sfida, il protocollo NVMe over Fabric o NVMe-oF è stato progettato per consentire lo sviluppo di soluzioni di archiviazione di rete NVMe. Utilizza l'interfaccia della specifica del dispositivo logico NVMe per trasferire i dati tra il computer host o il server e una SAN (Storage Area Network) o DAS (Direct Attached Storage).

Tuttavia, l'implementazione di NVMe-oF è molto costosa anche per le grandi aziende. Inoltre, poiché NVMe-oF richiede principalmente cavi in ​​fibra ottica come mezzo di trasporto dei dati dal punto A al punto B, non è solo possibile implementare NVMe-oF per i cloud pubblici.

Per risolvere questo problema, NVM Express Inc. ha ideato il protocollo NVMe over TCP o NVMe/TCP.

Che cos'è NVMe su TCP (NVMe/TCP)?

NVMe/TCP è un'edizione estesa della specifica del comando I/O di archiviazione basata su NVMe. È la versione avanzata di NVMe-oF e definisce le funzionalità del protocollo di trasferimento dati NVMe al protocollo di comunicazione basato su messaggi, TCP.

Esiste una specifica di trasporto NVMe/TCP che descrive quanto segue:

  • Come mappare le code NVMe seguendo un set standard di regole
  • Come creare capsule per NVMe su Fabric
  • Come fornire capsule NVMe-oF a sistemi di trasporto di rete in fibra, InfiniBand e non in fibra utilizzando il familiare Protocollo di controllo del trasporto o TCP

In poche parole, la combinazione di NVMe e TCP, NVMe/TCP trasferisce dati e comandi più velocemente e senza errori tra host NVMe-oF e dispositivi controller NVMe-oF.

Tali dispositivi possono essere collegati tramite Internet e Intranet utilizzando una rete TCP/IP basata su Ethernet. Il mezzo di connettività potrebbe essere costituito da cavi in ​​fibra ottica o cavi Cat 5 e Cat 6 convenzionali

Perché NVMe su TCP?

Il sistema di trasporto NVMe originale era destinato agli SSD che andranno direttamente nel sistema PC, principalmente sulla scheda madre. Il protocollo di trasporto è stato inizialmente ottimizzato per gli SSD NVM PCIe che si connettono internamente ai server o alle workstation.

In seguito, per soddisfare i requisiti di archiviazione dei dati estremamente rapidi e massicci sul cloud, il protocollo di trasporto NVMe è stato cablato a caldo con l'associazione di trasporto specifiche che i data center cloud utilizzano principalmente, come Fibre Channel, RDMA over Converged Ethernet (RoCE), Internet Wide Area RDMA Protocol (iWARP), e Infinibanda.

Sebbene la modifica NVMe di cui sopra funzioni bene, non è adatta per i cloud pubblici poiché è necessaria un'attrezzatura hardware specializzata dal lato client. Pertanto, è stato incorporato il sistema di binding di trasporto TCP che è prontamente disponibile a livello globale e affidabile su reti a lunga distanza.

I componenti principali di NVMe su TCP

Una specifica di trasporto NVMe/TCP per NVMe-oF include i seguenti componenti di rete:

  • Il sistema di accesso remoto ai dati che utilizza il protocollo NVMe segue il modello OSI (Open Systems Interconnection) per i sistemi di rete di computer.
  • NVMe/TCP utilizza la tecnologia di rete Ethernet che opera nel livello di collegamento dati fisico e OSI OSI.
  • Per i protocolli di comunicazione e le politiche di scambio di dati a pacchetto, NVMe/TCP si basa sul protocollo TCP/IP.
  • Set di comandi NVMe per convertire tutti i comandi emessi dall'utente e l'I/O dell'applicazione in una tabella di comandi NVMe specifica come admin, I/O, fabric, ecc.
  • Il trasferimento remoto dei comandi NVMe, in un fabric basato su messaggi, avviene tramite capsule. Queste capsule potrebbero essere capsule di risposta o di comando. Le capsule di comando NVMe rappresentano un'unità di scambio di dati NVMe.
  • Un sottosistema e un controller host comunicano tra loro scambiandosi NVMe/TCP Protocol Data Unit o NVMe/TCP PDU.
  • Esiste un processo di connessione in tre fasi tra il sottosistema del controller e l'host. Questi passaggi o fasi sono NVMe-oF Connect, NVMe/TCP Connect e Fabric Connect.
  • In un sistema di binding di trasporto NVMe/TCP, i controller I/O dinamici vengono creati automaticamente e assegnati al computer host quando un sottosistema si connette correttamente con l'NVMe-OF host.

Vantaggi di NVMe su TCP

  • TCP è il protocollo di trasferimento dati Internet o Intranet più utilizzato ed è disponibile con tutti i data center e i client delle risorse di cloud computing.
  • I data center e i relativi client non devono sostituire l'hardware di rete esistente come router, switch e NIC.
  • TCP può utilizzare sia cavi in ​​fibra che cavi Cat 5 o Cat 6 e quindi la manutenzione è abbastanza semplice.
  • L'associazione di trasporto TCP per NVMe-oF offre prestazioni elevate e bassa latenza. Pertanto è perfettamente adatto per processi mission-critical e ad alta intensità di CPU sul computer host e facilmente accessibile da più client remoti senza conflitti di lettura/scrittura.
  • TCP offre il routing dinamico. Pertanto, se confrontato con l'accesso diretto alla memoria remota (RDMA), il TCP è il più performante nelle operazioni di data center e cloud su larga scala da distanze maggiori.
  • TCP ha una comunità di sviluppo più ampia rispetto a qualsiasi altra specifica di trasporto NVMe.

Sfide di NVMe su TCP

  • Quando si utilizza uno stack TCP, è necessario consentire alla CPU di risolvere la maggior parte delle operazioni TCP come il calcolo dei checksum. Pertanto, su scala più ampia, quando più workstation client richiederanno di scrivere e leggere dati da dispositivi di archiviazione in rete tramite il PC host, il carico sulla CPU host aumenterà.
  • L'infrastruttura iperconvergente deve essere semplice. Tuttavia, quando usi NVMe/TCP, lo rendi complesso.
  • NVMe over TCP presenta anche alcune debolezze di sicurezza che gli hacker possono utilizzare per infiltrarsi nelle operazioni cloud, rubare i dati e rendere disponibili dati riservati sul rete oscura a meno che non implementi una rigorosa sicurezza informatica e soluzione antivirus.

NVMe su TCP: parole finali

TCP è il protocollo principale nei data center in rete pubblici o privati. Pertanto, NVMe/TCP è la prima scelta per fornire soluzioni di archiviazione convenienti su Internet, intranet e infrastruttura cloud.

Questo protocollo è anche scalabile e affidabile su connessioni di rete a lunga distanza. Poiché la latenza di lettura/scrittura dell'archiviazione cloud è equivalente alla maggior parte dei protocolli Fibre Channel, NVMe su TCP è la soluzione di trasporto dell'archiviazione cloud preferita.

Prossimo, 3 alternative al cloud storage