In diesem Tutorial zeigen wir Ihnen, wie Sie NFS Server auf Ubuntu 20.04 LTS installieren. Für diejenigen unter Ihnen, die es nicht wussten, NFS oder Network File System ist ein verteiltes Dateisystemprotokoll. Es kann Ihnen dabei helfen, Dateien und ganze Verzeichnisse mit anderen über ein Netzwerk zu teilen. Es ermöglicht Programmen auf Remote-Systemen, Informationen gemeinsam zu nutzen und darauf zuzugreifen, als ob sie auf einem lokalen Computer verfügbar wären. Diese Technologie gibt Ihnen die Flexibilität, eine Ressource gemeinsam zu nutzen mehrere Systeme.
Dieser Artikel geht davon aus, dass Sie zumindest über Grundkenntnisse in Linux verfügen, wissen, wie man die Shell verwendet, und vor allem, dass Sie Ihre Website auf Ihrem eigenen VPS hosten. Die Installation ist recht einfach und setzt Sie voraus im Root-Konto ausgeführt werden, wenn nicht, müssen Sie möglicherweise 'sudo
hinzufügen ‘ zu den Befehlen, um Root-Rechte zu erhalten. Ich zeige Ihnen Schritt für Schritt die Installation des NFS-Servers auf Ubuntu 20.04 (Focal Fossa). Sie können denselben Anweisungen für Ubuntu 18.04, 16.04 und jede andere Debian-basierte Distribution wie Linux Mint folgen.
Wir verwenden zwei Maschinen, eine mit Ubuntu 20.04, die als NFS-Server fungiert, und eine andere mit einer beliebigen anderen Linux-Distribution, auf der wir die Freigabe bereitstellen. Die Maschinen in diesem Beispiel haben die folgenden IPs:
NFS Server IP: 192.168.77.20 NFS Clients IPs: From the 192.168.77.0/24 range
Installieren Sie den NFS-Server auf Ubuntu 20.04 LTS Focal Fossa
Schritt 1. Stellen Sie zunächst sicher, dass alle Ihre Systempakete auf dem neuesten Stand sind, indem Sie den folgenden apt
ausführen Befehle im Terminal.
sudo apt update sudo apt upgrade
Schritt 2. NFS-Server auf Ubuntu 20.04 installieren.
Jetzt führen wir den folgenden Befehl aus, um das NFS-Kernel-Server-Paket zu installieren:
sudo apt install nfs-kernel-server
Sie können überprüfen, ob der nfs-server
Der Dienst läuft wie gezeigt:
sudo systemctl status nfs-server
Schritt 3. Erstellen der freigegebenen Verzeichnisse auf dem Host.
Erstellen eines Verzeichnisses, das von Client-Systemen gemeinsam genutzt wird:
sudo mkdir /var/nfs/general -p
Da wir möchten, dass die Client-Systeme vollen Zugriff auf dieses freigegebene Verzeichnis haben, müssen wir alle Verzeichnisberechtigungen entfernen, die den Zugriff einschränken:
sudo chown nobody:nogroup /var/nfs/general
Schritt 4. Konfigurieren Sie NFS auf dem Host.
Wir tauchen in die NFS-Konfigurationsdatei ein, um die gemeinsame Nutzung dieser Ressourcen einzurichten:
sudo nano /etc/exports
Fügen Sie die folgenden Zeilen hinzu:
/var/nfs/general client_ip(rw,sync,no_subtree_check) /home client_ip(rw,sync,no_root_squash,no_subtree_check)
Für grundlegende Exportoptionen:
Option | Beschreibung |
rw | Erlaube sowohl Lese- als auch Schreibanfragen auf einem NFS-Volume. |
ro | Nur Leseanfragen auf einem NFS-Volume zulassen. |
synchronisieren | Antworten Sie nur auf Anfragen, nachdem die Änderungen in den stabilen Speicher übernommen wurden. (Standard) |
asynchron | Diese Option erlaubt es dem NFS-Server, gegen das NFS-Protokoll zu verstoßen und auf Anfragen zu antworten, bevor Änderungen, die durch diese Anfrage vorgenommen wurden, in den stabilen Speicher übernommen wurden. |
sicher | Diese Option erfordert, dass Anfragen von einem Internetport stammen, der kleiner als IPPORT_RESERVED (1024) ist. (Standard) |
unsicher | Diese Option akzeptiert alle Ports. |
wdelay | Verzögern Sie die Übertragung einer Schreibanforderung auf eine Disc geringfügig, wenn Sie vermuten, dass eine andere verwandte Schreibanforderung in Bearbeitung ist oder bald eintrifft. (Standard) |
no_wdelay | Diese Option hat keine Wirkung, wenn auch async eingestellt ist. Der NFS-Server verzögert normalerweise die Übergabe einer Schreibanforderung an eine Disc geringfügig, wenn er vermutet, dass eine andere zugehörige Schreibanforderung im Gange ist oder bald eintrifft. Dadurch können mehrere Schreibanforderungen mit einer einzigen Operation auf die Disc übertragen werden, wodurch die Leistung verbessert werden kann. Wenn ein NFS-Server hauptsächlich kleine, nicht zusammenhängende Anfragen erhält, kann dieses Verhalten tatsächlich die Leistung reduzieren, also ist no_wdelay verfügbar, um es abzuschalten. |
subtree_check | Diese Option aktiviert die Teilbaumprüfung. (Standard) |
no_subtree_check | Diese Option deaktiviert die Teilbaumprüfung, was geringfügige Auswirkungen auf die Sicherheit hat, aber unter bestimmten Umständen die Zuverlässigkeit verbessern kann. |
root_squash | Ordnen Sie Anforderungen von uid/gid 0 der anonymen uid/gid zu. Beachten Sie, dass dies nicht für andere UIDs oder GIDs gilt, die möglicherweise ebenso sensibel sind, wie z. B. Benutzer-Bin oder Gruppenpersonal. |
no_root_squash | Root-Squashing deaktivieren. Diese Option ist hauptsächlich für plattenlose Clients nützlich. |
all_squash | Ordnen Sie alle UIDs und GIDs dem anonymen Benutzer zu. Nützlich für NFS-exportierte öffentliche FTP-Verzeichnisse, News-Spool-Verzeichnisse usw. |
no_all_squash | Alles Squashing deaktivieren. (Standard) |
anonuid=UID | Diese Optionen legen explizit die UID und GID des anonymen Kontos fest. Diese Option ist hauptsächlich für PC/NFS-Clients nützlich, bei denen Sie vielleicht möchten, dass alle Anfragen von einem Benutzer stammen. Betrachten Sie als Beispiel den Exporteintrag für /home/joe im Beispielabschnitt unten, der alle Anfragen auf uid 150 abbildet. |
anongid=GID | Lesen Sie oben (anonuid=UID) |
Starten Sie abschließend den NFS-Server neu, um die Änderungen zu übernehmen:
sudo systemctl restart nfs-kernel-server
Schritt 5. Firewall konfigurieren.
Sie müssen den Zugriff durch die Firewall zulassen, andernfalls ist der Zugriff auf und das Mounten des freigegebenen Verzeichnisses nicht möglich. Führen Sie dazu den folgenden Befehl aus:
sudo ufw allow from 192.168.77.0/24 to any port nfs sudo ufw enable sudo ufw status
Schritt 6. Richten Sie die NFS-Clients ein.
Auf den Client-Rechnern müssen wir nur die Tools installieren, die zum Mounten eines entfernten NFS-Dateisystems erforderlich sind.
- Installieren Sie den NFS-Client auf Debian und Ubuntu
Führen Sie den folgenden Befehl aus, um es zu installieren:
sudo apt install nfs-common
- Bereitstellungspunkte auf dem Client erstellen.
Nun erstellen wir zwei Verzeichnisse für Mounts auf dem Client:
sudo mkdir -p /nfs/general sudo mkdir -p /nfs/home
Mounten Sie als Nächstes die Freigaben mit der IP-Adresse des Hosts:
sudo mount host_ip:/var/nfs/general /nfs/general sudo mount host_ip:/home /nfs/home
Vergewissern Sie sich, dass die Remote-Dateisysteme erfolgreich gemountet wurden, indem Sie entweder mount oder df
verwenden Befehl:
df -h
Um die Mounts beim Neustart dauerhaft zu machen, öffnen Sie /etc/fstab
Datei und fügen Sie die folgenden Zeilen hinzu:
sudo nano /etc/fstab
Fügen Sie die folgende Zeile hinzu:
192.168.77.10:/var/nfs/general /nfs/general nfs defaults,timeo=900,retrans=5,_netdev 0 0 192.168.77.10:/home /nfs/home nfs defaults,timeo=900,retrans=5,_netdev 0 0
Schritt 7. Testen Sie die NFS-Freigabe.
Jetzt erstellen wir eine Testdatei nach /var/nfs/general
teilen:
sudo touch /nfs/general/general.test
Inhaberschaft prüfen:
$ ls -l /nfs/home/home.test -rw-r--r-- 1 root root 0 Aug 1 13:32 /nfs/home/home.test
Schritt 8. Unmounten des NFS-Dateisystems.
Wenn die Remote-NFS-Freigabe nicht mehr benötigt wird, können Sie sie wie jedes andere gemountete Dateisystem mit umount
aushängen Befehl:
sudo umount /general
Herzlichen Glückwunsch! Sie haben den NFS-Server erfolgreich installiert. Vielen Dank, dass Sie dieses Tutorial zur Installation des NFS-Servers auf dem Ubuntu 20.04 LTS Focal Fossa-System verwendet haben. Für zusätzliche Hilfe oder nützliche Informationen empfehlen wir Ihnen, die offizielle NFS-Website.