NAS dauerhaft mounten über /etc/fstab

  • Hallo

    Ich hab Raspbian Stretch auf vmware installiert (zum Testen für den echten Rasp, wo ich auch Stretch drauf hab).

    Ich möchte die NAS-Freigabe dauerhaft einbinden, wie der TE.


    Ich habe es erst mal mit der fstab probiert und das geht auch teilweise. Leider aber nur, wenn ich mit mount -a das Mounten anstoße.

    Beim Neustart ist die Freigabe noch nicht da. Gibt es da noch einen Trick vielleicht?
    Ich habe in die fstab eingetragen:

    Code
    ...
    //192.168.0.100/share    /home/pi/shares/nas/share    cifs    credentials=/etc/smbcredentials    0    0

    In /etc/smbcredentials ist der Login.

    Wie gesagt, mit mount -a ist die Freigabe sofort gemountet, aber beim Neustart dann wieder weg.

    Ich würde gerne die komplizierte Lösung (s.o.) vermeiden, lieber noch ein Startscript erstellen, wo es dann mount -a ausführt, weil dann geht es ja ohne Fehler.

    Aber ich vermute ich habe einfach etwas vergessen.

    Jemand einen Tipp?

    Danke, franc

    Raspberry Pi 3 B Plus an einem BenQ WDP01

    Als Gehilfe: Sony SVF1421A4E (W10pro-64)

  • ...

    Ich würde gerne die komplizierte Lösung (s.o.) vermeiden, lieber noch ein Startscript erstellen, wo es dann mount -a ausführt, weil dann geht es ja ohne Fehler

    ...

    OK, ich habe noch etwas rumprobiert und noch angehängt:

    Code
    ...
    //192.168.0.100/share    /home/pi/shares/nas/share    cifs    credentials=/etc/smbcredentials,uid=1000,gid=1000,vers=1.0    0    0

    Und jetzt scheint es zu gehen :)

    Ich verstehe auch nicht, warum es nicht über fstab hätte gehen sollen. Das ist ja grundlegendes Unix.

    Ich vermute, das vers=1.0 ist das entscheidende.

    Ich habe als NAS einen alten Buffalo NAS, mit einem betagten OS.

    Raspberry Pi 3 B Plus an einem BenQ WDP01

    Als Gehilfe: Sony SVF1421A4E (W10pro-64)

  • Ich verstehe auch nicht, warum es nicht über fstab hätte gehen sollen. Das ist ja grundlegendes Unix.

    Weil die fstab aufgrund teilweiser paralleler Starts von Diensten zu einem Zeitpunkt bearbeitet wird, zu dem im Regelfall noch gar kein Netzwerk verfügbar ist. Wenn es bei Dir jetzt geklappt hat, war das ein zufälliges Ergebnis, dessen Wiederholung allerdings auch nur wieder vom Zufall abhängt. Was Du mit grundlegendes Linux meinst, ist das seit mehreren Jahren nicht mehr unterstützte Boot-Prozedere durch die von sysvinit praktizierte Serialität. Grundlegendes „modernes" Management des Systemstarts ist systemd, also der von Hofei beschriebene Link. Mein Rat wäre auch, dem unbedingt zu folgen...

  • Ich finde diese Lösung mit systemd deutlich umständlicher.


    Ich habe es mit fstab doch hingekriegt, aber nicht mit nur mit dem Parameter vers=1.0 sondern mit den zusätzlichen Einträgen:

    Code
    ...
    //192.168.0.100/share    /home/pi/shares/nas/share    cifs    credentials=/etc/smbcredentials,uid=1000,gid=1000,x-systemd.automount,x-systemd.requires=network-online.target    0    0

    Das habe ich so im Elektronik-Kompendium: "Samba-Freigaben und mit "fstab" automatisch mounten/einhängen" gelesen. Die Parameter (x-systemd.automount und x-systemd.requires=network-online.target) funktionieren aber scheints erst ab Raspbian Jessie. Ich hab aber sowieso das aktuelle Stretch.

    Also.


    Ich hab jetzt ein paar mal neu gestartet und jedes Mal war die Freigabe noch da.

    Raspberry Pi 3 B Plus an einem BenQ WDP01

    Als Gehilfe: Sony SVF1421A4E (W10pro-64)

  • Weil die fstab aufgrund teilweiser paralleler Starts von Diensten zu einem Zeitpunkt bearbeitet wird,

    und die fstab auch wiederum in eine systemd Unit übersetzt wird



    ch habe es mit fstab doch hingekriegt

    jeder wie er will, die Ambitionen für meine Anleitung, befinden sich in dieser ganz am Anfang ;)

  • OK, falls es doch noch rumzicken sollte und das jetzt nur glückliche Zufälle waren, dann werde ich das systemd Skript verbauen. Danke schon mal vorab dafür.


    EDIT: Sonderbar. Auf der Raspbian Stretch-VM (mit vmware) ging das noch ohne den rc.local Startskript Eintrag (mount -a mit zuvor sleep) aber auf dem echten Rasp mit dem selben OS ging es nicht und ich musste mit dem Startskripteintrag rumpfuschen.

    Außerdem musste ich das vers=1.0 wieder einfügen, weil ich eine Host is down Fehlermeldung bekommen hatte (siehe Mount CIFS Host is down).

    Raspberry Pi 3 B Plus an einem BenQ WDP01

    Als Gehilfe: Sony SVF1421A4E (W10pro-64)

    Edited 3 times, last by franc ().

  • Hallo @franc,

    ich war auch kurz vor dem verzeifeln ich hab aber eine Lösung im Internet gefunden.. zu deinem Eintrag in fstab noch folgendes machen:


    Code
    sudo nano  /etc/rc.local

    und dort folgendes eintragen (vor dem exit 0 noch):

    Code
    sleep 10
    mount -a

    somit wartet der Raspi 10 Sekunden bevor er mountet... (du kannst auch den sleep wert auf 20 Sekunden stellen) musst du ausprobieren...

  • Ja genau, ohne das ging es zwar in der Rasp-Stretch-VM aber nicht im echten Rasp, das hatte ich dann auch noch rein.

    Scheints nimmt der die o.g. Parameter nicht so ernst wie die VM ;)

    Raspberry Pi 3 B Plus an einem BenQ WDP01

    Als Gehilfe: Sony SVF1421A4E (W10pro-64)

  • Ja genau, ohne das ging es zwar in der Rasp-Stretch-VM aber nicht im echten Rasp, das hatte ich dann auch noch rein.

    Scheints nimmt der die o.g. Parameter nicht so ernst wie die VM ;)

    Ah okay ja ich bin am echten Raspi verzweifelt aber das hat bei mir den Erfolg gebracht :)

  • ich war auch kurz vor dem verzeifeln ich hab aber eine Lösung im Internet gefunden.. zu deinem Eintrag in fstab noch folgendes machen:


    Code
    sudo nano  /etc/rc.local

    Ja, das kann man alles machen. Es ist und bleibt aber ein äußerst dreggscher Würgoround, der immer dann auf die Nase fällt, wenn warum auch immer sich die Zeiten oder andere Randbedingungen verändern. Abgesehen davon ist es ein Glücksfall, dass Deine Programme sleep und mount ohne die Angabe absoluter Pfade überhaupt funktionieren.


    Hofei hat mehrfach seine Anleitung erwähnt, nicht ohne Grund

  • Ja, das kann man alles machen. Es ist und bleibt aber ein äußerst dreggscher Würgoround, der immer dann auf die Nase fällt, wenn warum auch immer sich die Zeiten oder andere Randbedingungen verändern. Abgesehen davon ist es ein Glücksfall, dass Deine Programme sleep und mount ohne die Angabe absoluter Pfade überhaupt funktionieren.

    :thumbup:


    Ja, Du hast absolut Recht ... das ist wirklich kein guter Ratschlag, dessen funktionieren vermutlich auch zeitlich begrenzt ist. Die rc.local ist seit Jahren outdated und gilt als obsolete. Hier eine Sichtweise dazu: https://unix.stackexchange.com…instead-of-re-creating-rc


    Man weiss also gar nicht, wie lange das noch unterstützt wird. Jetzt keine Service-Units zu verwenden, bedeutet nichts anderes, als Probleme in die Zukunft zu verschieben. Darüber hinaus wird die rc.local auch nur von einer autogenerierten Service-Unit mit Default-Dependencies gestartet.... also wäre auch hier der beste Weg, direkt eine eigene Service-Unit an den Start zu schicken und auf den Quatsch mit der rc.local zu verzichten. Auch der Automount im obigen Beispiel läuft ebenfalls NUR über maschinell generierte Mount-Units. In dem Falle allerdings voraussichtlich problemlos.


    Für alle Jobs, für die maschinell Service-Units generiert werden müssen, können auch nur maschinelle Default-Einstellungen angewandt werden, die mal gut passen, ein anderes Mal gar nicht. Das heisst, bei dem einen funktionierts, beim anderen sind damit völlig unnötige Probleme vorprogrammiert.


    Für entfernte Ressoucen würde ich immer eigene Service-Units vorsehen und die fstab NUR für lokale und physisch (Hardware) vorhandene Speichermedien verwenden.

    Edited once, last by WinterUnit16246 ().

  • OK, falls es doch noch rumzicken sollte und das jetzt nur glückliche Zufälle waren, dann werde ich das systemd Skript verbauen. Danke schon mal vorab dafür.


    EDIT: Sonderbar. Auf der Raspbian Stretch-VM (mit vmware) ging das noch ohne den rc.local Startskript Eintrag (mount -a mit zuvor sleep) aber auf dem echten Rasp mit dem selben OS ging es nicht und ich musste mit dem Startskripteintrag rumpfuschen.

    Außerdem musste ich das vers=1.0 wieder einfügen, weil ich eine Host is down Fehlermeldung bekommen hatte (siehe Mount CIFS Host is down).

    Ich hab dann doch das Mount Unit Skript übernommen, also die paar Dateien angelegt und angepasst und dann das

    systemctl start home-pi-shares-nas usw.

    Geht. Zuverlässig bisher, im Gegensatz zu der rc.local und mount -a Anweisung und den Eintrag im fstab, das war doch sehr unzuverlässig.


    EDIT: Ich hab so lange gewartet, weil ich den NAS dann doch gar nicht so oft im Rasp brauche, ich dachte ich könnte direkt über den NAS Filme schauen, tatsächlich bliebt das aber öfter mal lästig stehen, weil der Stream nicht schnell genug ist.

    Ich kopiere die Filme bei Bedarf daher einfach lokal auf den Rasp und dazu hatte das manuelle mount -a schon gereicht. Aber auf Dauer ist es dann doch angenehmer, wenn es einfach auch ohne das geht :)

    Raspberry Pi 3 B Plus an einem BenQ WDP01

    Als Gehilfe: Sony SVF1421A4E (W10pro-64)

    Edited once, last by franc ().