GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So richten Sie NFS-Server und -Client unter Rocky/Alma Linux 8 ein

Rocky Linux 8 unterstützt die NFS-Versionen 3 (NFSv3) und 4 (NFSv4). Die Standard-NFS-Version ist 4.2, die Unterstützung für Zugriffssteuerungslisten (ACLs), serverseitiges Kopieren, Sparse-Dateien, Speicherplatzreservierung, beschriftetes NFS, Layoutverbesserungen und vieles mehr bietet.

In diesem Handbuch erfahren Sie, wie Sie den NFS-Server und den NFS-Client unter Rocky Linux 8 installieren und konfigurieren.

Voraussetzungen

  • Aktualisierter Rocky Linux Server zur Verwendung als Server und ein weiterer für den Client
  • Konnektivität von den Servern
  • Sudo-Zugriff von den Servern

Inhaltsverzeichnis

  1. Stellen Sie sicher, dass der Server aktualisiert ist
  2. Installieren Sie die NFS-Pakete
  3. Starten und Aktivieren des NFS-Servers
  4. Aktivieren des NFS-Dienstes in der Firewall
  5. Konfigurieren von Exporten auf NFS-Server
  6. Einrichten von NFS-Client-Systemen

1. Sicherstellen, dass der Server auf dem neuesten Stand ist

Bevor Sie fortfahren, stellen Sie sicher, dass der Server auf dem neuesten Stand ist. Verwenden Sie diesen Befehl, um dies zu erreichen:

sudo dnf -y update

2. Installieren Sie die NFS-Pakete

Das Paket nfs-utils stellt einen Daemon für den Kernel-NFS-Server und verwandte Tools bereit, wie z. B. das enthält den showmount Programm. Verwenden Sie diesen Befehl, um das Paket zu installieren:

sudo dnf install -y nfs-utils

3. NFS-Server starten und aktivieren

Sobald die NFS-Pakete erfolgreich installiert sind, können wir den NFS-Server starten und aktivieren. Verwenden Sie diesen systemctl-Befehl, um den Server zu starten:

sudo systemctl start nfs-server

Bestätigen Sie den Status des Dienstes mit diesem Befehl:

$ sudo systemctl status nfs-server
● nfs-server.service - NFS server and services
   Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled)
   Active: active (exited) since Thu 2022-01-13 17:54:19 UTC; 36s ago
  Process: 59320 ExecStart=/bin/sh -c if systemctl -q is-active gssproxy; then systemctl reload gssproxy ; fi (code=exited, status=0/SUCCESS)
  Process: 59308 ExecStart=/usr/sbin/rpc.nfsd (code=exited, status=0/SUCCESS)
  Process: 59305 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
 Main PID: 59320 (code=exited, status=0/SUCCESS)

Jan 13 17:54:18 dev-rockysrv.inv.re systemd[1]: Starting NFS server and services...
Jan 13 17:54:19 dev-rockysrv.inv.re systemd[1]: Started NFS server and services.

Die obige Ausgabe zeigt, dass der Dienst erfolgreich gestartet wurde. Um den Dienst beim Systemstart starten zu lassen, verwenden Sie diesen Befehl:

sudo systemctl enable nfs-server

Bitte beachten Sie, dass die anderen Dienste, die für den Betrieb eines NFS-Servers oder das Mounten von NFS-Freigaben erforderlich sind, wie nfsdnfs-idmapd , rpcbind , rpc.mountd , lockd , rpc.statd , rpc.rquotad und rpc.idmapd wird automatisch gestartet.

4. Aktivieren des NFS-Dienstes in der Firewall

Wenn Sie firewalld installiert und aktiviert haben, müssen Sie die NFS-Dienste aktivieren. Sie müssen Datenverkehr zu den erforderlichen NFS-Diensten zulassen (mountdnfsrpc-bind ) über die Firewall, und laden Sie dann die Firewall-Regeln wie folgt neu, um die Änderungen zu übernehmen.

sudo firewall-cmd --permanent --add-service=nfs
sudo firewall-cmd --permanent --add-service=rpc-bind
sudo firewall-cmd --permanent --add-service=mountd
sudo firewall-cmd --reload

5. Exporte auf NFS-Server konfigurieren

Die Konfigurationsdateien für den NFS-Server befinden sich in diesen Pfaden:

  • /etc/nfs.conf – dies ist die Hauptkonfigurationsdatei für die NFS-Daemons und -Tools
  • /etc/nfsmount.conf – Dies ist die NFS-Mount-Konfigurationsdatei

Lassen Sie uns Dateisysteme zum Exportieren oder Freigeben auf dem NFS-Server erstellen. Wir werden zwei Dateisysteme zum Starren erstellen, /mnt/nfs_shares/files für freigegebene Dateien und /mnt/nfs_shares/backup für Sicherungen.

Lassen Sie uns die Verzeichnisse auf dem Server erstellen

sudo mkdir -p /mnt/nfs_shares/files
sudo mkdir -p /mnt/nfs_shares/backup

Bestätigen

$ sudo ls /mnt/nfs_shares
backup	files

Fügen Sie dann die obigen Dateisysteme in der Exportdatei /etc/exports hinzu im NFS-Server, um die lokalen Dateisysteme zu bestimmen, die an die NFS-Clients exportiert werden.

Öffnen Sie die Exportdatei mit Ihrem Texteditor

sudo vim /etc/exports

Fügen Sie dann diesen Inhalt hinzu:

/mnt/nfs_shares/files  	10.70.5.170(rw,sync)
/mnt/nfs_shares/backup  10.70.5.0/24(rw,sync,no_all_squash,root_squash)

