Ein vorläufiges Verständnis des NFS-Dienstes unter Linux
1) Der Dienstkonsument (Client) ruft den Dienst über Ortsgespräche an
2) Nach dem Empfang des Anrufs ist der Client-Stub dafür verantwortlich, Methoden, Parameter usw. zu einem Nachrichtentext zusammenzustellen, der über das Netzwerk übertragen werden kann
3) Der Client-Stub findet die Dienstadresse und sendet die Nachricht an den Server
4) Der Server-Stub dekodiert die Nachricht nach dem Empfang
5) Der Server-Stub ruft lokale Dienste basierend auf den Dekodierungsergebnissen auf;
6) Der lokale Dienst wird ausgeführt und die Ergebnisse werden an den Server-Stub zurückgegeben7) Der Server-Stub verpackt die zurückgegebenen Ergebnisse in Nachrichten und sendet sie an den Verbraucher
8) Der Client-Stub empfängt die Nachricht und dekodiert sie
9) Der Servicekonsument erhält das Endergebnis.
Einführung in NFS NFS (Network File System) ist eines der von FreeBSD unterstützten Dateisysteme. Es ermöglicht Computern im Netzwerk, Ressourcen über das TCP/IP-Netzwerk zu teilen. In NFS-Anwendungen können lokale NFS-Clientanwendungen transparent Dateien lesen und schreiben, die sich auf dem Remote-NFS-Server befinden, genau wie beim Zugriff auf lokale Dateien.
Derzeit gibt es von NFS hauptsächlich zwei Versionen (NFSv2, NFSv3), zusätzlich zu Version 3 von NFSv2 und NFSv3, die weitere neue Funktionen unterstützt. Der Hauptunterschied sollte darin bestehen, dass NFSv2 das UDP-Protokoll für die Übertragung verwendet, sodass die Verbindung von NFSv2 möglich ist in komplexen Netzwerkumgebungen nicht so zuverlässig sein und NFSv3 unterstützt sowohl UDP- als auch TCP-Protokolle.
Wenn der Client ein freigegebenes NFS-Volume bereitstellen möchte, sendet er eine RPC-Anfrage an den Server, und der NFS-Server sendet nach der Benutzerauthentifizierung ein zufälliges Cookie an den Client, sodass der Client dieses Cookie zur Authentifizierung dieser Anfragen verwenden kann . Das freigegebene Volume, auf das zugegriffen wird.
NFS-Authentifizierung unterstützt die integrierte IP-/Host-Berechtigungszuweisung und wird auch durch TCP-Wrapper eingeschränkt.
NFS-Dienst auf Redhat NFS-Unterstützung ist im Redhat-Kernel standardmäßig aktiviert und der Start des NFS-Servers wird über den NFS-Daemon gesteuert, der für die Bindung von Netzwerk-Sockets und RPC-Aufrufen verantwortlich ist. Außerdem ist ein Rpcbind-Dienst (in Redhat5 Portmap genannt) erforderlich. Wenn Sie den NFS-Dienst nicht im System finden, liegt das daran, dass das NFS-Utils-Paket nicht installiert ist. Dieses Paket enthält einige Tools und Dienstskripte.
Der gesamte NFS-Dienst umfasst wahrscheinlich Folgendes (aus der offiziellen Dokumentation von Red Hat kopiert, scheint aber etwas alt zu sein):
- nfs – Starten Sie einen responsiven RPC-Prozess, um auf NFS zu reagieren
- nfslock – Dies ist ein optionaler Dienst, der auf Clientanfragen zur Dateisperrung reagiert. rpcbind(portmap) – Dies ist der Daemon-Prozess des RPC-Dienstes, der zum Herstellen von Verbindungen und zum Beantworten von RPC-Anfragen verwendet wird.
NFS-Dienst stellt diese RPC-Aufrufe (Funktionen) bereit:
- rpc.mountd – Diese Funktion wird verwendet, um auf die Mount-Anfrage des Clients zu antworten und zu überprüfen, ob das angeforderte Dateisystem zur Verwendung berechtigt ist. Dieser Prozess wird vom NFS-Dienst gestartet.
- rpc.nfsd – Der Hauptprozess (Funktion) des NFS-Dienstes.
- rpc.lockd – Der Hauptaufruf (Funktion) des oben genannten NFSlock-Dienstes wird hauptsächlich verwendet, um auf Dateisperranfragen von Kunden zu reagieren.
- rpc.statd – Dieser Aufruf (Funktion) wird hauptsächlich verwendet, um den Client zu benachrichtigen, wenn der NFS-Server neu startet oder abnormal herunterfährt, und wird vom NFSlock-Dienst aktiviert.
- rpc.rquotad – Der NFS-Dienst wird zur Unterstützung von Quota-Aufrufen (Funktionen) verwendet.
Die Standardeinstellung ist eine leere Datei. Sie müssen sie nur im folgenden Format konfigurieren: ein freigegebenes Volume pro Zeile
Host: Begrenzter Host (Domainname)
2. Platzhalter * (entspricht einem beliebigen Zeichen) oder ? (entspricht einem beliebigen einzelnen Zeichen), wird in Domänennamen oder Hostnamen verwendet
3.IP/MASKE, zum Beispiel 192.168.110.0/24
Optionen: Bereitstellungsoptionen, mit denen die Bereitstellungsberechtigungen des vorherigen Hosts eingeschränkt werden.
- ro,rw: schreibgeschützt oder Lese-/Schreibzugriff
- sync: Synchronisierung: Wenn die Schreibanforderung des Clients abgeschlossen ist, werden die Daten im Speicher sofort auf die Festplatte geschrieben. Dies ist sicher.
- async: Asynchron: Wenn die Schreibanforderung des Clients abgeschlossen ist, schreibt der Server die Daten nicht sofort auf die Festplatte, sondern schreibt sie zu einem bestimmten Zeitpunkt (im Leerlauf oder ... wer weiß) auf die Festplatte, was die Möglichkeit schafft Datenverlust.
- wdelay (Schreibverzögerung): Schreibverzögerung. Dies ist eine Optimierungsoption, die es dem Server ermöglicht, das Schreiben von Daten auf die Festplatte zu verzögern, sodass die beiden Daten mithilfe eines Schreibsystems auf die Festplatte geschrieben werden, wenn die zweite Schreibanforderung des Clients eintrifft Anruf .
- nowdelay: Im Gegensatz zu oben kann es nur im Sync-Modus verwendet werden.
- root_squash: „Squash“-Root, denn wenn der Client Dateien auf den Server schreibt, wird die vom Client geschriebene UID des Benutzers direkt dem Benutzer mit derselben UID des Servers zugeordnet, sodass die Dateien vom Root-Benutzer gespeichert werden auf dem NFS-Freigabe-Volume werden auf dem Server gespeichert. Der Endbesitzer und die Gruppe sind immer noch Root, was bestimmte Sicherheitsrisiken birgt, sodass Sie diese Option verwenden können, um Root auf den Benutzer „nfsnobody“ zu reduzieren.
- all_squash: Alle Benutzer unterdrücken. Sie können anonuid=, anongid= verwenden, um anzugeben, welcher Benutzer unterdrückt werden soll.
Das obige ist der detaillierte Inhalt vonEin vorläufiges Verständnis des NFS-Dienstes unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

