Heim System-Tutorial LINUX Ein vorläufiges Verständnis des NFS-Dienstes unter Linux

Ein vorläufiges Verständnis des NFS-Dienstes unter Linux

Jan 23, 2024 pm 05:18 PM
linux linux教程 红帽 linux系统 linux命令 Linux-Zertifizierung Red Hat Linux Linux-Video

Linux NFS服务的初步了解

Einführung in RPC

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ückgegeben

7) 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.

Ich habe gerade einen Blick darauf geworfen und festgestellt, dass Centos7 das NFSv4-Protokoll bereits unterstützt. Ich werde hier nicht einen Blick auf v4 werfen, wenn Sie Zeit haben.

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.
NFS-Dienst konfigurieren NFS-Konfigurationsdatei befindet sich in /etc/exports

Die Standardeinstellung ist eine leere Datei. Sie müssen sie nur im folgenden Format konfigurieren: ein freigegebenes Volume pro Zeile
Host: Begrenzter Host (Domainname)

1. Einzelner Host oder IP

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.

Häufige Optionen:

  • 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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Welche Computerkonfiguration ist für VSCODE erforderlich? Welche Computerkonfiguration ist für VSCODE erforderlich? Apr 15, 2025 pm 09:48 PM

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)

Linux -Architektur: Enthüllung der 5 Grundkomponenten Linux -Architektur: Enthüllung der 5 Grundkomponenten Apr 20, 2025 am 12:04 AM

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.

So führen Sie Java -Code in Notepad aus So führen Sie Java -Code in Notepad aus Apr 16, 2025 pm 07:39 PM

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.

VSCODE kann die Erweiterung nicht installieren VSCODE kann die Erweiterung nicht installieren Apr 15, 2025 pm 07:18 PM

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.

So überprüfen Sie die Lageradresse von Git So überprüfen Sie die Lageradresse von Git Apr 17, 2025 pm 01:54 PM

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.

Kann VSCODE für MAC verwendet werden Kann VSCODE für MAC verwendet werden Apr 15, 2025 pm 07:36 PM

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.

So verwenden Sie VSCODE So verwenden Sie VSCODE Apr 15, 2025 pm 11:21 PM

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

VSCODE -Tutorial zur Verwendung VSCODE -Tutorial zur Verwendung Apr 15, 2025 pm 10:09 PM

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.

See all articles