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