I dispositivi di storage con memoria non volatile (NVM, Non-Volatile Memory) che utilizzano una memoria persistente sono diventati popolari nei data center. Per connettersi ai dispositivi NVM locali e di rete, ESXi utilizza il protocollo NVM Express (NVMe), un protocollo standardizzato progettato specificamente per la comunicazione a più code ad alte prestazioni con i dispositivi NVM.

Concetti di VMware NVMe

Prima di iniziare a lavorare con lo storage NVMe nell'ambiente ESXi, familiarizzare con i concetti di NVMe di base.

NVM Express (NVMe)
NVMe è un metodo per connettere e trasferire i dati tra un host e un sistema di storage di destinazione. NVMe è progettato per l'uso con supporti di storage più veloci dotati di memoria non volatile, come ad esempio dispositivi flash. Questo tipo di storage può ottenere una bassa latenza, un utilizzo della CPU basso e prestazioni elevate e, in genere, funge da alternativa allo storage SCSI.
Trasporti NVMe
Lo storage NVMe può essere collegato direttamente a un host utilizzando un'interfaccia PCIe o indirettamente tramite diversi trasporto di struttura. VMware NVMe over Fabrics (NVMe-oF) fornisce una connettività a distanza tra un host e un dispositivo di storage target in un array di storage condiviso.
Attualmente esistono i seguenti tipi di trasporto per NVMe.
Trasporto NVMe Supporto ESXi
NVMe su PCIe Storage locale.
NVMe su RDMA Storage NVMe-oF condiviso. Con la tecnologia RoCE v2.
NVMe su Fibre Channel Storage NVMe-oF condiviso.
NVMe su TCP Storage NVMe-oF condiviso.

Per i requisiti di configurazione specifici per ogni trasporto, vedere Requisiti per lo storage NVMe di VMware.

Spazi dei nomi NVMe
Nell'array di storage NVMe, uno spazio dei nomi è un volume di storage supportato da una quantità di memoria non volatile. Nel contesto dei ESXi, lo spazio dei nomi è analogo a un dispositivo di storage, o LUN. Dopo che l'host ESXi rileva lo spazio dei nomi di NVMe, un dispositivo flash che rappresenta lo spazio dei nomi viene visualizzato nell'elenco dei dispositivi di storage in vSphere Client. È possibile utilizzare il dispositivo per creare un datastore e archiviare le macchine virtuali.
Le destinazioni possono presentare spazi dei nomi, equivalenti ai LUN in SCSI, in un host in modalità di accesso attivo/attivo o asimmetrico. ESXi può individuare e utilizzare gli spazi dei nomi presentati in entrambi i modi. ESXi supporta NVMe end-to-end e l'emulazione senza alcuna NVMe per SCSI.
Controller NVMe
Un controller è associato a uno o più spazi dei nomi NVMe e fornisce un percorso di accesso tra l'host ESXi e gli spazi dei nomi nell'array di storage. Per accedere al controller, l'host può utilizzare due meccanismi, ovvero individuazione dei controller e connessione del controller. Per informazioni, vedere Aggiunta di controller per NVMe su Fabrics.
Esplorazione dei controller
Con questo meccanismo, l'host ESXi contatta innanzitutto un controller di esplorazione. Il controller di esplorazione restituisce un elenco di controller disponibili. Dopo aver selezionato un controller a cui l'host può accedere, tutti gli spazi dei nomi associati a questo controller diventano disponibili per l'host.
Connessione dei controller
L'host ESXi si connette al controller specificato. Tutti gli spazi dei nomi associati a questo controller diventano disponibili per l'host.
Sottosistema NVMe
Un sottosistema NVMe è in genere un array di storage che può includere diversi controller NVMe, diversi spazi dei nomi, un supporto di storage della memoria non volatile e un'interfaccia tra il controller e il supporto di storage della memoria non volatile. Il sottosistema è identificato da un NQN (NVMe Qualified Name) di un sottosistema.
VMware High-Performance Plug-in (HPP)
Per impostazione predefinita, l'host ESXi utilizza HPP per richiedere le destinazioni NVMe-oF. Quando si selezionano percorsi fisici per le richieste di I/O, HPP applica uno schema di selezione del percorso (PSS) appropriato. Per informazioni su HPP, vedere Schemi di selezione dei percorsi e del plug-in ad alte prestazioni VMware. Per modificare il meccanismo di selezione del percorso predefinito, vedere Modifica del criterio di selezione del percorso.

Architettura e componenti di base di NVMe VMware

ESXi supporta lo storage NVMe su PCIe locale e lo storage NVMe-oF condiviso, ad esempio NVMe su Fibre Channel, NVMe su RDMA (RoCE v2) e NVMe su TCP.

NVMe VMware su PCIe
In questa configurazione, l'host ESXi utilizza una scheda di storage PCIe per accedere a uno o più dispositivi di storage NVMe locali. Dopo aver installato la scheda nell'host, l'host rileva i dispositivi NVMe disponibili e vengono visualizzati nell'elenco dei dispositivi di storage in vSphere Client.

L'immagine mostra una scheda di storage PCIe connessa a un dispositivo di storage NVMe locale.

VMware NVMe su Fibre Channel
Questa tecnologia mappa NVMe nel protocollo Fibre Channel per consentire il trasferimento di dati e comandi tra un host e un dispositivo di storage di destinazione. Questo trasporto può utilizzare l'infrastruttura Fibre Channel esistente aggiornata per supportare NVMe.

Per accedere a NVMe sullo storage Fibre Channel, installare una scheda di storage Fibre Channel che supporti NVMe nell'host ESXi. Non è necessario configurare la scheda. Si connette automaticamente a un sottosistema NVMe appropriato e rileva tutti i dispositivi di storage NVMe condivisi che può raggiungere. In un secondo momento, è possibile riconfigurare l'adattatore e disconnetterne i controller o connettere altri controller che non erano disponibili durante l'avvio dell'host. Per ulteriori informazioni, vedere Aggiunta di controller per NVMe su Fabrics.

L'immagine mostra una scheda di storage NVMe su Fibre Channel connessa allo storage NVMe tramite l'infrastruttura Fibre Channel.

NVMe su RDMA (RoCE v2)
Questa tecnologia utilizza un trasporto di accesso diretto alla memoria remota (RDMA) tra due sistemi nella rete. Il trasporto consente lo scambio di dati nella memoria principale ignorando il sistema operativo o il processore di uno dei sistemi. ESXi supporta la tecnologia RDMA su Converged Ethernet v2 (RoCE v2), che consente l'accesso a una memoria diretta remota tramite una rete Ethernet.

Per accedere allo storage, l'host ESXi utilizza una scheda di rete RDMA installata nell'host e una scheda di storage NVMe software su RDMA. È necessario configurare entrambe le schede per poterle utilizzare per l'individuazione dello storage. Per ulteriori informazioni, vedere Configurazione di NVMe su RDMA (RoCE v2) in ESXi.

L'immagine mostra un software NVMe su RDMA connesso allo storage NVMe tramite l'infrastruttura RDMA.

NVMe su TCP

Questa tecnologia utilizza connessioni Ethernet tra due sistemi. Per accedere allo storage, l'host ESXi utilizza una scheda di rete installata nell'host e una scheda di storage NVMe software su TCP. È necessario configurare entrambe le schede per poterle utilizzare per l'individuazione dello storage. Per ulteriori informazioni, vedere Configurazione di NVMe su TCP in ESXi.

L'immagine mostra un software NVMe su scheda TCP connesso allo storage NVMe tramite la rete TCP/IP.