VS Code system requirements: Operating system: Windows 10 and above, macOS 10.12 and above, Linux distribution processor: minimum 1.6 GHz, recommended 2.0 GHz and above memory: minimum 512 MB, recommended 4 GB and above storage space: minimum 250 MB, recommended 1 GB and above other requirements: stable network connection, Xorg/Wayland (Linux)

Die fünf grundlegenden Komponenten des Linux -Systems sind: 1. Kernel, 2. Systembibliothek, 3. System Utilities, 4. Grafische Benutzeroberfläche, 5. Anwendungen. Der Kernel verwaltet Hardware -Ressourcen, die Systembibliothek bietet vorkompilierte Funktionen, Systemversorgungsunternehmen werden für die Systemverwaltung verwendet, die GUI bietet visuelle Interaktion und Anwendungen verwenden diese Komponenten, um Funktionen zu implementieren.

Obwohl Notepad den Java -Code nicht direkt ausführen kann, kann er durch Verwendung anderer Tools erreicht werden: Verwenden des Befehlszeilencompilers (JAVAC), um eine Bytecode -Datei (Dateiname.class) zu generieren. Verwenden Sie den Java Interpreter (Java), um Bytecode zu interpretieren, den Code auszuführen und das Ergebnis auszugeben.

Die Gründe für die Installation von VS -Code -Erweiterungen können sein: Netzwerkinstabilität, unzureichende Berechtigungen, Systemkompatibilitätsprobleme, VS -Code -Version ist zu alt, Antiviren -Software oder Firewall -Interferenz. Durch Überprüfen von Netzwerkverbindungen, Berechtigungen, Protokolldateien, Aktualisierungen von VS -Code, Deaktivieren von Sicherheitssoftware und Neustart von Code oder Computern können Sie Probleme schrittweise beheben und beheben.

Um die Git -Repository -Adresse anzuzeigen, führen Sie die folgenden Schritte aus: 1. Öffnen Sie die Befehlszeile und navigieren Sie zum Repository -Verzeichnis; 2. Führen Sie den Befehl "git remote -v" aus; 3.. Zeigen Sie den Repository -Namen in der Ausgabe und der entsprechenden Adresse an.

VS -Code ist auf Mac verfügbar. Es verfügt über leistungsstarke Erweiterungen, GIT -Integration, Terminal und Debugger und bietet auch eine Fülle von Setup -Optionen. Für besonders große Projekte oder hoch berufliche Entwicklung kann VS -Code jedoch Leistung oder funktionale Einschränkungen aufweisen.

Visual Studio Code (VSCODE) ist ein plattformübergreifender, Open-Source-Editor und kostenloser Code-Editor, der von Microsoft entwickelt wurde. Es ist bekannt für seine leichte, Skalierbarkeit und Unterstützung für eine Vielzahl von Programmiersprachen. Um VSCODE zu installieren, besuchen Sie bitte die offizielle Website, um das Installateur herunterzuladen und auszuführen. Bei der Verwendung von VSCODE können Sie neue Projekte erstellen, Code bearbeiten, Code bearbeiten, Projekte navigieren, VSCODE erweitern und Einstellungen verwalten. VSCODE ist für Windows, MacOS und Linux verfügbar, unterstützt mehrere Programmiersprachen und bietet verschiedene Erweiterungen über den Marktplatz. Zu den Vorteilen zählen leicht, Skalierbarkeit, umfangreiche Sprachunterstützung, umfangreiche Funktionen und Versionen

Das integrierte VSCODE-integrierte Terminal ist ein Entwicklungstool, mit dem das Ausführen von Befehlen und Skripten innerhalb des Editors den Entwicklungsprozess vereinfachen kann. Verwenden Sie VSCODE -Anschluss: Öffnen Sie das Terminal mit der T -T -T -Taste (Strg/CMD). Geben Sie einen Befehl ein oder führen Sie das Skript aus. Verwenden Sie Hotkeys (z. B. Strg l, um das Terminal zu löschen). Ändern Sie das Arbeitsverzeichnis (z. B. den CD -Befehl). Zu den erweiterten Funktionen gehören Debug -Modus, automatischer Code -Snippet -Abschluss und interaktiver Befehlsverlauf.
