Einrichten eines NFS-Servers und -Clients unter CentOS
NFS steht für „Network File System“ und ist ein verteiltes Dateisystemprotokoll, das für den Austausch von Dateien und Ordnern zwischen Linux-basierten Betriebssystemen verwendet wird. Mit NFS kannst du ein entferntes Dateisystem lokal über ein Netzwerk einhängen. Mit NFS kannst du Dateien und Verzeichnisse für mehrere Rechner freigeben und die Dateien über die Freigabe aktualisieren. NFS ist die beste Wahl für dich, wenn du nach einer zentralisierten Speicherlösung suchst.
In diesem Lernprogramm zeigen wir dir, wie du einen NFS-Server und -Client unter CentOS 8 einrichtest.
Voraussetzungen
- Zwei Server, auf denen CentOS 8 läuft.
- Eine statische IP-Adresse 172.20.10.4 wird auf dem NFS-Server und 172.20.10.3 auf dem NFS-Client konfiguriert.
- Ein Root-Passwort ist auf beiden Servern konfiguriert.
Erste Schritte
Standardmäßig ist SELinux in CentOS 8 Server aktiviert. Daher musst du es zuerst deaktivieren.
Dies kannst du tun, indem du die Datei /etc/selinux/config bearbeitest:
nano /etc/selinux/config
Nimm die folgenden Änderungen vor:
SELINUX=disabled
Speichere und schließe die Datei. Starte dann dein System neu, um die Änderungen zu übernehmen.
NFS-Server installieren
Standardmäßig ist das NFS-Paket im Standard-Repository von CentOS 8 verfügbar. Du kannst es installieren, indem du den folgenden Befehl ausführst:
dnf install nfs-utils
Nachdem du den NFS-Server installiert hast, starte den NFS-Dienst und aktiviere ihn so, dass er nach einem Neustart des Systems startet:
systemctl start nfs-server systemctl enable --now nfs-server
Du kannst den Status des NFS-Dienstes auch mit dem folgenden Befehl überprüfen:
systemctl status nfs-server
Du solltest die folgende Ausgabe sehen:
? 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 2019-11-07 02:07:09 EST; 1s ago Process: 9721 ExecStart=/bin/sh -c if systemctl -q is-active gssproxy; then systemctl reload gssproxy ; fi (code=exited, status=0/SUCCESS) Process: 9699 ExecStart=/usr/sbin/rpc.nfsd (code=exited, status=0/SUCCESS) Process: 9698 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS) Main PID: 9721 (code=exited, status=0/SUCCESS) Nov 07 02:07:09 centos8 systemd[1]: Starting NFS server and services... Nov 07 02:07:09 centos8 systemd[1]: Started NFS server and services.
NFS-Freigabe erstellen
In diesem Abschnitt erstellen wir zwei Verzeichnisse /nfsshare/data und /nfsshare/backup und geben sie per NFS frei.
Erstelle zunächst die erforderlichen Verzeichnisse mit den folgenden Befehlen:
mkdir -p /nfsshare/data mkdir -p /nfsshare/backup
Gib den Verzeichnissen mit dem folgenden Befehl volle Berechtigung:
chmod -R 777 /nfsshare
Als nächstes musst du die erstellten Verzeichnisse exportieren, indem du die Datei /etc/exports bearbeitest:
nano /etc/exports
Füge die folgenden Zeilen ein:
/nfsshare/data 172.20.10.0/24(rw,sync,no_subtree_check) /nfsshare/backup 172.20.10.0/24(ro,sync,no_subtree_check,no_root_squash)
Speichere und schließe die Datei. Führe dann den folgenden Befehl aus, um dein Verzeichnis im Netzwerk freizugeben:
exportfs -ra
Du musst den obigen Befehl jedes Mal ausführen, wenn du die Datei /etc/exports änderst.
Du kannst die aktiven Exporte mit dem folgenden Befehl sehen:
exportfs -v
Du solltest die folgende Ausgabe sehen:
/nfsshare/data 172.20.10.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash) /nfsshare/backup 172.20.10.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,ro,secure,no_root_squash,no_all_squash)
Firewall konfigurieren
Als Nächstes musst du SSH (für Verwaltungszwecke) und den NFS-Dienst über Firewalld zulassen, um auf die NFS-Freigabe vom entfernten System zuzugreifen. Führe den folgenden Befehl aus, um SSH und den NFS-Dienst über Firewalld zuzulassen:
firewall-cmd --permanent --zone=public --add-service=ssh firewall-cmd --permanent --zone=public --add-service=nfs firewall-cmd --reload
NFS Client installieren
Melde dich beim NFS-Client-System an und installiere das NFS-Client-Paket mit dem folgenden Befehl:
dnf install nfs-utils
Sobald die Installation abgeschlossen ist, kannst du die auf dem NFS-Server verfügbaren NFS-Freigaben mit dem folgenden Befehl überprüfen:
showmount -e 172.20.10.4
Du solltest die folgende Ausgabe sehen:
Export list for 172.20.10.4: /nfsshare/backup 172.20.10.0/24 /nfsshare/data 172.20.10.0/24
Einhängen der NFS-Freigaben auf dem Client
Als Nächstes erstellst du zwei Verzeichnisse auf dem Client-Rechner, in die du die NFS-Freigaben einhängen möchtest.
mkdir /home/backup mkdir /home/data
Hänge die Verzeichnisse auf dem NFS-Server mit den folgenden Befehlen ein:
mount -t nfs4 172.20.10.4:/nfsshare/data /home/data mount -t nfs4 172.20.10.4:/nfsshare/backup /home/backup
Jetzt kannst du die eingehängten NFS-Freigaben mit dem folgenden Befehl überprüfen:
df -h
Du solltest die folgende Ausgabe sehen:
Filesystem Size Used Avail Use% Mounted on /dev/sda1 92G 36G 51G 42% / none 4.0K 0 4.0K 0% /sys/fs/cgroup none 5.0M 0 5.0M 0% /run/lock none 1.9G 65M 1.9G 4% /run/shm none 100M 44K 100M 1% /run/user /dev/sda5 184G 104G 71G 60% /home 172.20.10.4:/nfsshare/data 13G 1.8G 11G 14% /home/data 172.20.10.4:/nfsshare/backup 13G 1.8G 11G 14% /home/backup
Wenn du die NFS-Freigaben aushängen willst, führe folgende Befehle aus:
umount /home/data umount /home/backup
NFS-Freigaben aushängen
Wenn du die NFS-Freigaben bei jedem Neustart automatisch einhängen willst, bearbeite die Datei /etc/fstab auf dem Client-Rechner:
nano /etc/fstab
Füge die folgenden Zeilen hinzu:
172.20.10.4:/nfsshare/data /home/data nfs4 rw,sync,hard,intr 0 0 172.20.10.4:/nfsshare/backup /home/backup nfs4 rw,sync,hard,intr 0 0
Speichere und schließe die Datei, wenn du fertig bist.
Jetzt kannst du den Rechner neu starten und die Einhängepunkte bleiben auch nach dem Neustart erhalten.
Fazit
Herzlichen Glückwunsch! Du hast den NFS Server und Client unter CentOS 8 erfolgreich installiert und konfiguriert. Dein Server ist jetzt bereit, Dateien bereitzustellen. Denke daran, dass NFS nicht sehr sicher ist, deshalb wird empfohlen, die Kerberos-Authentifizierung zu aktivieren.