Funktionsprinzip und Beispielanalyse des Linux-NFS-Mechanismus

Funktionsprinzip und Beispielanalyse des Linux-NFS-Mechanismus

Was ist NFS?

Netzwerkdateisystem

Eine Methode oder ein Mechanismus zum Speichern und Organisieren von Dateien über ein Netzwerk.

Warum NFS verwenden?

Alle Front-End-Anwendungsserver empfangen von Benutzern hochgeladene Bilder, Dateien und Videos und legen sie im Back-End-Speicher ab.

Die Vorteile von Shared Storage: bequemes Suchen und Abrufen von Daten. Die Nachteile: hohe Belastung des Speicherservers und bei einem Ausfall gehen sämtliche Daten verloren.

So funktioniert NFS

NFS-Funktionen verfügen über viele Dienste, von denen jeder seinen eigenen Port hat und sich häufig ändert.

Wenn der Client nach diesen Ports sucht, benötigt er einen Vermittler – den RPC-Dienst (Standard-Portnummer 111).

Arbeitsablauf:

1. Starten Sie den RPC-Dienst

2. Starten Sie den NFS-Dienst (und registrieren Sie den Startport beim RPC-Dienst)

3. Der Client fordert den NFS-Dienst von RPC an

4.RPC gibt den Port an den Client zurück

5. Der Client verwendet die zurückgegebene Portadresse, um NFS zur Datenübertragung aufzufordern.

NFS-Dienst installieren

Installation: yum install nfs-utils rpcbind

Ansicht: rpm -qa nfs-utils rpcbind

Starten Sie den Dienst und stellen Sie ihn so ein, dass er beim Booten automatisch gestartet wird: systemctl start rpcbind.service systemctl enable rpcbind.service

systemctl NFS starten systemctl NFS aktivieren

Konfigurieren von NFS

NFS-Konfigurationsdatei /etc/exports

Führen Sie den Befehl „man exports“ aus, um Folgendes zu finden:

Das Format der Konfigurationsdatei ist:

Hosts (Berechtigungen) für den Zugriff auf das freigegebene Verzeichnis

①Freizugebendes Verzeichnis: Verzeichnis für den Datenzugriff

②Zugreifender Host: Einzelner Host: 172.16.1.7 oder Hostnamensegment: 172.16.1.0/24 oder 172.16.1.*

③Berechtigungen: rw lesbar, ro schreibgeschützt, sync auf Remote-Festplatte schreiben (langsam, sicher), async, asynchron in Remote-Puffer schreiben (schnell, unsicher)

root_squash anonuid=UID des anonymen Benutzers anongid=GID des anonymen Benutzers

all_squash Egal welcher Benutzer der Client ist, er wird auf dem Server als nfsnobody behandelt

[root@nfs01 ~]# vim /etc/exports

Hinweis: Ein Verzeichnis kann gleichzeitig mit mehreren Hosts geteilt werden, wie in der Testabbildung oben gezeigt. Beachten Sie, dass zwischen der Klammer und dem vorhergehenden Zeichen kein Leerzeichen steht.

Erstellen Sie ein Verzeichnis: [root@nfs01 ~]# mkdir -p /data

Der Standardbenutzer von NFS ist nfsnobody, daher müssen Sie das Verzeichnis autorisieren: [root@nfs01 ~]# chown -R nfsnobody.nfsnobody /data

NFS neu starten: [root@nfs01 ~]# systemctl reload nfs oder exportfs -r (sanfter Neustart)

prüfen:

Öffnen Sie die virtuelle Maschine web01 und installieren Sie die RPC- und NFS-Dienste (im Prinzip muss der Client nur RPC installieren, aber wir testen hier den Befehl showmount).

Mounten Sie das freigegebene Verzeichnis und erstellen Sie eine Testdatei

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Implementierung von Python zur Überwachung von USB-Gerätesignalen unter Linux
  • Detaillierte Erklärung zum Schreiben von Linux-USB-Hosttreibern
  • Arm-Linux verwendet Alsa-Treiber und ein USB-Audiogerät
  • So verwenden Sie mobilen USB-Speicher unter Linux
  • Verwenden von USB-Speicher in einer Linux-Umgebung
  • Detaillierte Analyse des Linux-NFS-Mechanismus anhand von Fällen
  • IntelliJ IDEA führt Remote-Debugging für Linux-Java-Programme durch. Suchen Sie nach Problemen, ohne nur im Protokoll nachzusehen (empfohlen)
  • Verwendung des Linux-Befehls bzip2
  • So verwenden Sie libudev in Linux, um die VID und PID eines USB-Geräts abzurufen

<<:  Drei Möglichkeiten zum Kopieren von MySQL-Tabellen (Zusammenfassung)

>>:  So konfigurieren Sie einen Pfadalias für das React-Scaffolding

Artikel empfehlen

Vollständige Schritte für dynamische Bindungssymbole in Vue

0 Unterschiede zwischen Symbolen und Bildern Symb...

So installieren Sie JDK8 unter Windows

1. Herunterladen: http://www.oracle.com/technetwo...

Schreiben Sie ein React-ähnliches Framework von Grund auf

Kürzlich habe ich im Internet den Artikel „Build ...

Virtueller vsftpd-Benutzer basierend auf MySql-Authentifizierung

Inhaltsverzeichnis 1. MySQL-Installation 1.2 Tabe...

Verwendung des HTML-H-Titel-Tags

Die Verwendung von H-Tags, insbesondere h1, war sc...

Verständnis für Webdesign-Layout

<br />Hier ergibt sich ein Widerspruch: In k...

HTML-Tabelle_Powernode Java Academy

Um eine Tabelle in HTML zu zeichnen, verwenden Si...

Beispiele für die Verwendung von HTML-Listen-Tags dl, ul, ol

Code kopieren Der Code lautet wie folgt: <!-- ...

Ein Beispiel für die Berechnungsfunktion calc in CSS im Website-Layout

calc ist eine Funktion in CSS, die zum Berechnen ...

CSS Lieferadresse Parallelogramm Linienstil Beispielcode

Der Code sieht folgendermaßen aus: // Linienstil ...

Beheben von Problemen beim Importieren und Exportieren von Mysql

Hintergrund Da ich alle meine Aufgaben auf Docker...

CSS3 Milchglaseffekt

Wenn der Milchglaseffekt gut gelingt, kann er die...

So ändern Sie das Passwort des Root-Benutzers in MySQL

Methode 1: Verwenden Sie den Befehl SET PASSWORD ...

Verwenden von Streaming-Abfragen in MySQL, um Daten-OOM zu vermeiden

Inhaltsverzeichnis 1. Einleitung 2. JDBC implemen...