Unterstützung für Network File System 3.0 (NFS) für Azure Blob Storage

Blob Storage unterstützt jetzt das NFS 3.0-Protokoll (Network File System). Diese Unterstützung bietet Linux-Dateisystemkompatibilität bei Objektspeicherskalierung und -preisen und ermöglicht es Linux-Clients, einen Container aus einem virtuellen Azure-Computer (VM) oder einem lokalen Computer in Blob Storage einzubinden.

Es war immer eine Herausforderung, umfangreiche Legacy-Workloads wie High Performance Computing (HPC) in der Cloud auszuführen. Ein Grund hierfür ist, dass Anwendungen oft herkömmliche Dateiprotokolle wie NFS oder SMB (Server Message Block) für den Zugriff auf Daten verwenden. Außerdem haben sich native Cloudspeicherdienste auf Objektspeicher mit einem flachen Namespace und umfangreichen Metadaten statt auf Dateisysteme konzentriert, die einen hierarchischen Namespace und effiziente Metadatenvorgänge bereitstellen.

Blob Storage unterstützt jetzt einen hierarchischen Namespace, und in Kombination mit der Unterstützung des NFS 3.0-Protokolls erleichtert Azure das Ausführen von Legacy-Anwendungen zusätzlich zum großen Cloudobjektspeicher.

Für dieses Feature geeignete Anwendungen und Workloads

Das NFS 3.0-Protokoll Feature eignet sich am besten für die Verarbeitung von hohem Durchsatz, hohe Skalierbarkeit sowie Workloads mit vielen Lesevorgängen wie Medienverarbeitung, Risikosimulationen und Genomiksequenzierung. Sie sollten die Nutzung dieses Features für jeden anderen Workloadtyp in Betracht ziehen, der mehrere Leser und viele Threads verwendet, die eine hohe Bandbreite erfordern.

NFS 3.0 und der hierarchische Namespace

Die NFS 3.0-Protokollunterstützung erfordert, dass Blobs in einem hierarchischen Namespace organisiert werden. Sie können beim Erstellen eines Speicherkontos einen hierarchischen Namespace aktivieren. Die Möglichkeit zur Verwendung eines hierarchischen Namespaces wurde durch Azure Data Lake Storage Gen2 eingeführt. Er organisiert Objekte (Dateien) genauso in eine Hierarchie von Verzeichnissen und Unterverzeichnissen, wie das Dateisystem auf Ihrem Computer organisiert ist. Der hierarchische Namespace wird linear skaliert und beeinträchtigt weder die Datenkapazität noch die Leistung. Verschiedene Protokolle werden aus dem hierarchischen Namespace erweitert. Das NFS 3.0-Protokoll ist eines dieser verfügbaren Protokolle.

hierarchical namespace

Als Blockblobs gespeicherte Daten

Wenn Ihre Anwendung eine Anforderung mithilfe des NFS 3.0-Protokolls sendet, wird diese Anforderung in eine Kombination aus Blockblobvorgängen übersetzt. Beispielsweise werden NFS 3.0-Anforderungen zum Lesen von Remoteprozeduraufrufen (Remote Procedure Calls, RPCs) in einen Get Blob-Vorgang (Blob abrufen) übersetzt. NFS 3.0-Anforderungen zum Schreiben von Remoteprozeduraufrufen werden in eine Kombination aus Get Block List (Blockierungsliste abrufen), Put Block (Block festlegen) und Put Block List (Blockierungsliste festlegen) übersetzt.

Blockblobs sind optimiert, damit große Mengen von Daten mit vielen Lesevorgängen effizient verarbeitet werden. Blockblobs werden aus Blöcken zusammengesetzt. Jeder Block wird durch eine Block-ID identifiziert. Ein Blockblob kann bis zu 50.000 Blöcke enthalten. Jeder Block in einem Blockblob kann eine andere Größe haben – bis zur maximalen Größe, die für die von Ihrem Konto verwendete Dienstversion zulässig ist.

Allgemeiner Workflow: Einbinden eines Speicherkontocontainers

Ihre Linux-Clients können einen Container aus einem virtuellen Azure-Computer (VM) oder einem lokalen Computer in Blob Storage einbinden. Zum Einbinden eines Speicherkontocontainers müssen Sie diese Schritte ausführen.

  1. Erstellen eines virtuellen Azure-Netzwerks (VNet).

  2. Konfigurieren der Netzwerksicherheit.

  3. Erstellen und Konfigurieren des Speicherkontos, das nur Datenverkehr aus dem VNet akzeptiert.

  4. Erstellen eines Containers im Speicherkonto.

  5. Einbinden des Containers.

Eine Schrittanleitung finden Sie unter Einbinden von Blob-Speicher unter Linux mithilfe des NFS 3.0-Protokolls (Network File System).

Netzwerksicherheit

Der Datenverkehr muss aus einem VNet stammen. Ein VNet ermöglicht Clients eine sichere Verbindung mit Ihrem Speicherkonto. Die einzige Möglichkeit zum Sichern der Daten in Ihrem Konto besteht darin, ein VNet und andere Netzwerksicherheitseinstellungen zu verwenden. Andere Tools zum Schützen von Daten – einschließlich Kontoschlüsselautorisierung, Microsoft Entra-Sicherheit und Zugriffssteuerungslisten (Access Control Lists, ACLs) – können nicht zum Autorisieren einer NFS 3.0-Anforderung verwendet werden.

Weitere Informationen finden Sie unter Netzwerksicherheitsempfehlungen für Blob-Speicher.

Unterstützte Netzwerkverbindungen

Ein Client kann über einen öffentlichen oder einen privaten Endpunkt sowie von jeder der folgenden Netzwerkadressen aus eine Verbindung herstellen:

Wichtig

Das NFS 3.0-Protokoll verwendet die Ports 111 und 2048. Wenn Sie eine Verbindung aus einem lokalen Netzwerk heraus herstellen, stellen Sie sicher, dass Ihr Client die ausgehende Kommunikation über diese Ports zulässt. Wenn Sie den Zugriff auf bestimmte VNets gewährt haben, stellen Sie sicher, dass Netzwerksicherheitsgruppen, die diesen VNets zugeordnet sind, keine Sicherheitsregeln enthalten, die eingehende Kommunikation über diese Ports blockieren.

Einschränkungen und bekannte Probleme

Im Artikel Bekannte Probleme finden Sie eine vollständige Liste der Probleme und Einschränkungen im aktuellen Release der NFS 3.0-Unterstützung.

Preise

Auf der Seite Azure Blob Storage-Preise finden Sie die Kosten für Datenspeicher und Transaktionen.

Weitere Informationen