Dies sind die Exportoptionen, die verwendet werden können:

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

Sobald die Dateisysteme in der Exportdatei definiert sind, müssen wir die exportfs ausführen Befehl, damit sie exportiert werden. Die exportfs können mit dem -a ausgeführt werden Flag bedeutet Exportieren oder Exportieren aller Verzeichnisse, -r d. h. 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.

sudo exportfs -arv

Dies ist die Ausgabe auf meinem Server

$ sudo exportfs -arv
exporting 10.70.5.170:/mnt/nfs_shares/files
exporting 10.70.5.0/24:/mnt/nfs_shares/backup

Führen Sie den folgenden Befehl aus, um die aktuelle Exportliste anzuzeigen. Bitte beachten Sie, dass die exportfs-Tabelle auch einige Standardoptionen anwendet, die nicht explizit definiert sind:

$ sudo exportfs  -s
/mnt/nfs_shares/files  10.70.5.170(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
/mnt/nfs_shares/backup  10.70.5.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)

6. Einrichten von NFS-Client-Systemen

Nachdem wir die Exporte auf dem Server konfiguriert haben, können wir vom Clientsystem aus darauf zugreifen. Melden Sie sich beim Client-System an und installieren Sie die erforderlichen Pakete, um den Zugriff auf NFS-Freigaben zu ermöglichen.

Auf RHEL-basierten Systemen:

sudo dnf install -y nfs-utils nfs4-acl-tools

Auf Debian/Ubuntu-basierten Distributionen:

sudo apt install nfs-common nfs4-acl-tools

Wir können dann den Befehl showmount ausführen, um Mount-Informationen für den NFS-Server anzuzeigen. Der Befehl gibt exportierte Dateisysteme auf dem Server aus

showmount -e 10.70.5.221

Ausgabe

$ showmount -e 10.70.5.221
Export list for 10.70.5.221:
/mnt/nfs_shares/backup 10.70.5.0/24
/mnt/nfs_shares/files  10.70.5.170

Erstellen Sie ein lokales Dateisystemverzeichnis zum Mounten der entfernten NFS-Dateisysteme und hängen Sie es als NFS-Dateisystem ein

mkdir -p ~/backups
mkdir -p ~/nfs_files
sudo mount -t nfs  10.70.5.221:/mnt/nfs_shares/backup ~/backups
sudo mount -t nfs  10.70.5.221:/mnt/nfs_shares/files ~/nfs_files

Wir können dann bestätigen, dass das Remote-Dateisystem gemountet wurde, indem wir mount ausführen Befehl und Filter nfs Halterungen.

sudo mount | grep nfs

Ausgabe auf meinem Rechner

$ sudo mount | grep nfs
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
10.70.5.221:/mnt/nfs_shares/backup on /home/rocky/backups type nfs4 (rw,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.70.5.170,local_lock=none,addr=10.70.5.221)
10.70.5.221:/mnt/nfs_shares/files on /home/rocky/nfs_files type nfs4 (rw,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.70.5.170,local_lock=none,addr=10.70.5.221)

Damit das Einhängen auch nach einem Systemneustart dauerhaft bleibt, fügen Sie die Einträge zu /etc/fstab hinzu Datei. Verwenden Sie diese Befehle (als root), um dies zu erreichen:

echo "10.70.5.221:/mnt/nfs_shares/backup     /home/rocky/backups  nfs     defaults 0 0" >> /etc/fstab
echo "10.70.5.221:/mnt/nfs_shares/files     /home/rocky/nfs_files  nfs     defaults 0 0" >> /etc/fstab

Testen Sie abschließend, ob NFS Setup funktioniert einwandfrei, indem Sie eine Datei auf dem Server erstellen und prüfen, ob die Datei im Client angezeigt wird.

Auf dem Server:

sudo touch /mnt/nfs_shares/files/file_on_server.txt

Dann auf dem Client-Rechner bestätigen

$ ls ~/nfs_files/
file_on_server.txt

Sie können auch umgekehrt vorgehen. Auf dem Client:

touch ~/nfs_files/file_on_client.txt

Dann auf dem Server bestätigen:

$ ls /mnt/nfs_shares/files/
file_on_client.txt  file_on_server.txt

Um das entfernte Dateisystem auf der Client-Seite zu unmounten.

sudo umount /mnt/nfs_shares/files
sudo umount /mnt/nfs_shares/backup

Bitte beachten Sie, dass Sie nicht unmount können das entfernte Dateisystem, wenn Sie darin arbeiten.

Schlussfolgerung

In dieser Anleitung haben wir es geschafft, einen NFS-Server und -Client auf Rocky Linux 8 zu installieren und zu konfigurieren.


Linux
  1. Einrichten eines NFS-Servers und -Clients unter Scientific Linux 6.3

  2. So richten Sie einen NFS-Mount unter Rocky Linux 8 ein

  3. So installieren und konfigurieren Sie PHP und Nginx (LEMP) unter Rocky Linux/Alma Linux 8

  4. So installieren und konfigurieren Sie Squid Proxy unter Rocky Linux/Alma Linux 8

  5. So installieren und konfigurieren Sie Linux NTP-Server und -Client

So konfigurieren Sie die FreeIPA-Replikation unter Rocky Linux/Alma Linux/Centos 8

So installieren Sie Webmin in Rocky Linux/Alma Linux 8

So stellen Sie Datum und Uhrzeit auf Rocky Linux 8 Desktop und Server ein

So richten Sie NFS-Server und -Client unter CentOS 8 ein

So installieren und konfigurieren Sie einen NFS-Server auf einem Linux-System

So installieren und konfigurieren Sie einen Linux Ubuntu NFS-Server