So richten Sie NFS Server auf CentOS 7 / RHEL 7 ein

NFS steht für Network File System und hilft Ihnen, Dateien und Ordner zwischen Linux / Unix-Systemen freizugeben, die 1990 von SUN Microsystems entwickelt wurden. Mit NFS können Sie eine Remote-Freigabe lokal bereitstellen.

Diese Anleitung hilft Ihnen beim Einrichten des NFS-Servers unter CentOS 7 / RHEL 7.

Vorteile von NFS

  • Datei- / Ordnerfreigabe zwischen * Nix-Systemen
  • Ermöglicht das lokale Mounten von Remote-Dateisystemen
  • Kann als zentrales Speichersystem fungieren
  • Es kann als Speicherdomäne (Datenspeicher) für VMware und andere Virtualisierungsplattformen verwendet werden.
  • Ermöglicht es Anwendungen, Konfigurations- und Datendateien mit mehreren Knoten zu teilen.
  • Ermöglicht die Aktualisierung von Dateien in der gesamten Freigabe.

Wichtige Dienste

Die folgenden wichtigen NFS-Dienste sind in nfs-utils-Paketen enthalten.

rpcbind: Der rpcbind-Server wandelt RPC-Programmnummern in universelle Adressen um.

nfs-Server: Ermöglicht Clients den Zugriff auf NFS-Freigaben.

nfs-lock / rpc-statd: Sperren von NFS-Dateien. Implementieren Sie die Wiederherstellung der Dateisperre, wenn ein NFS-Server abstürzt und neu startet.

nfs-idmap: Es übersetzt Benutzer- und Gruppen-IDs in Namen und übersetzt Benutzer- und Gruppennamen
in IDs

Wichtige Konfigurationsdateien

Sie würden hauptsächlich an den folgenden Konfigurationsdateien arbeiten, um NFS-Server und -Clients einzurichten.

/etc/exporte: Es ist die Hauptkonfigurationsdatei, steuert, welche Dateisysteme auf Remote-Hosts exportiert werden, und gibt Optionen an.

/etc/fstab: Diese Datei wird verwendet, um zu steuern, welche Dateisysteme, einschließlich NFS-Verzeichnisse, beim Systemstart eingehängt werden.

/etc/sysconfig/nfs: Diese Datei wird verwendet, um zu steuern, auf welchen Ports die erforderlichen RPC-Dienste ausgeführt werden.

/etc/hosts.erlauben und /etc/hosts.verweigern: Diese Dateien werden TCP-Wrapper genannt, steuert den Zugriff auf den NFS-Server. Es wird von NFS verwendet, um zu entscheiden, ob eine Verbindung von einer anderen IP-Adresse akzeptiert werden soll oder nicht.

Umgebung

Hier werde ich CentOS 7 minimal für diese Demo verwenden. Dieses Handbuch sollte auch auf Oracle Linux- und Fedora-Systemen funktionieren.

NFS-Server

Hostname: Server.itzgeek.lokale (CentOS 7)
IP-Adresse: 192.168.1.10/24

NFS-Client

Hostname: Client.itzgeek.lokale (CentOS 7)
IP-Adresse: 192.168.1.20/24

NFS-Server konfigurieren

NFS-Server installieren

Installieren Sie das folgende Paket für NFS-Server mit dem Befehl yum.

yum install -y nfs-utils

Sobald die Pakete installiert sind, aktivieren und starten Sie die NFS-Dienste.

systemctl start nfs-server rpcbindsystemctl enable nfs-server rpcbind

NFS-Freigabe erstellen

Lassen Sie uns nun ein Verzeichnis erstellen, das für den NFS-Client freigegeben werden soll. Hier werde ich ein neues Verzeichnis namens nfsfileshare in der / Partition erstellen.

Sie können Ihr vorhandenes Verzeichnis auch für NFS freigeben.

mkdir /nfsfileshare

Erlauben Sie dem NFS-Client, das erstellte Verzeichnis zu lesen und in dieses zu schreiben.

