Ein NFS oder auch besser genannt Network Filesystem ist ein Protokoll, dass Usern auf Kunden-Computern erlaubt auf Dateien im Netzwerk zuzugreifen. Das macht es zu einem distributierten Daten System. Ein Network File System, kurz NFS, ist notwendig, damit in Ihrem Unternehmen Daten im Netzwerk geteilt werden können. Sie können remote mit jedem registrierten Gerät auf Unternehmensdateien zugreifen. Alle Menschen innerhalb des Netzwerks haben Zugriff auf dieselben Dateien, was das Teilen deutlich einfacher macht.
Das NFS Protokoll hat sich stark weiterentwickelt, seit es 1984 von Sun Microsystems entwickelt wurde. Es verändert sich bis heute, da es eine freie Standardlösung ist, bei der jeder das Protokoll erweitern, auf allen Betriebssystemen, basierend auf den eigenen Bedürfnissen.
Das generelle Konzept
Ein NFS verwendet ein System wo ein „mount“ Kommando den Server anweist, sich mit vielen Kunden zu verbinden. Die Kunden können gleichzeitig auf dasselbe File zugreifen. Das Design kann Sicherheitsprotokolle beinhalten, um festzulegen, wer auf welche Dateien zugreifen darf, was einen einfachen aber sicheren Zugang zu den Dateien erlaubt.
Ein NFS kann auch ein File Locking System verwenden, das vielen Kunden erlaubt dieselbe Datei zu teilen. Das NFS verwaltet mehrere Applikationen oder Threads für Operationen.
Das NFS verwendet unterschiedliche Hosts, um auf dieselben Dateien zuzugreifen. Dafür benötigt es keine Applikation, was ein einfaches Design ermöglicht zur Verarbeitung des Inhaltes, der angezeigt wird.
Erfahren Sie alles über Command Prompt vs. PowerShell
Wie funktioniert NFS? Sehen Sie sich die drei Versionen an
Die Funktionsweise des NFS ist abhängig von der verwendeten Version. Heute gibt es drei Versionen von NFS, die alle unterschiedliche Standards befolgen.
NFS Version 2 (NFSv2)
Das ist die älteste Version und ist die am stärksten unterstützte Version. Sie funktioniert mit dem User Datagram Protocol, kurz UDP, via ein IP Netzwerk. Das IP Netzwerk erlaubt eine stabile Netzwerk Verbindung.
UDP produziert keine eigene Verbindung, bevor es Daten transferieren kann. Die Funktionalität ist praktisch, da Verbindungen schneller hergestellt werden können. Aber UDP Clients können weiterhin Anfragen an einen Server senden, selbst wenn der Server nicht funktioniert.
NFS Version 3 (NFSv3)
NFSv3 erlaubt asynchrones schreiben, was dem Server erlaubt, die richtigen Policies für die Datensynchronisierung vorzugeben. Die Daten werden vor der Anweisung die Daten zu verwalten synchronisiert. Dieses Design erlaubt verbessertes Buffering im Vergleich zu NFSv2.
NFSv3 kann auch Fehler einfacher behandeln und kann größere Dateien verarbeiten. Es kann 64-bit Dateien verarbeiten, sodass ein User durchschnittlich auf 2GB Dateien gleichzeitig zugreifen kann.
NFS Version 4 (NFSv4)
NFSv4 ist die jüngste Version von NFS. Es funktioniert im Internet und durch Firewalls. Es braucht kein rpcbind Service, sodass es in unterschiedlichen Standorten laufen kann. Das Transmission Control Protocol, kurz TCP, arbeitet in diesem NFS Format. Das TCP verbindet die Anwendung und die IP. Es verfolgt Datensegmente und muss nur die verloren gegangenen frames im TCP wiederherstellen, wenn etwas ein zweites Mal gesendet werden muss.
Der Server erlaubt auch TCP Port 2049 Kommandos. Dieser Port ist einer der häufiger verwendeten Ports auf dem Markt. Es muss nicht mit Daemons wie rpcbind oder lockd interagieren.
Welche Services sind nötig?
Sie benötigen einige Services, damit das NFS System funktionieren kann:
- Nfs – Das NFS Service startet den Server und die RPC Prozesse die für shared Systeme relevant sind
- Nfslock – das Service startet die RPC Prozesse und erlaubt NFS Clients die Dateien zu sperren
- Portmap – Sie können Ports von lokalen Services mit diesem Service nehmen. Portmap antwortet auf Nachrichten, die besagen, dass gewisse Ports für Datenzugriff verfügbar sind.
Weitere Services, die Sie verwenden können
Sie können auch einige weitere Services verwenden
- mountd – Sie können einen Prozess starten, der mount requests annimmt und bestätigt, dass ein Computer die NFS Dateien erreichen kann, die man erreichen möchte.
- nsfd – Sie können spezielle NFS Versionen und Protokolle für den Server definieren.
- Rpc-lockd – Dateien können ganz einfach auf dem Server gesperrt werden
- statd – Das Netzwerk Status Monitor Protokoll startet mit diesem Kommando. Es benachrichtigt die Clients, wenn ein Server neu gestartet wird. Außerdem stellt es sicher, dass der Server online bleibt, ohne heruntergefahren zu werden.
Was macht die NFS so praktisch?
Es gibt viele Vorteile bei NFS.
- Jeder im Netzwerk, kann auf dieselben Dateien zugreifen, wenn Sie auf demselben NFS Clients sind
- Die Mounting Prozesse für die Dateisysteme bleiben transparent, sodass Clients wissen, wie Sie die Inhalte verwalten können.
- NFS ist sicherer, da Sie nicht mit vielen entfernbaren Festplatten und Disks arbeiten müssen.
- Mehrere Computer können dieselben Anwendungen teilen. Sie brauchen keinen exzessiven Disk Speicher. Außerdem werden dieselben Files nicht mehrfach abgelegt.
Sie sind noch etwas unsicher?
Es gibt auch einige Nachteile bei NFS:
- Eine Firewall ist nötig um ein NFS laufen zu lassen, um unerwünschte Parteien am Zugriff zu hindern. Jedes NFS ohne den Schutz der Firewall riskiert seine Sicherheit.
- Es kann schwierig für mehrere Parteien sein, wenn sie auf dieselbe Datei gleichzeitig zugreifen möchten. Insbesondere wenn die Datei besonders groß ist.
- Manche Protokolle erlauben bis zu 1 MB an Datenmenge, die pro Read oder Write Request verarbeitet werden kann. Während die heutigen Protokolle immense Mengen an Requests verarbeiten können, kann der 1 MB Standard zu schwach sein.
Eine praktische Lösung
Ein NFS kann notwendig sein, wenn Sie versuchen Dateien mehreren Personen in Ihrem Netzwerk zur Verfügung zu stellen. Versichern Sie sich also, dass die NFS Ihnen dabei helfen können, Ihr Netzwerk und Ihre Dateien für mehr Personen in Ihrem Unternehmen zugänglich zu machen. Um rasch auf die Dateien zugreifen zu können, die auf einem anderen Gerät gespeichert sind, sollte der Server NFS daemon Prozesse implementieren, um die Daten für andere User zur Verfügung zu stellen.