Lernen Sie die pNFS-Architektur in ONTAP kennen.
Die pNFS-Architektur besteht aus drei Hauptkomponenten: einem NFS-Client, der pNFS unterstützt, einem Metadatenserver, der einen dedizierten Pfad für Metadatenoperationen bereitstellt, und einem Datenserver, der lokalisierte Pfade zu Dateien bereitstellt.
Der Clientzugriff auf pNFS erfordert eine Netzwerkverbindung zu den auf dem NFS-Server verfügbaren Daten- und Metadatenpfaden. Wenn der NFS-Server Netzwerkschnittstellen enthält, die von den Clients nicht erreichbar sind, kann der Server dem Client Datenpfade ankündigen, die nicht zugänglich sind, was zu Ausfällen führen kann.
Metadatenserver
Der Metadatenserver in pNFS wird eingerichtet, wenn ein Client eine Einbindung mit NFSv4.1 oder höher initiiert, sofern pNFS auf dem NFS-Server aktiviert ist. Sobald dies geschehen ist, wird der gesamte Metadatenverkehr über diese Verbindung gesendet und bleibt für die Dauer des Mountvorgangs auf dieser Verbindung, selbst wenn die Schnittstelle auf einen anderen Knoten migriert wird.
Die pNFS-Unterstützung wird während des Mount-Aufrufs, insbesondere in den EXCHANGE_ID-Aufrufen, ermittelt. Dies kann in einer Paketerfassung unterhalb der NFS-Operationen als Flag gesehen werden. Wenn die pNFS-Flags EXCHGID4_FLAG_USE_PNFS_DS Und EXCHGID4_FLAG_USE_PNFS_MDS Wenn der Wert auf 1 gesetzt ist, kann die Schnittstelle sowohl für Daten- als auch für Metadatenoperationen in pNFS verwendet werden.
Metadaten in NFS bestehen im Allgemeinen aus Datei- und Ordnerattributen wie Dateihandles, Berechtigungen, Zugriffs- und Änderungszeiten sowie Eigentümerinformationen. Metadaten können auch Erstellungs- und Löschaufrufe, Verknüpfungs- und Aufhebungsaufrufe sowie Umbenennungen umfassen.
In pNFS gibt es außerdem eine Teilmenge von Metadatenaufrufen, die spezifisch für die pNFS-Funktion sind und in [Referenz einfügen] detaillierter beschrieben werden. "RFC 5661"Die Diese Anrufe dienen dazu, pNFS-fähige Geräte zu ermitteln, Geräte Datensätzen zuzuordnen und weitere erforderliche Informationen zu erhalten. Die folgende Tabelle zeigt eine Liste dieser pNFS-spezifischen Metadatenoperationen.
| Betrieb | Beschreibung |
|---|---|
LAYOUTGET |
Ruft die Datenserver-Zuordnung vom Metadatenserver ab. |
LAYOUTCOMMIT |
Die Server speichern das Layout und aktualisieren die Metadatenzuordnungen. |
LAYOUTRETURN |
Gibt das Layout oder, falls die Daten geändert wurden, das neue Layout zurück. |
GEBÄUDEINFORMATIONEN |
Der Client erhält aktualisierte Informationen von einem Datenserver im Speichercluster. |
GERÄTELISTE |
Der Client fordert die Liste aller Datenserver an, die am Speichercluster beteiligt sind. |
CB_LAYOUTRECALL |
Der Server ruft das Datenlayout vom Client ab, wenn Konflikte festgestellt werden. |
CB_RECALL_ANY |
Gibt alle Layouts an den Metadatenserver zurück. |
CB_NOTIFY_DEVICEID |
Meldet Änderungen der Geräte-ID. |
Datenpfadinformationen
Sobald der Metadatenserver eingerichtet ist und die Datenoperationen beginnen, beginnt ONTAP mit der Verfolgung der Geräte-IDs, die für pNFS-Lese- und Schreibvorgänge geeignet sind, sowie der Gerätezuordnungen, die die Volumes im Cluster den lokalen Netzwerkschnittstellen zuordnen. Dieser Vorgang findet statt, wenn im Mount eine Lese- oder Schreiboperation durchgeführt wird. Metadatenaufrufe, wie z. B. GETATTR. wird diese Gerätezuordnungen nicht auslösen. Daher ist das Betreiben eines ls Ein Befehl innerhalb des Mountpunkts aktualisiert die Zuordnungen nicht.
Geräte und Zuordnungen können mit der ONTAP CLI in erweiterten Berechtigungen angezeigt werden, wie unten dargestellt.
::*> pnfs devices show -vserver DEMO (vserver nfs pnfs devices show) Vserver Name Mapping ID Volume MSID Mapping Status Generation --------------- --------------- --------------- --------------- ------------- DEMO 16 2157024470 available 1 ::*> pnfs devices mappings show -vserver SVM (vserver nfs pnfs devices mappings show) Vserver Name Mapping ID Dsid LIF IP -------------- --------------- --------------- -------------------- DEMO 16 2488 10.193.67.211
|
|
In diesen Befehlen sind die Volumennamen nicht vorhanden. Stattdessen werden die numerischen IDs verwendet, die diesen Datenträgern zugeordnet sind: die Master-Set-ID (MSID) und die Data-Set-ID (DSID). Um die den Zuordnungen zugeordneten Datenträger zu finden, können Sie Folgendes verwenden: volume show -dsid [dsid_numeric] oder volume show -msid [msid_numeric] mit erweiterten Berechtigungen der ONTAP CLI.
|
Wenn ein Client versucht, eine Datei auf einem Knoten zu lesen oder zu beschreiben, der nicht mit dem Metadatenserver verbunden ist, handelt pNFS die entsprechenden Zugriffspfade aus, um die Datenlokalität für diese Operationen zu gewährleisten, und der Client wird zum angekündigten pNFS-Gerät umgeleitet, anstatt zu versuchen, das Clusternetzwerk zu durchlaufen, um auf die Datei zuzugreifen. Dies trägt dazu bei, die CPU-Auslastung und die Netzwerklatenz zu reduzieren.
pNFS-Steuerpfad
Zusätzlich zu den Metadaten- und Datenanteilen von pNFS gibt es auch einen pNFS-Kontrollpfad. Der Kontrollpfad wird vom NFS-Server verwendet, um Dateisysteminformationen zu synchronisieren. In einem ONTAP Cluster wird das Backend-Cluster-Netzwerk regelmäßig repliziert, um sicherzustellen, dass alle pNFS-Geräte und Gerätezuordnungen synchronisiert sind.
pNFS-Gerätebesiedlungs-Workflow
Im Folgenden wird beschrieben, wie ein pNFS-Gerät in ONTAP angezeigt wird, nachdem ein Client eine Anfrage zum Lesen oder Schreiben einer Datei in einem Volume gestellt hat.
-
Der Client fordert einen Lese- oder Schreibvorgang an; es wird ein OPEN-Befehl ausgeführt und der Dateihandle abgerufen.
-
Sobald der OPEN-Vorgang ausgeführt wurde, sendet der Client den Dateihandle über die Metadatenserververbindung in einem LAYOUTGET-Aufruf an den Speicher.
-
LAYOUTGET gibt Informationen über das Layout der Datei zurück, wie z. B. die Status-ID, die Streifengröße, das Dateisegment und die Geräte-ID, an den Client.
-
Der Client nimmt dann die Geräte-ID und sendet einen GETDEVINFO-Aufruf an den Server, um die zugehörige IP-Adresse des Geräts abzurufen.
-
Der Speicher sendet eine Antwort mit der Liste der zugehörigen IP-Adressen für den lokalen Zugriff auf das Gerät.
-
Der Client setzt die NFS-Kommunikation über die lokale IP-Adresse fort, die vom Speicher zurückgesendet wird.
Interaktion von pNFS mit FlexGroup -Volumina
FlexGroup Volumes in ONTAP stellen Speicher als FlexVol volume -Bestandteile dar, die sich über mehrere Knoten in einem Cluster erstrecken. Dies ermöglicht es einer Arbeitslast, mehrere Hardware-Ressourcen zu nutzen und gleichzeitig einen einzigen Mountpoint beizubehalten. Da mehrere Knoten mit mehreren Netzwerkschnittstellen mit der Arbeitslast interagieren, ist es ein natürliches Ergebnis, dass der Remote-Datenverkehr das Backend-Cluster-Netzwerk in ONTAP durchläuft.
Bei Verwendung von pNFS verfolgt ONTAP die Datei- und Volumenlayouts des FlexGroup -Volumes und ordnet sie den lokalen Datenschnittstellen im Cluster zu. Befindet sich beispielsweise ein Teilvolume, das eine Datei enthält, auf die zugegriffen wird, auf Knoten 1, so benachrichtigt ONTAP den Client, den Datenverkehr auf die Datenschnittstelle auf Knoten 1 umzuleiten.
pNFS ermöglicht auch die Darstellung paralleler Netzwerkpfade zu Dateien von einem einzelnen Client aus, was NFSv4.1 ohne pNFS nicht ermöglicht. Wenn ein Client beispielsweise gleichzeitig auf vier Dateien vom selben Mountpunkt über NFSv4.1 ohne pNFS zugreifen möchte, wird für alle Dateien derselbe Netzwerkpfad verwendet, und der ONTAP Cluster sendet stattdessen Remote-Anfragen an diese Dateien. Der Mount-Pfad kann zu einem Flaschenhals für die Operationen werden, da alle Operationen einem einzigen Pfad folgen und an einem einzigen Knoten ankommen, der neben den Datenoperationen auch Metadatenoperationen bedient.
Wenn pNFS verwendet wird, um von einem einzigen Client gleichzeitig auf dieselben vier Dateien zuzugreifen, verhandeln Client und Server lokale Pfade zu jedem Knoten mit den Dateien und verwenden mehrere TCP-Verbindungen für die Datenoperationen, während der Mount-Pfad als Speicherort für alle Metadatenoperationen dient. Dies bietet Vorteile hinsichtlich der Latenz durch die Verwendung lokaler Pfade zu den Dateien, kann aber auch Vorteile hinsichtlich des Durchsatzes durch die Verwendung mehrerer Netzwerkschnittstellen bieten, vorausgesetzt, die Clients können genügend Daten senden, um das Netzwerk auszulasten.
Nachfolgend werden die Ergebnisse eines einfachen Testlaufs auf einem einzelnen RHEL 9.5-Client dargestellt, bei dem vier 10 GB große Dateien (die sich alle auf verschiedenen Teilvolumes auf zwei ONTAP Clusterknoten befinden) parallel mit dd gelesen werden. Bei Verwendung von pNFS wurde für jede Datei der Gesamtdurchsatz und die Bearbeitungszeit verbessert. Bei Verwendung von NFSv4.1 ohne pNFS war der Leistungsunterschied zwischen Dateien, die sich lokal am Mountpunkt befanden, und entfernten Dateien größer als mit pNFS.
| Prüfen | Durchsatz pro Datei (MB/s) | Bearbeitungszeit pro Datei |
|---|---|---|
NFSv4.1: kein pNFS |
|
|
NFSv4.1: mit pNFS |
|
|