Quicktrick – NFS Share erstellen

Inhalte

Zum schnellen nachprogrammieren…

Los Geht’s

Installation

Für die Installation brauchen wir nicht viel. Alles was wir brauchen ist in dem Standard Repository drinnen. Egal ob Ubuntu oder Debian oder Raspbian… ggf. suchen 😉 Wir installieren den NFS Server, ein NFS Client und das Tool rpcbind, das uns das scannen von nfs-shares ermöglicht.

apt-get install nfs-kernel-server nfs-common rpcbind

Autostart einrichten

Per systemd comand, werden wir den NFS Server autostart aktivieren.

systemctl enable rpcbind
systemctl enable nfs-server

NFS Server starten

Nun starten wir alle erforderlichen Dienste.

systemctl start rpcbind
systemctl start nfs-server
systemctl start rpc-statd
systemctl start nfs-idmapd

Share Verzeichnis erstellen

In meinem Beispiel möchte ich gern das Verzeichnis /nfs-server/files mit allen 192.168.10.24/24 Clients teilen.

#erstellen des Share-Ordners
mkdir -p /nfs-server/files
#Anschließend das Verzeichnis der nogroup zuweisen
chown -R nogroup:nogroup /nfs-server/files
#oder
chmod -R 777 /nfs-server/files

Share vorbereiten

Das veröffentlichen passiert in dem man die /etc/exports Datei editiert. Wir tragen dort unser Share ein.

# /etc/exports: the access control list for filesystems which may be exported
#               to NFS clients.  See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
#
/nfs-server/files     192.168.10.24/24(rw,sync,no_subtree_check,no_root_squash)

Zur Erklärung:

Jede Zeile in der Exports Datei ist für ein Share verantwortlich. Ein Share kann auch mehrere Hostnamen bzw. Clientberechtigungen enthalten. Siehe Export Beschreibung. Die Struktur ist immer die gleiche:

/zum/share/verzeichnis IP-Adresse oder Hostname(Berechtigungen)

Erklärung der wichtigsten Berechtigungen:

  • rw = Read and Write Erlaubt das Lesen und schreiben in dem Share
  • ro = Read Only Schreibgesützter Zugriff. Nur lesenden Zugriff ist erlaubt
  • sync = Synchroner Datentransfer
  • async = Mehr Schreibleistung zum Gunsten des Datenverlusts.
  • no_root_squash = Verweißt alle Schreiboperationen auf den User anonymous zu. Es findet kein matching der Benutzer und Benutzergruppen statt
  • root_squash = Verweißt Schreiboperationen zum User Root zu.

Mehr Infos findet ihr in der Ubuntu Dokumentation.

NFS-Share aktivieren

Nun veröffentlichen wir die Shares mit dem exportbefehl exportfs. Damit Bezwecken wir, dass die Export Datei neu eingelesen wird.

exportfs -ra

Oder den Service neu starten

systemctl restart nfs-server

Das wars. Nun können wir auf der Client Seite den Share mit der Ip Adresse suchen und mounten.

Nützliche Befehle

Mit folgenden Befehlen kann man verschiedene nützliche Operationen durchführen.

#Zeigt alle Shares an
exportfs -v

NFS Verzeichnisse auf dem Client suchen

Auf einem Linux System kann man dies mit dem Befehl showmountund der Ip Adresse des NFS Server tuhen.

showmount -e NFS-SERVER 

Hat man das Ziel gefunden kann man dies mit dem mount Befehl in das System einbinden.

Mounten auf Linux Systemen

Dies erledigen wir mit dem sehr mächtigen Programm mount. Zuvor sollten wir uns noch ein Mountpoint aussuchen in meinem Fall, möchte ich gern unter /mnt/freigabe-namen die Freigabe haben. Ggf. vorhher den freigabe-namen Ordner erstellen.

mount <IP-Adresse>:/pfad/zum/share /mnt/freigabe-namen

Möchte man den Mount dauerhaft im System haben, so fügt man dies in der /tect/fstab Tabelle hinzu.

<IP-Adresse>:/pfad/zum/share /mnt/freigabe-namen nfs rw 0 0

Auf der Ubuntu Dokumentation wird ganz gut erklärt, welche Parameter gesetzet werden können.

Viel Spaß 🙂

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 0 / 5. Anzahl Bewertungen: 0

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert