Raspberry Pi: NAS einbinden und beim Start mounten

Ich möchte kurz beschreiben, wie man einen Ordner aus einem NAS-System im Raspberry Pi mounted.

Ich wollte mit meinem Pi regelmäßige Backups einiger Ordner durchführen und diese Ordner in regelmäßigen Intervallen, gepackt auf meinem NAS speichern.

Das Einbinden des NAS ist wirklich einfach gemacht.

Zuerst erstellen wir den Ordner, in dem der NAS Inhalt verlinkt sein soll. Z.B:

cd
mkdir NAS
cd /NAS
mkdir Backups

Ich habe nun einen Ordner NAS mit dem Unterordner Backups erstellt.

In Backups möchte ich den Inhalt meines Backup-Verzeichnisses auf dem NAS mounten.

Hierzu wird die fstab editiert:

sudo nano /etc/fstab

Am Ende der Datei folgende Zeile einfügen:

//IP.DES.EIGENEN.NAS/Backups /NAS/Backups cifs username=BENUTZERNAME,password=PASSWORD,uid=pi,gid=debian-transmission 0 0

Anzupassen sind die Adresse des NAS, der Pfad zum zu mountenden Ordner auf dem NAS, sowie Eure Zugangsdaten für den Zugriff aufs NAS.

Das war´s auch schon. Nach einem Neustart sollte im gewählten Ordner der Inhalt des Netzwerkspeichers zu sehen sein. Dieser kann wie ein lokaler Ordner behandelt werden und Dateien gespeichert oder abgerufen werden. Die Lese- und Schreibrechte sind allerdings in diesem Fall von den Rechten Eures NAS Users abhängig mit dem Ihr Euch einloggt.

