Netzwerkdateisystem (NFS ), auch bekannt als Client/Server-Dateisystem, ist ein beliebtes, plattformübergreifendes und verteiltes Dateisystemprotokoll, das verwendet wird, um lokale Dateisysteme über das Netzwerk zu exportieren, sodass Clients Verzeichnisse und Dateien über ein Netzwerk mit anderen teilen und mit ihnen interagieren können, als ob sie es wären werden lokal gemountet.
In CentOS/RHEL 8 , die unterstützte NFS-Version ist NFSv3 und NFSv4 und die Standard-NFS-Version ist 4.2, die Unterstützung für Zugriffskontrolllisten (ACLs), serverseitiges Kopieren, Sparse-Dateien, Speicherplatzreservierung, beschriftetes NFS, Layoutverbesserungen und vieles mehr bietet.
In diesem Artikel erfahren Sie, wie Sie den NFS-Server installieren und konfigurieren und NFS-Client auf CentOS/RHEL 8 Linux-Distributionen.
Voraussetzungen:
- CentOS 8-Installationsanleitung
- RHEL 8 Minimalinstallation
- RHEL-Abonnement in RHEL 8 aktivieren
- Festlegen einer statischen IP-Adresse in CentOS/RHEL 8
Unsere Testumgebung:
NFS Server IP: 10.20.20.8 NFS Client IP: 10.20.20.9
Einrichten des NFS-Servers auf CentOS 8
1. Installieren Sie zunächst die erforderlichen Pakete auf dem NFS Server. Die Pakete sind nfs-utils das einen Daemon für den Kernel-NFS-Server und verwandte Tools bereitstellt, wie z. B. das showmount enthält Programm.
Führen Sie den folgenden Befehl aus, um das Paket auf dem NFS zu installieren Server (verwenden Sie sudo wenn Sie das System als Nicht-Root-Benutzer verwalten).
# dnf install nfs-utils
NFS unter CentOS 8 installieren
2. Starten Sie nach Abschluss der Installation den nfs-server Dienst, aktivieren Sie ihn so, dass er beim Systemstart automatisch gestartet wird, und überprüfen Sie dann seinen Status mit den systemctl-Befehlen.
# systemctl start nfs-server.service # systemctl enable nfs-server.service # systemctl status nfs-server.service
Überprüfen Sie den NFS-Serverstatus
Beachten Sie, dass die anderen Dienste, die zum Ausführen eines NFS-Servers oder zum Mounten von NFS-Freigaben wie nfsd erforderlich sind , nfs-idmapd , rpcbind , rpc.mountd , gesperrt , rpc.statd , rpc.rquotad und rpc.idmapd wird automatisch gestartet.
Die Konfigurationsdateien für den NFS-Server sind:
- /etc/nfs.conf – Hauptkonfigurationsdatei für die NFS-Daemons und -Tools.
- /etc/nfsmount.conf – eine NFS-Mount-Konfigurationsdatei.
3. Erstellen Sie als Nächstes die Dateisysteme, die exportiert oder auf dem NFS freigegeben werden sollen Server. Für diesen Leitfaden erstellen wir vier Dateisysteme, von denen drei von Mitarbeitern aus drei Abteilungen verwendet werden:Personalwesen, Finanzen und Marketing, um Dateien gemeinsam zu nutzen, und eines für Root-Benutzer-Backups.
# mkdir -p /mnt/nfs_shares/{Human_Resource,Finance,Marketing} # mkdir -p /mnt/backups # ls -l /mnt/nfs_shares/
4. Exportieren Sie dann die oben genannten Dateisysteme in den NFS-Server /etc/exports Konfigurationsdatei, um lokale physische Dateisysteme zu bestimmen, auf die NFS-Clients zugreifen können.
/mnt/nfs_shares/Human_Resource 10.20.20.0/24(rw,sync) /mnt/nfs_shares/Finance 10.20.10.0/24(rw,sync) /mnt/nfs_shares/Marketing 10.20.30.0/24(rw,sync) /mnt/backups 10.20.20.9/24(rw,sync,no_all_squash,root_squash)
Hier sind einige der Exportoptionen (lesen Sie man exports für weitere Informationen und Exportieren Optionen):
- w – erlaubt sowohl lesenden als auch schreibenden Zugriff auf das Dateisystem.
- synchronisieren – weist den NFS-Server an, Operationen zu schreiben (Informationen auf die Festplatte zu schreiben), wenn dies angefordert wird (gilt standardmäßig).
- all_squash – ordnet alle UIDs und GIDs von Client-Anfragen dem anonymen Benutzer zu.
- no_all_squash – verwendet, um alle UIDs und GIDs von Client-Anfragen auf identische UIDs und GIDs auf dem NFS-Server abzubilden.
- root_squash – ordnet Anfragen vom Root-Benutzer oder UID/GID 0 vom Client der anonymen UID/GID zu.
5. Um das obige Dateisystem zu exportieren, führen Sie exportfs aus Befehl mit dem -a
Flag bedeutet alle Verzeichnisse exportieren oder deexportieren, -r
bedeutet alle Verzeichnisse erneut exportieren und /var/lib/nfs/etab synchronisieren mit /etc/exports und Dateien unter /etc/exports.d , und -v aktiviert die ausführliche Ausgabe.
# exportfs -arv
NFS-Freigaben exportieren
6. Führen Sie den folgenden Befehl aus, um die aktuelle Exportliste anzuzeigen. Beachten Sie, dass die Exporte Tabelle wendet auch einige der standardmäßigen Exporte an Optionen, die nicht explizit definiert sind, wie im folgenden Screenshot gezeigt.
# exportfs -s
NFS-Freigaben auflisten
7. Als nächstes, wenn Sie die Firewalld haben Dienst ausgeführt wird, müssen Sie Datenverkehr zu den erforderlichen NFS-Diensten zulassen (mountd , nfs , rpc-bind ) über die Firewall, und laden Sie dann die Firewall-Regeln wie folgt neu, um die Änderungen zu übernehmen.
# firewall-cmd --permanent --add-service=nfs # firewall-cmd --permanent --add-service=rpc-bind # firewall-cmd --permanent --add-service=mountd # firewall-cmd --reload
Öffnen Sie die NFS-Dienste in der Firewall
Einrichten des NFS-Clients auf Client-Systemen
8. Installieren Sie nun auf den Client-Knoten die erforderlichen Pakete für den Zugriff auf NFS Freigaben auf den Client-Systemen. Führen Sie den entsprechenden Befehl für Ihre Distribution aus:
# dnf install nfs-utils nfs4-acl-tools [On CentOS/RHEL] $ sudo apt install nfs-common nfs4-acl-tools [On Debian/Ubuntu]
9. Führen Sie dann showmount aus Befehl, um Mount-Informationen für den NFS-Server anzuzeigen. Der Befehl sollte das exportierte Dateisystem wie im Screenshot gezeigt auf dem Client ausgeben.
# showmount -e 10.20.20.8
NFS-Freigaben auf dem Clientsystem anzeigen
9. Erstellen Sie als Nächstes ein lokales Dateisystem/Verzeichnis zum Mounten des entfernten NFS-Dateisystems und hängen Sie es als NTF-Dateisystem ein.
# mkdir -p /mnt/backups # mount -t nfs 10.20.20.8:/mnt/backups /mnt/backups
10. Bestätigen Sie dann, dass das Remote-Dateisystem gemountet wurde, indem Sie mount ausführen Befehl und Filter nfs Halterungen.
# mount | grep nfs
Überprüfen Sie die NFS-Mounts auf dem Client-System
11. Um das Mount auch nach einem Systemneustart persistent zu machen, führen Sie den folgenden Befehl aus, um den entsprechenden Eintrag in /etc/fstab einzugeben .
# echo "10.20.20.8:/mnt/backups /mnt/backups nfs defaults 0 0">>/etc/fstab # cat /etc/fstab
NFS-Freigabe dauerhaft auf dem Clientsystem bereitstellen
12. Testen Sie zuletzt, ob NFS Setup funktioniert einwandfrei, indem Sie eine Datei auf dem Server erstellen und prüfen, ob die Datei im Client angezeigt wird.
# touch /mnt/backups/file_created_on_server.text [On NFS Server] # ls -l /mnt/backups/file_created_on_server.text [On NFS client]
NFS-Setup vom Client testen
Dann umgekehrt.
# touch /mnt/backups/file_created_on_client.text [On NFS Client] # ls -l /mnt/backups/file_created_on_client.text [On NFS Server]
NFS-Setup vom Server testen
13. Um das entfernte Dateisystem auf der Client-Seite zu unmounten.
# umount /mnt/backups
Beachten Sie, dass Sie nicht unmounten können das Remote-Dateisystem, wenn Sie darin arbeiten, wie im folgenden Screenshot gezeigt.
NFS-Bereitstellungsfehler
Das ist es! In dieser Anleitung haben wir gezeigt, wie man ein NFS installiert und konfiguriert Server und Client in CentOS/RHEL 8. Wenn Sie irgendwelche Gedanken teilen oder Fragen haben, verwenden Sie das Kommentarformular unten, um uns zu kontaktieren.
Sharing is Caring…Auf Facebook teilenAuf Twitter teilenAuf Linkedin teilenAuf Reddit teilen