Artikel & Guides

NAS Freigabe schnell auf Raspberry Pi einbinden

letzte Änderung: 7. Juli 2022

Keine Lust mehr ständig die NAS Freigabe auf deinem Raspberry Pi manuell zu mounten? Automount schlägt fehl, da deine Netzwerkverbindung zum Startzeitpunkt noch nicht richtig vorhanden ist? Oder du möchtest einfach, dass sobald die Verbindung nicht mehr genutzt wird, diese wieder ausgehangen wird?
Hier zeige ich dir eine mögliche Lösung für diese kleinen Desaster!

ACHTUNG! Bitte lesen!
Du benutzt das hier Gezeigte natürlich, wie immer, auf eigenes Risiko!
Ich habe alles selbst durchgeführt und mir mein System nicht zerschossen oder sonst irgendwelche negativen Auffälligkeiten bemerkt.
Aber dennoch… Backups sind immer gut….
Ich übernehme keine Haftung für irgendwelche Schäden am System, der Hardware oder der Katze….

NAS Freigabe via NFS auf Raspberry Pi mounten

Da wir ein Netzlaufwerk mounten wollen, welches via automount scheitern würde sollte die Verbindung zum Netzwerk beim Systemstart nicht vorhanden sein, benutzen wir hier „autofs“.
Damit lassen sich Partitionen erst bei Bedarf einhängen und werden bei längerer Nichtbenutzung auch wieder ausgehängt.
Lediglich der erste Zugriff dauert ein klein wenig länger.

NFS auf dem Ziel-Host aktivieren

Da wir das NFS-Protokoll verwenden, muss natürlich auf dem ZielSystem, welches eingebunden werden soll, NFS aktiviert werden.
NFS (Network File System) ist ein von Sun Microsystems entwickeltes Protokoll das den Zugriff auf Dateien über ein Netzwerk ermöglicht.
Wie dieses Protokoll auf z.B. Synology NAS oder WDMyCloud aktiviert werden kann musst du in deren Hilfe nachlesen. Meist ist dies aber über eine GUI sehr einfach möglich.

Bei einer Synology NAS findest du diese Einstellung auf der WebGUI unter: Systemsteuerung -> Dateidienste -> SMB/AFP/NFS:


NFS Beispiel Synology NAS

Berechtigung für NFS einrichten

Auf dem NAS muss jetzt evtl. noch die entsprechende Berechtigung für die NAS Freigabe erteilt werden.
In meinem Beispiel habe ich auf einem Synology NAS einen gemeinsamen Ordner erstellt und die NFS-Freigabe unter dem entsprechenden Reiter eingestellt. Hier muss die IP (oder die IP-Range) des Raspberry Pi eingetragen werden.:

NFS Freigabe für Raspberry Pi

autofs auf dem Raspberry Pi installieren

Vor neuen Installationen auf deinem Raspberry Pi immer erst das System updaten 😉 Wie das geht kannst du hier nachlesen!

Zuerst loggen wir uns via Putty, MobaXterm oder ähnlichem auf dem Raspberry ein und installieren autofs:

sudo apt-get install autofs

Jetzt benötigen wir noch eine entsprechende Map-Datei, bzw bearbeiten diese:

sudo nano /etc/auto.nfs

Hier tragen wir das einzubindende Verzeichnis ein (NAS Freigabe):
z.B.192.168.X.X: /volume1/raspberry_backup (volume1 ist der Name Deines Festplatten-Raids auf der NAS – kann natürlich, genauso wie die IP, anders bei dir lauten).
Am Anfang steht der MountPunkt – hier „backup“:

Achtung: Für QNAP bitte das /volume1/ nicht angeben

backup -fstype=nfs,rw,retry=0 192.168.X.X:/volume1/raspberry_backup

Anschließend die Datei speichern und schließen. (STRG+X Yes/Ja)

Jetzt müssen wir noch in der Master-Datei eintragen dass auch die gerade erzeugte Map-Datei beachtet werden soll:

sudo nano /etc/auto.master

Am Ende der Datei fügen wir folgende Zeile hinzu:
hinter /home/nfs werden dann die Volumes aus auto.nfs eingehangen.
In diesem Beispiel wäre es dann /home/nfs/backup

/home/nfs /etc/auto.nfs

Anschließend die Datei auch wieder speichern und schließen. (STRG+X Yes/Ja)
Jetzt müssen wir die Änderungen auch noch wirksam machen:

sudo service autofs restart