12 Gedanken zu „Raspberry Pi: NAS einbinden und beim Start mounten

  1. Jonas

    Wenn ich die fstab datei speichere und dann den Pi neu starte, sind die Änderungen verschwunden..Gibt es da eine Lösung für?
    VG Jonas

    Antworten
    1. Helmut Rockstroh

      Status Juli 2021, Pi4, WD NAS mit cifs: Es gibt jede menge tips, welche auf fstab abzielen.
      Zumindest oft (So auch bei mir) ist aber die fstab Abarbeitung so früh im boot Prozess, dass die Verbindung mit dem externen Laufwerk (NAS) noch nicht hinreichend steht (Offenbar ist das Herstellen dieser Verbindung ein mehrstufiger Prozess, den Forenbeiträgen nach). Dann gibt es diese Diskussionen was ist „sauber“ und was nicht. Ganz schwierig und offenbar auch ist es nicht für jede Anwendung (Hier NAS mounten bei startup) für jede Hware Konfiguration möglich, eine „saubere“ Lösung zu finden (Sagen wir, „sauber“ ist relativ). Obwohl einige es für „unsauber“ halten scheint eine recht einfache -und zudem minimal invasive Strategie zu sein, dass man einfach dem System etwas zeit gibt, indem ein „sleep x“ Befehl in ein auszuführendes Skript eingebaut wird.
      Ausserdem fstab klapp manches nicht für (für mich relevantes System cifs (anders als offenbar für nfs). Insb.
      Was bei mir geklappt hat mit meiner WD ist es im crontab die mount Befehle einzufügen. Das ging sogar!! ohne sleep.
      Meine Lösung mit separaten mount Befehlen pro Ordner ist vielleicht nicht die eleganteste.
      Schön aber, dass die Anwendung auf die ich es eigentlich abzielte, ebenfalls sich beim installieren ins Crontab eingeschrieben hatte!! Die muss sinnvollerweise ans Ende und ich gebe eine kleine sleep Pause mit, damit Asset nicht sofort versucht auf die frisch gemountetetn Ordner zuzugreifen (Ich könnte ja gleich mal testen, ob ich den sleep Befehl überhaupt noch brauche für meine Konfiguration.
      $ crontab -e (RETURN)
      # Dann
      @reboot sudo mount -o username=adminhr9,password=“Y-uE+5&Pvjo“ //192.168.178.26$
      @reboot sudo mount -o username=adminhr9,password=“Y-uE+5&Pvjo“ //192.168.178.26$
      @reboot sudo mount -o username=adminhr9,password=“Y-uE+5&Pvjo“ //192.168.178.26$
      @reboot sleep 30s
      # Asset war schon drin bevor ich die mount befehle zufuegte. Aber ich denke, Ass$
      @reboot /home/pi/bin/AssetUPnP/AssetUPnP

      Antworten
  2. jameschilddouglas@yahoo.de

    Hi! Danke für das Tutorial, vielleicht könnte man noch erwähnen, dass die Pfade genau geprüft werden sollten … habe mehrere Stunden damit verbracht heraus zu finden, dass mein Pi den Ordner „/test“ im base path angelegt hat und dort mein NAS gemounted hat und nicht in /home/pi/test (!) … natürlich war das eigene Dummheit aber eine Notiz wäre da sicherlich hilfreich.

    Eventuell auch nützlich wäre die Erwähnung, dass man die uid und die gid selber herausfinden muss. So wie oben geschrieben hat es bei mir leider nicht funktioniert. Ich musste die Zahlenwerte eintragen. Dazu einfach „id“ in das Terminal eintippen und entsprechende Werte auslesen

    Antworten
    1. zeitzefv

      Sehr guter Hinweis und sehr guter Artikel, habe ne ganze weile gesucht 🙂

      Zur Veranschaulichung
      //192.168.2.XXX/FOTOS /123 cifs username=USERNAME,password=PASSWORT,uid=pi,gid=pi 0 0

      verbindet den Freigegebenen Ordner „FOTOS“ vom PC mit der IP 192.168.2.XXX mit dem Laufwerk 123 auf dem Raspberry, hierfür wird USERNAME und PASSWORT als authentifizierung genutzt.

      uid und gid waren bei mir gleich , wichtig: nicht die Zahl, welche vor den Klammern steht, verwenden:

      pi@raspbPlex:~/123 $ id
      uid=1000(pi) gid=1000(pi) …

      kann man gut nutzen wenn man seinen Plex Medienserver auf nem Rasp laufen lassen will und schon ein oder 2 NAS Geräte mit einer Fotosammlung im Netzwerk stehen hat. 😉

      Als Hinweis, falls man PC mit Windows 10 als Freigabe verwendet, muss man darauf achten, das in den netzwerkeinstellungen die Kennwortgeschütze Freigabe deaktiviert ist!

      VG

      Antworten
  3. poet

    Danke für das Script. Aber da stimmt doch was nicht, oder?
    ..
    cd
    mkdir NAS
    cd /NAS
    mkdir Backups“
    ..
    NAS liegt ja nicht im root?!
    Also:
    cd ~/NAS
    oder
    cd NAS

    Antworten
  4. Pingback: My Homepage

  5. Werner

    bei mir funktioniert es leider nicht. Ich kann das NAS Laufwerk über die Kommandozeile mounten, aber in der Fstab klappt es nicht.
    in /var/log/syslog steht:

    Feb 26 15:24:55 raspberrypi systemd[1]: home-pi-filme.mount: Mount process exited, code=exited status=32
    Feb 26 15:24:55 raspberrypi systemd[1]: Failed to mount /home/pi/filme.
    Feb 26 15:24:55 raspberrypi systemd[1]: Dependency failed for Remote File Systems.
    Feb 26 15:24:55 raspberrypi systemd[1]: remote-fs.target: Job remote-fs.target/start failed with result ‚dependency‘.
    Feb 26 15:24:55 raspberrypi systemd[1]: home-pi-filme.mount: Unit entered failed state.
    Feb 26 15:24:55 raspberrypi systemd[1]: home-pi-mp3.mount: Mount process exited, code=exited status=32
    Feb 26 15:24:55 raspberrypi systemd[1]: Failed to mount /home/pi/mp3.
    Feb 26 15:24:55 raspberrypi systemd[1]: home-pi-mp3.mount: Unit entered failed state.

    Antworten
  6. Bernie

    geht mir genauso – fstab wird nicht ausgeführt hinsichtlich des mounts des NAS.
    Wenn ich mich dann aber über ssh einlogge und ’sudo mount -a‘ eingebe, dann funktioniert das. fstab ist also nicht falsch, aber zu dem Zeitpunkt, an dem das ausgeführt wird, geht’s aus irgendwelchen Gründen nicht.

    Antworten
    1. Steffen

      Das hier hat bei mir beim selben Problem funktioniert: x-systemd.automount als weiteren Parameter (kommasepariert) angeben. Dann läuft das später nochmals los…

      Jun 6 20:34:44 Raspi1500 systemd[1]: systemd-hostnamed.service: Succeeded.
      Jun 6 20:38:56 Raspi1500 systemd[1]: Started Session c2 of user pi.
      Jun 6 20:39:07 Raspi1500 systemd[1]: home-pi-backup-backupmount.automount: Got automount request for /home/pi/backup/backupmount, triggered by 2878 (bash)
      Jun 6 20:39:07 Raspi1500 systemd[1]: Mounting /home/pi/backup/backupmount…
      Jun 6 20:39:07 Raspi1500 kernel: [ 306.674851] FS-Cache: Netfs ‚cifs‘ registered for caching
      Jun 6 20:39:07 Raspi1500 kernel: [ 306.675243] Key type cifs.spnego registered
      Jun 6 20:39:07 Raspi1500 kernel: [ 306.675257] Key type cifs.idmap registered
      Jun 6 20:39:12 Raspi1500 systemd[1]: Mounted /home/pi/backup/backupmount.

      Antworten
      1. Steffen

        Sorry, halbe Wahrheit. Erstmal passiert nichts, aber wenn man dann darauf zugreift (z.B. in der Bash), dann wird es automatisch gemountet.

        Antworten
  7. Tyrion

    vielen Dank an den Autor und auch an zeitzefv für den Hinweis mit der ID. Da war bei mir der Fehler, warum nach dem Booten das Netzlaufwerk nicht da war…

    Antworten

Kommentar verfassen