| Kategorien: | credativ® Inside Proxmox |
|---|---|
| Tags: | howto proxmox Virtualisierung |
NVMe over Fabrics (NVMe-oF) ist ein hochmodernes Protokoll, das entwickelt wurde, um die beeindruckende Leistung und die geringe Latenz von NVMe-Speichergeräten über Netzwerk-Fabrics zu übertragen. Diese Innovation ist besonders transformativ für Rechenzentren, da sie die Trennung von Speicher- und Rechenressourcen ermöglicht, wodurch Administratoren die Möglichkeit erhalten, diese Ressourcen flexibler und mit größerer Skalierbarkeit bereitzustellen, was es perfekt für Virtualisierungs-Workloads macht.
NVMe-oF ist vielseitig in seiner Unterstützung für mehrere Transportschichten, wo es über Fibre Channel (FC), Ethernet mit dem TCP/IP-Protokoll mit RDMA-Funktionen über RoCE oder iWARP und sogar InfiniBand betrieben werden kann, wobei jede einzigartige Leistungsmerkmale bietet, die auf unterschiedliche Bereitstellungsanforderungen zugeschnitten sind.
Wenn NVMe-oF über Ethernet mit TCP bereitgestellt wird, bringt es die Vorteile von NVMe-Speicher in die größtmögliche Bandbreite von Umgebungen, ohne dass eine spezialisierte Netzwerkinfrastruktur wie Fibre Channel oder InfiniBand erforderlich ist. Dies ermöglicht den Zugriff auf Hochleistungsspeicher durch die Nutzung des gängigen und vertrauten TCP-Stacks, wodurch Komplexität und Kosten erheblich reduziert werden. Die Einführung von NVMe-oF mit TCP wird durch die weite Verbreitung von Ethernet und Fachwissen weiter erleichtert, was es zu einer überzeugenden Wahl für Unternehmen macht, die ihre Speichernetzwerke ohne eine komplette Überarbeitung aufrüsten möchten.
Die Effizienz des Protokolls bleibt auch über TCP gut erhalten, wodurch NVMe-Befehle mit minimalem Overhead übergeben werden können, was die Latenz gering hält und für latenzempfindliche Anwendungen wie virtualisierte Datenserver entscheidend ist.
Der Leitfaden setzt voraus, dass Benutzer die grundlegende Speichereinrichtung bereits vorgenommen haben, einschließlich der Konfiguration von Storage Virtual Machines (SVMs). Er hebt hervor, dass die Verwaltung dieser Systeme dank der intuitiven Weboberfläche, die von NetApp-Speichersystemen bereitgestellt wird, relativ unkompliziert ist. Benutzer können eine benutzerfreundliche Erfahrung bei der Verwaltung ihrer Speicherlösungen erwarten, da die Weboberfläche darauf ausgelegt ist, komplexe Aufgaben zu vereinfachen. Dies umfasst auch die gesamte Einrichtung für NVMe-oF-Speicher, was erfordert, NVMe generell auf der SVM zu aktivieren, den NVMe-Namespace und das NVMe-Subsystem einzurichten.
Hinweis: Alle Änderungen können selbstverständlich auch automatisiert durch Orchestrierung der OnTap API vorgenommen werden.

Denken Sie daran, alle Voraussetzungen oder zusätzlichen Konfigurationseinstellungen zu prüfen, die für den NVMe-Betrieb erforderlich sein könnten, wie Netzwerkeinstellungen, Lizenzierung oder Kompatibilitätsprüfungen der Hardware. Die genauen Schritte können je nach ONTAP-Version oder dem spezifischen NetApp-Modell, das Sie verwenden, leicht variieren. Beziehen Sie sich immer auf die neueste offizielle NetApp-Dokumentation oder Support-Ressourcen für die genaueste Anleitung.
Anschließend kann ein neues NVMe-Subsystem auf dem NetApp-Speichersystem erstellt werden. Dies kann durch Auswahl des Abschnitts Hosts und Auswahl von NVMe Subsystem erfolgen, um den Prozess des Hinzufügens eines neuen Subsystems zu starten. Ein neuer Assistent öffnet sich, der zusätzliche Informationen zum neu zu erstellenden Subsystem erfordert:

Storage VM: <Die zuvor angepasste SVM>
Host-Betriebssystem: Linux (wichtig für die Blockgröße)
Host NQN: <NQN des Proxmox VE-Knotens>
Es ist unerlässlich sicherzustellen, dass alle Informationen, insbesondere der Host-NQN, korrekt eingegeben werden, um Konnektivitätsprobleme zu vermeiden. Konsultieren Sie zusätzlich die offizielle NetApp-Dokumentation für versionsspezifische Anweisungen oder zusätzliche Konfigurationsschritte, die erforderlich sein könnten.

Hinweis: Beachten Sie auch einen wichtigen Hinweis zum Performance Service Level, der möglicherweise auf ein benutzerdefiniertes Profil umgestellt werden sollte, um Einschränkungen zu vermeiden.
Sobald Sie alle erforderlichen Informationen eingegeben haben, werden Sie typischerweise fortfahren, die Leistungsmerkmale auszuwählen, wie das Service Level oder die Tiering-Richtlinie, abhängig von Ihren Leistungsanforderungen und den Fähigkeiten Ihres NetApp-Systems.
Nachdem Sie diese Einstellungen konfiguriert haben, müssen Sie Ihre Auswahl überprüfen und die neue Namespace-Konfiguration speichern, um sie zur Verwendung verfügbar zu machen. Es ist wichtig sicherzustellen, dass der Namespace ordnungsgemäß konfiguriert ist, um den Anforderungen Ihrer Umgebung für optimale Leistung und Kompatibilität zu entsprechen. Überprüfen Sie immer auf zusätzliche Schritte oder Voraussetzungen, indem Sie die NetApp-Dokumentation konsultieren, die für Ihre ONTAP-Version oder Ihr Speichermodell relevant ist.
Die Konfiguration auf der Speicherseite ist nun abgeschlossen. Die nächsten Schritte werden auf dem/den Proxmox VE-Knoten durchgeführt.
Nach der Konfiguration der NetApp-Speicherappliance müssen alle Proxmox VE-Knoten innerhalb des Clusters für die Nutzung und den Zugriff auf den NVMe-oF-Speicher konfiguriert werden. Leider unterstützt Proxmox VE diese Art von Speicher nicht von Haus aus. Daher kann dies nicht einfach über die Proxmox-Weboberfläche konfiguriert werden. Glücklicherweise basiert Proxmox VE auf Debian Linux, von wo aus alle benötigten Abhängigkeiten und Konfigurationen bezogen werden können, aber es erfordert, dass wir alles über die Kommandozeile (CLI) erledigen. Abhängig von der Anzahl der Knoten innerhalb des Clusters können weitere Konfigurationsmanagement-Tools wie Ansible den anfänglichen Einrichtungsprozess beschleunigen und für neue potenzielle Knoten in der Zukunft wiederholbar machen. Wir können Sie auch bei der Einrichtung maßgeschneiderter Konfigurationsmanagement-Umgebungen unterstützen, die Ihren Anforderungen entsprechen.
Im Allgemeinen besteht dieser Prozess aus:
Die nächsten Schritte in diesem Blogbeitrag werden den Prozess detailliert behandeln und Sie durch die erforderlichen Schritte auf den Proxmox VE-Knoten führen, die auf der Kommandozeile ausgeführt werden müssen.
Die Nutzung und der Zugriff auf NVMe-oF erfordert, dass die zugehörigen User-Land-Tools (nvme-cli) auf dem Proxmox VE-Knoten vorhanden sind. Debian Linux stellt diese Tools bereits im Debian-Repository bereit. Daher ist der gesamte Installationsprozess sehr einfach. Das Paket kann einfach mit dem folgenden Befehl installiert werden:
apt-get install nvme-cli
Dieses Paket stellt auch bereits das erforderliche Kernel-Modul bereit, das einfach durch Ausführen von geladen werden kann:
modprobe nvme_tcp
Anschließend sollte das Modul hinzugefügt werden, um beim Booten geladen zu werden:
echo "nvme_tcp" > /etc/modules-load.d/20-nvme_tcp.conf
Nach diesen Schritten kann eine Verbindung mit dem Speicher initialisiert werden.
Die Interaktion mit dem NetApp-Speicher und seiner NVMe-oF-Funktionalität ist ein mehrstufiger Prozess und erfordert den Austausch der NVMe Qualified Name (NQN)-Adresse jedes Proxmox VE-Knotens, der auf den NVMe-Speicher zugreift. Die NQN-Adresse eines Proxmox VE-Knotens kann durch Ausführen des Befehls abgerufen werden:
cat /etc/nvme/hostnqn

Fügen Sie die Host-NQN-Adresse zu Ihrem NetApp-Export hinzu, um den Knoten den Zugriff darauf zu ermöglichen. Eine Beispielausgabe ist im Screenshot angegeben.
Im nächsten Schritt werden die NVMe-Geräte erkannt und mit dem Proxmox VE-Knoten verbunden. Der Erkennungs- und Verbindungsprozess erfolgt einfach durch Ausführen der folgenden Befehle:
nvme discover -t tcp -a 192.168.164.100 -s 4420
nvme connect -t tcp -n na01-nqn01 -a 192.168.164.100 -s 4420
Um diese Konfiguration systemneustartfest zu machen, werden die Befehle auch zur nvme-Discovery-Datei hinzugefügt. Die nvmf-autoconnect systemd-Unit-Datei stellt sicher, dass dies geladen wird. Daher muss diese systemd-Unit-Datei ebenfalls aktiviert werden.
echo "discover -t tcp -a 192.168.164.100 -s 4420" >> etc/nvme/discovery.conf
systemctl enable nvmf-autoconnect.service
Die letzten Schritte werden teilweise auf der Kommandozeile und teilweise über die Proxmox-Weboberfläche durchgeführt, um den neuen Speicher zum Cluster hinzuzufügen.
Wichtig:
Diese Schritte dürfen nur auf einem einzelnen Proxmox VE Host-Knoten und nicht auf allen durchgeführt werden. Die Integration erfolgt auf Clusterebene und betrifft alle Proxmox VE-Knoten, sobald dies geschehen ist.
Der letzte Befehl auf der Kommandozeile führt zur Erstellung einer neuen LVM Volume Group (VG) auf dem neuen NVMe-Gerät, was einfach durch Ausführen des Befehls geschehen kann:
vgcreate shared_nvme01 /dev/nvme0n1
Die neu erstellte LVM Volume Group (VG) kann durch Ausführen des Befehls validiert werden:
vgdisplay shared_nvme01
Eine Ausgabe wie im angegebenen Screenshot sollte zurückgegeben werden, einschließlich aller weiteren Details dieser VG. Nach der Validierung der Informationen sind alle Aufgaben auf der Kommandozeile abgeschlossen.
Um diese LVM Volume Group schließlich auf allen Proxmox VE-Knoten innerhalb des Clusters zu verwenden, muss diese Volume Group auf Clusterebene hinzugefügt und integriert werden. Dazu müssen wir uns im Web-Frontend des Clusters anmelden und dies unter hinzufügen:
Im neuen Fenster müssen weitere Details für den neuen LVM-Speicher definiert werden:

