NVMe Übersicht
Einige Controller umfassen einen Port zur Implementierung von NVMe (Non-Volatile Memory Express) über eine InfiniBand Fabric oder über ein RoCE (RDMA over Converged Ethernet) Fabric. NVMe ermöglicht eine High-Performance-Kommunikation zwischen Hosts und dem Storage-Array.
Was ist NVMe?
NVM steht für „nichtflüchtiger Speicher“ und ist persistenter Speicher, der in vielen Arten von Speichergeräten verwendet wird. NVMe (NVM Express) ist eine standardisierte Schnittstelle oder ein standardisiertes Protokoll, das speziell für eine hochperformante Multi-Queue-Kommunikation mit NVM-Geräten entwickelt wurde.
Was ist NVMe over Fabrics?
NVMe over Fabrics (NVMe-of) ist eine Technologiespezifikation, die den Datentransfer zwischen einem Host-Computer und Storage über ein Netzwerk zwischen messenbasierten NVMe-Befehlen und -Daten ermöglicht. Bei SANtricity OS 11.40 und neuer kann ein NVMe Storage-Array (so genannte Subsystem) über eine InfiniBand oder RDMA-Fabric aufgerufen werden. NVMe Befehle sind sowohl auf der Host- als auch auf der Subsystemseite in transportabstrahierten Schichten aktiviert und eingekapselt. Damit erweitert sich die End-to-End-NVMe-High-Performance-Schnittstelle vom Host bis zum Storage und standardisiert und vereinfacht die Befehlszeilen.
NVMe-of-Storage wird einem Host als lokales Block-Storage-Gerät präsentiert. Das Volume (auch „Namespace“ genannt) kann wie jedes andere Block-Storage-Gerät in ein Dateisystem eingebunden werden. Mit DER REST-API, dem SMcli oder SANtricity System Manager wird der Storage nach Bedarf bereitgestellt.
Was ist ein qualifizierter NVMe-Name (NVMe Qualified Name, NQN)?
Der NVMe Qualified Name (NQN) wird zur Identifizierung des Remote-Storage-Ziels verwendet. Der für das Storage-Array qualifizierte NVMe-Name wird immer vom Subsystem zugewiesen und darf nicht geändert werden. Es gibt nur einen für NVMe qualifizierten Namen für das gesamte Array. Der qualifizierte NVMe-Name ist auf 223 Zeichen begrenzt. Sie können ihn mit einem qualifizierten iSCSI-Namen vergleichen.
Was ist ein Namespace und eine Namespace-ID?
Ein Namespace entspricht einer logischen Einheit in SCSI, die ein Volume im Array betrifft. Die Namespace-ID (NSID) entspricht einer Logical Unit Number (LUN) in SCSI. Sie erstellen die NSID zum Erstellungszeitpunkt des Namespace und können sie auf einen Wert zwischen 1 und 255 setzen.
Was ist ein NVMe Controller?
Ähnlich wie bei einem SCSI I_T nexus, der den Pfad vom Host-Initiator zum Ziel des Storage-Systems darstellt, stellt ein während des Host-Verbindungsvorgangs erstellter NVMe-Controller einen Zugriffspfad zwischen einem Host und den Namespaces im Storage-Array bereit. Ein NQN für den Host und eine Host-Port-Kennung identifizieren einen NVMe-Controller eindeutig. Ein NVMe-Controller kann zwar nur einem einzelnen Host zugewiesen werden, kann aber auf diverse Namespaces zugreifen.
Sie konfigurieren, welche Hosts auf welche Namespaces zugreifen können und legen die Namespace-ID für den Host mit dem SANtricity System Manager fest. Anschließend wird bei der Erstellung des NVMe Controllers die Liste der Namespace-IDs, auf die der NVMe Controller zugreifen kann, erstellt und zum Konfigurieren der zulässigen Verbindungen verwendet.