Zum testen ob das mounten auch funktioniert können wir entweder das System neu starten (sudo reboot ) oder es manuell versuchen:
Stelle aber vorher sicher, dass in dem einzubindenden Verzeichnis auch Inhalt vorhanden ist. Und wenn es nur eine leere txt-Datei ist.

Mount
ls /home/nfs/backup  (hier das "backup" entsprechend anpassen. Je nachdem wie du die Freigabe eingehangen hast - in auto.nfs)

Jetzt solltest du den Inhalt deiner NAS Freigabe sehen.

Fehlersuche

Solltest du die Freigabe nicht auf dem Raspberry sehen, dann versuche folgende Dinge:

Prüfe ob NFS überhaupt freigegeben wurde: (natürlich mit deiner IP vom NAS)
Als Ergebnis sollte dir dein freigegebener Ordner angezeigt werden.

showmount -e 192.168.1.2

Ist diese vorhanden, du aber dennoch nichts auf dem Laufwerk siehst, dann prüfe die Log-Datei und auch ob überhaupt etwas in der Freigabe vorhanden ist (mindestens eine Datei sollte dort liegen):

sudo cat /var/log/syslog | grep -i automount

Oft liegt es auch nur an einem Berechtigungsproblem bei einer NFS-Freigabe. Um dies recht einfach herauszufinden probiere folgendes.
Gehe in das Verzeichnis unter dem du deine Freigabe mounten willst. In meinem Beispiel wäre es: /home/nfs/

cd /home/nfs

Von hier aus versuchst du jetzt auf deine Freigabe zuzugreifen (bei mir „backup“)

cd backup 

erscheint jetzt „cd: backup: keine Berechtigung“ hat der angemeldete User keine Berechtigungen dazu, das Laufwerk ist aber gemounted.
Sollte hier aber „cd: backup: Datei oder Verzeichnis nicht gefunden“ erscheinen, dann ist das Laufwerk tatsächlich nicht vorhanden, hier hilft vielleicht das Log-File weiter.

Sollte es an den Berechtigungen liegen, dann kannst du diesen Fehler schnell beheben indem du diese für den einzuhängenden Ordner änderst.
Für den „backup“ Ordner kannst du mit chmod 777 (Freigabe für alles und jeden…) es mit sudo wie folgt ändern:

sudo chmod 777 backup  

Danach wirst du mit „cd backup“ deine Freigabe sehen können.

Für weitere Hilfe zu NFS bzw NAS Freigabe kannst du mich gerne kontaktieren. Entweder über die Kommentare oder auch sehr gerne via Discord (oben rechts neben der Kaffeetasse 😉 )

NAS Freigabe via SMB auf Raspberry Pi mounten

Die möchtest deine Freigaben mit SMB und autofs einbinden?
Dann wirst du in diesem Artikel von mir fündig!

Schwierigkeiten beim mounten? Fehler? Keine Berechtigung?

In diesem Artikel gehe ich auf diverse Schwierigkeiten beim mounten mit autofs ein und biete ein paar Lösungen.
Sobald neue Probleme gemeldet werden – die ich auch lösen kann – werde ich sie in dem Artikel aktualisieren.
Natürlich kannst du mich auch gerne via Discord anschreiben wenn du Hilfe benötigst

Feedback kannst du gerne hier abgeben 🙂
Fragen natürlich auch !


Du würdest auch gerne Feedback geben?
Mir mitteilen dass ich dir helfen konnte?
Einfach nur „Danke“ sagen?
Oder mir etwas mitteilen was nicht so toll war?
Du hast ein Problem oder nur eine Frage?
Na dann los!

Möchtest du diese Seite und mich sogar unterstützen?!

Du kannst mich z.B. auf Patreon besuchen und kleinere Pakete schnüren. Es gibt dann auch ein paar Vorzüge 🙂

11 Gedanken zu „NAS Freigabe schnell auf Raspberry Pi einbinden“

  1. Hallo,
    ich habe auch versucht, nach der guten Anleitung ein Backup auf meiner NAS einzurichten. Hat bis zum ersten Reboot auch alles geklappt. Das Verzeichnis und die Testdatei auf dem NAS waren sichtbar. Nach jedem Reboot ist aber alles wieder wie vor der Installation!
    Ich habe dann herausgefunden, dass bei jedem reboot das Verzeichnis /nfs unter dem Verzeichnis /home, das ich nach dem Beispiel angelegt habe, wieder gelöscht ist.
    Beim Installieren ist /home/nfs da und mit cd backup wird daraus /home/nfs/backup, in dem dann die Testdatei zu sehen ist. Nach dem reboot ist dann nur noch /home vorhanden. Woran kann das liegen?

    Antworten
  2. @Bernd (sehe gerade ich muss dann wohl mal „tiefere“ Ebenen erlauben bei den Kommentaren… 😉

    Huhu Bernd,

    alles gut, wenn ich kann versuche ich ja auch zu helfen 🙂

    Dein Ergebnis vom Status sieht doch erstmal gut aus.

    Wenn du versucht auf den Ordner zuzugreifen, was bekommst du dann genau für einen Fehler? Not found oder keine Berechtigung?
    Also cd /home/nfs/backup

    Und ja, die Berechtigungen sind auch wichtig. Im meinem Beispiel wird alles als root angelegt und abgerufen. Dies funktioniert dann auch direkt.
    Ansonsten müssen die UID bzw. GID von dem user auf dem Raspberry mit dem/der Grupppe auf dem Synology NAS übereinstimmen.

    Wenn es nur ein Berechtigungsproblem ist, versuche mal zum testen folgendes (sofern du ein Synology NAS hast):

    Gehe zu deinem „gemeinsamer Ordner“ (raspberry_backup) auf Eigenschaften, dann NFS-Berechtigungen, Dann auf die freigegeben IP und „bearbeiten“.
    Jetzt bei „squash“ – „Alle Benutzer zu Admin zuordnen“ auswählen und speichern.
    Nun sollte jeder User von der freigegeben IP den Ordner sehen können (auf deinem Raspberry)

    lg
    DarkWolf

    Antworten
  3. Hallo DarkWolf,.

    vielen Dank für die Anleitung, habe nur ein kleines Problem: das Verzeichnis /home/nfs/public wird nicht angelegt.
    Mit showmount -e 192.168.178.x bekomme ich
    Export list for 192.168.178.x: /volume1/raspberry_backup 192.168.178.y

    aber mit sudo cat /var/log/syslog | grep -i automount folgende Fehlermeldung:
    Feb 3 20:11:48 openHABianDevice automount[1224]: key „public“ not found in map source(s).
    Feb 3 20:13:28 openHABianDevice automount[1224]: key „public“ not found in map source(s).
    Feb 3 20:18:09 openHABianDevice automount[1224]: key „etc“ not found in map source(s).
    Feb 3 20:20:06 openHABianDevice systemd[1]: Stopping Automounts filesystems on demand…
    Feb 3 20:20:06 openHABianDevice automount[1224]: umount_autofs_indirect: ask umount returned busy /home/nfs
    Feb 3 20:20:08 openHABianDevice systemd[1]: Stopped Automounts filesystems on demand.
    Feb 3 20:20:08 openHABianDevice systemd[1]: Starting Automounts filesystems on demand…
    Feb 3 20:20:08 openHABianDevice systemd[1]: Started Automounts filesystems on demand.
    Feb 3 20:22:13 openHABianDevice automount[17788]: key „etc“ not found in map source(s).
    Feb 3 20:24:38 openHABianDevice automount[17788]: key „etc“ not found in map source(s).
    Feb 3 20:26:55 openHABianDevice systemd[1]: Stopping Automounts filesystems on demand…
    Feb 3 20:26:56 openHABianDevice automount[17788]: umount_autofs_indirect: ask umount returned busy /home/nfs
    Feb 3 20:26:57 openHABianDevice systemd[1]: Stopped Automounts filesystems on demand.
    Feb 3 20:26:57 openHABianDevice systemd[1]: Starting Automounts filesystems on demand…
    Feb 3 20:26:57 openHABianDevice systemd[1]: Started Automounts filesystems on demand.
    Feb 3 20:27:06 openHABianDevice automount[18147]: key „none“ not found in map source(s).
    Feb 3 20:27:22 openHABianDevice automount[18147]: validate_location: expected colon delimeter not found in location 192.168.178.x:
    Feb 3 20:38:49 openHABianDevice automount[18147]: key „etc“ not found in map source(s).

    Weiss leider nicht weiter. Irgendeine Idee?

    Bernd

    Antworten
    • Hallo Bernd,
      da scheint was nicht zu stimmen 😉

      was steht bei dir in der auto.nfs und auto.master ?

      cat /etc/auto.master
      cat /etc/auto.nfs

      in der auto.nfs steht am Anfang das Verzeichnis welches unter Linux eingebunden werden soll (z.B Backup) – im hinteren Teil dann die IP deiner NAS und Namen des Volumens und der Ordner. In deinem Beispiel 192.168.178.x:/volume1/raspberry_backup (Doppelpunkt nicht vergessen zwischen IP und /volume).

      In der master.nfs am Anfang der Pfad auf deiner Linuxumgebung wo „Backup“ angehangen werden soll. In meinem Beispiel habe ich unter home das Verzeichnis „nfs“ erstellt: /home/nfs dahinter der Pfad zur auto.nfs – sollte unter /etc/auto.nfs liegen.

      Dann neu Service oder den Pi neu starten.

      Ansonsten können wir uns das auch gerne mal zusammen anschauen – am einfachsten über Discord (oben rechts auf Support) – und keine Sorge, kostet nix.

      lg
      DarkWolf

      Antworten
      • Hallo DarkWolf,

        vielen Dank für die Hinweise.

        Ich habe alles nochmal auf Tippfehler checkt, aber es ist alles 1:1 nach Deiner Anleitung.

        Was mir allerdings aufgefallen ist, man kann den Ordner /backup nicht manuell erstellen, egal welcher user, auch nicht mit sudo su.
        Es erscheint immer die Meldung: mkdir: cannot create directory ‘/home/nfs/backup’: Permission denied

        Ist das normal?

        Gruß Bernd

        Antworten
        • Hi Bernd,

          sorry wenn meine Antworten immer etwas dauern, aber da ich das ganze eher als Hobby betreibe und zur Zeit arbeitstechnisch etwas eingebunden bin, schaffe ich es leider nicht schneller.

          Dass du keinen neuen Ordner in dem „mount“-Bereich erstellen kannst ist normal.
          Auch dass du den Ordner erst einmal nicht siehst ist nicht ungewöhnlich.
          Je nachdem mit welchem user du den einbinden wolltest, solltest du aber mit cd /home/nfs/backup hineingelangen. (sicherstellen das eine Datei auf dem NAS in dem Ordner liegt)
          Bekommst du bei dem Versuch den Fehler mit keine Berechtigungen, dann wäre der Ordner im Prinzip trotzdem vorhanden.

          Nur dein Log macht mir „Sorgen“ – denn diese Fehler sagen eigentlich aus, dass dort etwas falsch geschrieben steht bzw falsch interpretiert wird.

          key „none“ not found in map source(s).
          Feb 3 20:27:22 openHABianDevice automount[18147]: validate_location: expected colon delimeter not found in location 192.168.178.x:
          Feb 3 20:38:49 openHABianDevice automount[18147]: key „etc“ not found in map source(s).

          Was kommt denn wenn du diesen Befehl ausführst?

          sudo service autofs status

          Nicht aufgeben… bekommen wir schon irgendwie hin 😉

          lg

          DarkWolf

          Antworten
          • Hallo DarkWolf,

            sorry dass ich Deine Geduld so strapaziere, kann immer noch keinen Fehler finden, bin irgendwie wohl blind.

            also der log von „sudo service autofs status“ ist so:
            ● autofs.service – Automounts filesystems on demand
            Loaded: loaded (/lib/systemd/system/autofs.service; enabled; vendor preset: enabled)
            Active: active (running) since Sat 2021-02-06 19:38:05 CET; 5min ago
            Process: 1191 ExecStart=/usr/sbin/automount $OPTIONS –pid-file /var/run/autofs.pid (code=exited, status=0/SUCCESS)
            Main PID: 1205 (automount)
            Tasks: 4 (limit: 4915)
            CGroup: /system.slice/autofs.service
            └─1205 /usr/sbin/automount –pid-file /var/run/autofs.pid

            Feb 06 19:38:04 openHABianDevice systemd[1]: Starting Automounts filesystems on demand…
            Feb 06 19:38:05 openHABianDevice systemd[1]: Started Automounts filesystems on demand.

            Was mir noch einfällt: Ich habe den user, unter dem das Ganze läuft, nachträglich erstellt. Braucht es vielleicht irgendeine spezielle Gruppenzugehörigkeit, damit der Dienst läuft?
            „id pi“ gibt:“uid=1002(pi) gid=100(users) groups=100(users),4(adm),5(tty),20(dialout),24(cdrom),27(sudo),29(audio),44(video),46(plugdev),60(games),105(input),109(netdev),111(ssh),112(bluetooth),999(spi),998(i2c),997(gpio),118(mosquitto)“

            Antworten

Schreibe einen Kommentar