Durch Klicken auf Hinzufügen wird dies als neues Volume an die ausgewählten Knoten angehängt und kann direkt verwendet werden.
Die Nutzung von NVMe over Fabrics (NVMe-oF) über TCP in Verbindung mit Proxmox VE in einer Virtualisierungsumgebung stellt eine überzeugende Lösung für Organisationen dar, die kostengünstige und dennoch hochleistungsfähige Speicherarchitekturen suchen. Dieser Ansatz nutzt die weite Verbreitung und Kompatibilität von Ethernet-basierten Netzwerken, wodurch die Notwendigkeit spezialisierter Hardware wie Fibre Channel oder InfiniBand vermieden wird, die für viele Unternehmen kostenintensiv sein kann.
Durch die Integration von NVMe-oF mit Proxmox, einer beliebten Open-Source-Virtualisierungsplattform, können Benutzer von deutlich verbesserten Datenübertragungsgeschwindigkeiten und geringerer Latenz im Vergleich zu traditionellen Speicherlösungen profitieren. NVMe-oF kann nicht nur mit Proxmox VE, sondern auch auf anderen Betriebssystemen wie FreeBSD und Hypervisoren wie bhyve verwendet werden. Dies bietet einen großen Vorteil für latenzempfindliche Workloads, wie virtualisierte Datenbankserver, wo schneller Datenzugriff für die Leistung entscheidend ist. Das NVMe-Protokoll ist darauf ausgelegt, das volle Potenzial von Solid-State-Speichertechnologien auszuschöpfen. Bei Verwendung über ein Netzwerk-Fabric mittels TCP kann es eine nahezu lokale NVMe-Leistung liefern, indem es sehr kostengünstig ist.
Gerne stehen wir Ihnen zur Verfügung, um weitere Einblicke in NetApp-Speichersysteme zu geben, die sowohl Hardware- als auch Softwareaspekte abdecken. Unsere Expertise erstreckt sich auch auf Open-Source-Produkte, insbesondere bei der Einrichtung von Virtualisierungsumgebungen mit Technologien wie Proxmox und OpenShift oder deren Wartung mit Konfigurationsmanagement. Wir laden Sie ein, sich bei Bedarf an uns zu wenden.
Es könnte Sie auch interessieren zu erfahren, wie Sie VMs von VMware ESXi zu Proxmox VE migrieren oder wie Sie den Proxmox Backup Server in Ihre Infrastruktur integrieren können.
| Kategorien: | credativ® Inside Proxmox |
|---|---|
| Tags: | howto proxmox Virtualisierung |
über den Autor
Senior DevOps Consultant
zur Person
In my tech repertoire, FreeBSD and federated services stand not just as a personal preference but as a symbol of a commitment to the ethos of open-source. I am a fervent believer in the symbiotic relationship between developers including DevOps, SysOps and the open source community. As I continue to lead teams in the ever-evolving landscape of technology, their dedication to open-source contributions and advocacy for decentralized and federated services echoes not only in the code they write but in the ethos they instill within the teams.
Sie müssen den Inhalt von reCAPTCHA laden, um das Formular abzuschicken. Bitte beachten Sie, dass dabei Daten mit Drittanbietern ausgetauscht werden.
Mehr InformationenSie sehen gerade einen Platzhalterinhalt von Brevo. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr InformationenSie müssen den Inhalt von reCAPTCHA laden, um das Formular abzuschicken. Bitte beachten Sie, dass dabei Daten mit Drittanbietern ausgetauscht werden.
Mehr InformationenSie müssen den Inhalt von Turnstile laden, um das Formular abzuschicken. Bitte beachten Sie, dass dabei Daten mit Drittanbietern ausgetauscht werden.
Mehr InformationenSie müssen den Inhalt von reCAPTCHA laden, um das Formular abzuschicken. Bitte beachten Sie, dass dabei Daten mit Drittanbietern ausgetauscht werden.
Mehr InformationenSie sehen gerade einen Platzhalterinhalt von Turnstile. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr Informationen