chmod 777 /nfsfileshare/

Wir müssen die Datei /etc/exports ändern, um das Verzeichnis /nfsfileshare einzugeben, das Sie freigeben möchten.

vi /etc/exports

Erstellen Sie eine NFS-Freigabe wie unten beschrieben.

/nfsfileshare 192.168.1.20(rw,sync,no_root_squash)

/ nfsfileshare: freigegebenes Verzeichnis

192.168.1.20: IP-Adresse des Client-Rechners. Wir können auch den Hostnamen anstelle einer IP-Adresse verwenden. Es ist auch möglich, den Bereich der Clients mit Subnetz wie 192.168.1.0 / 24 zu definieren.

rw: Beschreibbare Berechtigung zum freigegebenen Ordner

sync: Alle Änderungen am entsprechenden Dateisystem werden sofort auf die Festplatte gespült; Die entsprechenden Schreiboperationen werden abgewartet.

no_root_squash: Standardmäßig wird jede Dateianforderung, die vom Benutzer root auf dem Clientcomputer gestellt wird, wie von Benutzer nobody auf dem Server behandelt. (Welche UID genau der Anforderung zugeordnet ist, hängt von der UID des Benutzers „nobody“ auf dem Server ab, nicht vom Client.) Wenn no_root_squash ausgewählt ist, hat root auf dem Clientcomputer dieselbe Zugriffsebene auf die Dateien auf dem System wie root auf dem Server.

Sie können alle Optionen in der Manpage man exports oder hier kennenlernen.

Exportieren Sie die freigegebenen Verzeichnisse mit dem folgenden Befehl.

exportfs -r

Extras:

exportfs -v: Zeigt eine Liste der freigegebenen Dateien und Exportoptionen auf einem Server an.
exportfs -a: Exportiert alle Verzeichnisse, die in /etc/exports aufgelistet sind.
exportfs -u: UnExport eines oder mehrerer Verzeichnisse.
exportfs -r: Exportiert alle Verzeichnisse erneut, nachdem /etc/exports geändert wurde.

Nach der Konfiguration des NFS-Servers müssen wir dieses freigegebene Verzeichnis im NFS-Client bereitstellen.

Firewall konfigurieren

Wir müssen die Firewall auf dem NFS-Server konfigurieren, damit der NFS-Client auf die NFS-Freigabe zugreifen kann. Führen Sie dazu die folgenden Befehle auf dem NFS-Server aus.

firewall-cmd --permanent --add-service mountdfirewall-cmd --permanent --add-service rpc-bindfirewall-cmd --permanent --add-service nfsfirewall-cmd --reload

NFS-Client konfigurieren

NFS-Client installieren

Wir müssen NFS-Pakete auf dem NFS-Client installieren, um eine Remote-NFS-Freigabe bereitzustellen. Installieren Sie NFS-Pakete mit dem folgenden Befehl.

yum install -y nfs-utils

NFS-Freigabe prüfen

Vor dem Mounten der NFS-Freigabe bitte ich Sie, die auf dem NFS-Server verfügbaren NFS-Freigaben zu überprüfen, indem Sie den folgenden Befehl auf dem NFS-Client ausführen.

Ersetzen Sie die IP-Adresse durch die IP-Adresse oder den Hostnamen Ihres NFS-Servers.
showmount -e 192.168.1.10

Ausgabe:

Export list for 192.168.1.10:/nfsfileshare 192.168.1.20

Gemäß der Ausgabe ist / nfsfileshare auf dem NFS-Server (192.168.1.10) für den NFS-Client (192.168.1.20) verfügbar.

Extras:

showmount -e : Zeigt die verfügbaren Freigaben auf Ihrem lokalen Rechner (NFS-Server) an.
showmount -e <server-ip oder Hostname>: Listet die verfügbaren Freigaben auf dem Remote-Server auf

Mount NFS Share

Erstellen Sie nun ein Verzeichnis auf dem NFS-Client, um die NFS share /nfsfileshare zu mounten, die wir auf dem NFS-Server erstellt haben.

mkdir /mnt/nfsfileshare

Verwenden Sie den folgenden Befehl, um eine NFS-Freigabe / nfsfileshare vom NFS-Server 192.168.1.10 in / mnt / nfsfileshare auf dem NFS-Client bereitzustellen.

mount 192.168.1.10:/nfsfileshare /mnt/nfsfileshare

Überprüfen Sie die gemountete Freigabe auf dem NFS-Client mit dem Befehl mount.

mount | grep nfs

Ausgabe:

ssunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)nfsd on /proc/fs/nfsd type nfsd (rw,relatime)192.168.1.10:/nfsfileshare on /mnt/nfsfileshare type nfs4 (rw,relatime,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.20,local_lock=none,addr=192.168.1.10)

Sie können auch den Befehl df -hT verwenden, um die gemountete NFS-Freigabe zu überprüfen.

df -hT

Ausgabe:

Filesystem Type Size Used Avail Use% Mounted on/dev/mapper/centos-root xfs 50G 1.2G 49G 3% /devtmpfs devtmpfs 485M 0 485M 0% /devtmpfs tmpfs 496M 0 496M 0% /dev/shmtmpfs tmpfs 496M 6.7M 490M 2% /runtmpfs tmpfs 496M 0 496M 0% /sys/fs/cgroup/dev/mapper/centos-home xfs 47G 33M 47G 1% /home/dev/sda1 xfs 1014M 154M 861M 16% /boottmpfs tmpfs 100M 0 100M 0% /run/user/0192.168.1.10:/nfsfileshare nfs4 50G 1.2G 49G 3% /mnt/nfsfileshare

Erstellen Sie eine Datei im eingehängten Verzeichnis, um den Lese- und Schreibzugriff auf die NFS-Freigabe zu überprüfen.

touch /mnt/nfsfileshare/test

Wenn der obige Befehl keinen Fehler zurückgibt, haben Sie ein funktionierendes NFS-Setup.

NFS-Freigaben automatisch einhängen

Um die Freigaben bei jedem Neustart automatisch einzuhängen, müssen Sie die Datei /etc/fstab Ihres NFS-Clients ändern.

vi /etc/fstab

Fügen Sie einen Eintrag wie unten hinzu.

## /etc/fstab# Created by anaconda on Wed Jan 17 12:04:02 2018## Accessible filesystems, by reference, are maintained under '/dev/disk'# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info#/dev/mapper/centos-root / xfs defaults 0 0UUID=60a496d0-69f4-4355-aef0-c31d688dda1b /boot xfs defaults 0 0/dev/mapper/centos-home /home xfs defaults 0 0/dev/mapper/centos-swap swap swap defaults 0 0192.168.1.10:/nfsfileshare /mnt/nfsfileshare nfs nosuid,rw,sync,hard,intr 0 0

Speichern und schließen Sie die Datei.

Starten Sie den Clientcomputer neu und prüfen Sie, ob die Freigabe automatisch gemountet wird oder nicht.

reboot

Überprüfen Sie die gemountete Freigabe auf dem NFS-Client mit dem Befehl mount.

mount | grep nfs

Ausgabe:

sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)192.168.1.10:/nfsfileshare on /mnt/nfsfileshare type nfs4 (rw,nosuid,relatime,sync,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.20,local_lock=none,addr=192.168.1.10)

Wenn Sie das freigegebene Verzeichnis von Ihrem NFS-Client aushängen möchten, nachdem Sie mit der Dateifreigabe fertig sind, können Sie das jeweilige Verzeichnis mit dem Befehl umount aushängen.

umount /mnt/nfsfileshare

Fazit

Sie haben den NFS-Server und den NFS-Client unter CentOS 7 / RHEL 7 erfolgreich eingerichtet. Wenn Sie keine statischen Mounts verwenden möchten, können Sie AutoFS unter CentOS 7 so konfigurieren, dass NFS-Freigaben nur dann bereitgestellt werden, wenn ein Benutzer darauf zugreift.

You might also like

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.