QNAP 231 mit Raspberry Pi 4 über NFS verbinden bzw. mounten

  • Hallo Community,


    nach durchforsten von vielen Foren und ausprobieren von vielen Anleitungen finde ich als Pi bzw. Linux-Anfänger keine Lösung (Windows kann ich :)....es ist zum verzweifeln :@ . Entweder es wird -wenn auch so banales - Wissen vorausgesetzt woran es scheitert, oder aber die angebotene Lösung war für ein anders Problem bestimmt.


    Was will ich?

    ich will den Pi als Smarthomezentrale verwenden, vorher jedoch sicherstellen, dass ich einen Backup der SD-Karte auf meine QNAP 231-NAS machen kann - und daran scheitert es...

    Einfach die QNAP 231 per NFS mit dem freigegebenen Ordner "Raspberry" in Ordner "/media/qnap" mounten

    ... es muss noch nicht mal ein Automount sein, ein einfacher händischer mount reicht

    ... den Backup händisch anstoßen und nicht per Scriptz.B. zeitgesteuert


    Was habe ich?

    Wie gesagt eine QNAP 231, der Freigabe-Ordner "Raspberry" wurde erstellt und für ihn der NFS-Hostzugriff aktiviert und für den Netzwerkfreigabenamen "Raspberry" (wohl der Name des Ordners) Zugriffsrecht erteilt und als Host die IP-Adresse des Raspberry 192.168.178.91 eingetragen mit Lese- und Schreiberechten. Auch habe ich einen Nutzer "Pi" angelegt mit einem Passwort "Passwort" - was man ja wohl bei Verbindungen per NFS aber nicht benötigt, da die IP des Pi in der QNAP hinterlegt ist.

    Auch habe ich auf der QNAP den globalen NFS-Dienst freigeschaltet und dort sowohl den NSF-Dienst v2/v3 sowie v4 aktiviert.


    Der Ordner auf dem Raspberry in den gemounted werden soll heißt "qnap" in "media", die IP-Adresse der QNAP-NAS ist 192.168.178.41


    Die QNAP-NAS ist über den Browser in Pi erreichbar, d.h. sie ist also in meinem Netzwerk vorhanden. Ach ja, auf dem Pi läuft ein jungfräuliches Raspberry-Orginal OS (nicht lite) und als einziges wurde XRDP installiert um über meinen Windows-PC darauf remote zugreifen zu können.


    Auch habe ich testhalber iobroker mit deconz installiert - hat alles geklappt...bis auf das mounten nit der QNAP-NAS.



    ...je nachdem welche Anleitung ich ausprobiere passiert garnichts, es kommt eine Fehlermeldung oder die NAS antwortet nicht.


    Ich weiß auch nicht ob das Problem an den QNAP-Einstellungen liegt oder an den eingetippten Befelen in den Pi - ich habe hier mal angefangen zu fragen.


    Wielleicht hatte jemand das gleiche Problem und kann helfen....danke im Voraus :qnap:

  • Moin und willkommen,


    das ist ganz einfach...

    ...wenn man weiß wie es geht :D.


    1. Der mount auf dem Pi lautet dann ganz einfach: mount 192,168.178.41:/Raspberry /media/qnap

    2. Denk daran, mounten dar nur root, als ein sudo voranstellen.

    3. Ich empfehle Dir sehr, den mount als systemctl unit einzurichten, dann wird er nach dem Booten automatisch wieder eingehängt.

    4. Es gibt eine SW, die heißt raspiBackup, die kann ich nur wärmstens empfehlen, der Pi wird im laufenden Betrieb(!) gesichert.

    Zu 3. und 4, gibt es im raspberry Forum genügend Hinweise, wie es einzurichten ist.


    5. Noch ein Hinweis: rapsibackup mit NFS ist nicht so performant, es gibt auf dieser Seite einen Workaround mit "loop devices".

    Damit flutscht das Backup nur so. Unterschied bei mir: backup auf NFS: ca. 30min, Backup auf Loopdevice: ca. 2min, die folgenden Backup nur nich 30sec!


    Auch den restore habe ich schon getestet, das solltest Du auch ;).


    Gruss

  • ...super - danke...Fehler gefunden: ich habe nach dem mount nichts in dem Ordner gesehen, was aber definitiv auf der QNAP ist - ich habe im falschen Ordner geschaut ||. es gibt bei mir 2x einen "media" ordner: einmal im Root-Verzeichnis und einmal - und das ist der falsche - in "Home"-"Pi"-Ordner. D.h. ich habe die ganze Zeit richtig gemounted, aber an der falschen stelle gesucht :ziped:


    ....jetzt kommen die Fragen :whistling::


    Was heißt "loop device" genau - habe mal auf Wiki geschaut - bin dadurch nicht wirklich schlauer. Was ist denn der Unterschied zum Mounten per NFS?



    Ist das etwas das ich machen muss bevor ich raspibackup installiere, kann ich es in raspibackup einstellen oder wird so nur die ganze Vorgehensweise genannt?

    Auf dieser Seite - wie von Dir angegeben - finde ich nichts über "loop device".



    Danke im Voraus

    Einmal editiert, zuletzt von Psychano ()

  • Auf der von mir angegebenen Seite ist rechts unten ein Menü mit der Überschrift raspiBackup, da steht unter Fehlermeldungen etwas über erweiterte Attribute und Workarounds dazu.

    Der einzige Workaround der mir half, war der mit den Loopdevices.


    Obwohl das eigentlich ins Raspi-Forum gehört, will ich jetzt nicht die Antworten auf zwei Foren verteilen:


    1. auf dem mount /media/QNAP erzeugst Du eine Image Datei mit: dd if=/dev/zero of=bu_disk_01.img bs=100M count=400

    Die Image Datei ist 40GB groß, da kannst Du die 32GB SD Card bequem sichern. Achtung, wenn Du nur eine WLAN Verbindung hast, dann dauert das seeeehr lange. Ich habe nach 1h abgebrochen und die Datei direkt auf dem QNAP erstellt (gleicher Befehl), da dauert das nur einige Minuten.

    2. Wieder vom Pi aus: mit mkfs.ext4 /media/qnap/xxxx.img erzeugst Du ein Filesystem, für xxxx nimm einen Namen Deiner Wahl.

    3. mit losetup prüfen, ob Loopdevices vergeben sind (wahrscheinlich nicht, der erste Buchstabe ist ein kleines "L")

    4. Das Loopdevice erzeugen losetup /dev/loop0 ./xxxx.img - hier war ich aktuell im Verzeichnis /media/qnap, sonst gibt es eine Fehlermeldung!

    5. unter /media einen weiteren Ordner erstellen, z.B. LOOPDEV und das filesystem dorthin mounten mount /dev/loop0 /media/LOOPDEV/.

    6. Dann raspiBackup installieren und in den Einstellungen später als Backup Pfad /media/LOOPDEV eingeben.


    Wie gesagt, die mounts am besten als mount unit einrichten und alles läuft wunderbar automatisch ab.

    Für die mount units findest Du im Raspi Forum unter Tutorials eine sehr gute Anleitung!


    Gruss


    P.S. Ich habe hier eine kleine VM mit raspiOS für x86, damit kann ich Notfall den restore auf eine SD card durchführen und den Pi dann wieder in Aktion setzen.

    2 Mal editiert, zuletzt von FSC830 ()

  • Moin, das stimmt, eigentlich gehört das ins Raspberry-Forum - die Hilfe habe ich aber hier erhalten und nicht dort :). Werde dort mit einen Link hierher verweisen und das Thema dort schließen lassen.


    Bevor ich anfange paar Verständnisfragen - vielen Dank im Voraus :)


    Grundsätzliche Frage zu 1): Mit Image erzeugen meinst Du nicht wirklich ein Image wie z. B. Partitions image der Festplatte beim Backup sondern eine Art Platzhalter bzw. Container in das später der wirkliche Abbild bzw. Image der SD-Karte des Pi rein soll?


    Brauche ich dann für jedes Backup der SD-Karte so einen Container oder wird das dann immer wieder überschrieben - was ja keinen Sinn machen würde? (ich plane die Backups der SD-Karte individuell anzulegen und nicht automatisiert)


    Die NAS und der Pi sind per LAN-Kabel angeschlossen, sollte also schnell gehen.


    ... Zu 2):

    Der 40GB "Image-Container" wird dann als .ext4-Filesystem angelegt - quasi als eigene Partition oder Festplatte wie bei Windows... Ist das richtig?

    Und dieses ganze Procedere mit heißt dann dann "Loopdevice"?... und das wird dann wie unter 3) & 4) beschrieben finalisiert?


    ... Zu 5) dieses "Loopdevice" auf der Qnap wird dann auf einen eigenen Ordner auf dem Pi gemountet wie bereits ganz oben beschrieben...


    Stimmt das soweit?



    Schönen Gruß

  • Moin,

    zu 1): nein, das "Image" ist nichts weiter als eine Datei mit der Endung .img, man könnte auch eine andere, x-beliebige Endung verwenden. Diese Datei dient nur als Container für das anzulegende Filesystem.

    Das Backup selbst nimmt nur wenige MB in Anspruch, es ist kein Abbild der SD Card. Ich habe das Image trotzdem in dieser Größe (bzw ein wenig größer) angelegt.

    In raspibackup kannst Du die Anzahl der Backups bestimmen. Wenn du 20 wählst, dann wird beim 21, Backuplauf das erste erstellte Backup gelöscht.

    Wenn Du die SD Card im Pi tauschst, dann musst Du die aufwerke wieer mounten, kannst Sie aber weiter verwenden, Du benötigst keine neue Image Datei.


    zu 2): ja, mit mkfs erstellt Du in der unter 1) angelegten Image Datei das Filesystem, das wird dann mit losetup zu einem Loopdevice gemacht und

    5) richtig, das Loopdevie benötigt einen eigenen Mount.


    Stimmt soweit.

    Weitere Infos und eine genaue Anleitung zu den Loopdevices findest Du hier.

    Im meinem Post oben muss ich korrigieren, das Problem findest Du nicht wie von mir angegeben unter den fehlermeldungen, sondern unter den FAQ, dort die #24.


    Gruss

  • ...wieder mal danke - es scheitert aber wieder am banalen mount:


    Ich habe ein neues Raspberry-OS auf den Pi gespielt, den Ordner für dem mount erstellt, nichts an der QNAP verändert, aber der mount funktioniert nicht bzw. es wird nicht angezeigt was in dem Ordner auf der QNAP ist!!!


    - sudo mkdir /media/qnap

    - sudo mount 192.168.178.41:/Raspberry /media/qnap


    Auf der Pi wird kein fehler angezeigt....ich verzweifle :handbuch:


    Im Browser auf der Pi kann ich mit der IP-Adresse die QNAP-Loginseite normal erreichen...ist also nach wie vor im Netzwerk vorhanden


    Spielt es eine Rolle wo ich den Mount-Ordner erstelle? ---also im Root-Verzeichnis oder im /Home/Pi/-Verzeichnis?

  • Nein, das ist egal. Aber der Ordner sollte eigentlich unter /media sein, so wie Du es angegeben hast.

    Wie immer gilt: bitte genaue Fehlerbeschreibung.


    Was passiert nach dem Befehl sudo mount 192.168.178.41:/Raspberry /media/qnap?

    Fehlermeldung?


    Gruss

  • Ok, und was geben die folgenden Befehle zurück?:


    sudo mount | grep -i media ?

    sudo ls -al /media/qnap ?


    Gruss

  • Code
    pi@raspberrypi:~ $ sudo mount 192.168.178.41:/Raspberry /media/qnap
    pi@raspberrypi:~ $ sudo mount | grep -i media
    192.168.178.41:/Raspberry on /media/qnap type nfs4 (rw,relatime,vers=4.1,rsize=32768,wsize=32768,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.178.91,local_lock=none,addr=192.168.178.41)
    pi@raspberrypi:~ $ sudo ls -al /media/qnap
    insgesamt 4
    drwxr-xr-x 2 nobody 4294967294   40 Jan 15 03:35 .
    drwxr-xr-x 3 root   root       4096 Jan 15 12:52 ..
    pi@raspberrypi:~ $
  • Also der mount ist vorhanden.

    Dann wäre jetzt die Frage, wenn Du dich per SSH auf das QNAP verbindest und dort

    ls -al /share/CACHEDEVx_DATA/Raspberry eingibst, wie lautet die Ausgabe (x musst Du bei Dir anpassen, 0, 1, oder...) ?


    Hier zum Vergleich meine Ausgabe vom Pi und von der QNAP:



    Wie man sieht, ist beides identisch. Mein mountpoint hat nur einen anderen Namen.


    Gruss


  • ...habs mit 0, 1 und 2 für X ausprobiert, kommt aber die Fehlermeldung. Wie kriege ich heraus was X ist auf der QNAP?


    d.h. der mount zur QNAP besteht, aber es wird nicht angezeigt was im Verzeichnis dort vorhanden ist? (habe eine Foto zu Testzwecken dort plaziert)


    noch was: wenn ich im /media/qnap/ Ordner mit dem Dateimanager eine Test-Datei erstellen will,kommt folgende Fehlermeldung:

    Code
    Fehler beim Öffnen der Datei »/media/qnap/test«: Das Dateisystem ist nur lesbar


    wenn ich das gleiche in einem Ordner in /home/pi/XXX mache funtioniert es


    Gruß

    Einmal editiert, zuletzt von Psychano ()

  • Bitte schreibe Befehlsausgaben in Code Tags und einzeilige Ausgaben in Inline-Code Tags,das ist übersichtlicher.


    Nächste Frage: wo bitte ist die Freigabe Raspberry auf der QNAP angelegt?

    Das siehst Du im Control Panel der QNAP bei der Freigabe:


    Bei mir sieht es so aus:


    pasted-from-clipboard.png


    Wenn bei Dir im Pfad weitere Pfade angegeben sind, wie z.B. /homes/Raspberry, dann muss beim ls -al Befehl natürlich dieser Pfad eingegeben werden, z.B. ls -al /share/CACHEDVEx_DATA/homes/Raspberry.


    Wenn Du nach ls -al /share/CACH einfach die TAB Taste drückst, wird der Pfad automatisch ergänzt, damit erhältst Du dann das "x". Wenn Du mehrere Volumes hast, dann kannst nur Du wissen, wo die Freigabe liegt, das würdest Du aber auch in der GUI herausfinden können (steht genau oberdrüber, hier: DataVol1).


    Gruss

  • ...einen Fehler habe ich entdeckt: Den Ordner hatte ich an Anfang falsch geschrieben - Rapberry anstatt Raspberry. Nach dem Umbenennen des Ordners blieb der Pfad aber falsch geschrieben (dachte dass es sich mit der Namensänderung auch korrigiert)...


    Screenshot_2021-01-15 NAS(2).png


    Habe es jetzt korrigiert..


    Screenshot_2021-01-15 NAS(3).png


    ...wenn ich jetzt mounte, bekomme ich diese Fehlermeldung:


    Code
    pi@raspberrypi:~ $ sudo mount 192.168.178.41:/Raspberry /media/qnap
    mount.nfs: access denied by server while mounting 192.168.178.41:/Raspberry


    ...sieht nach einem Problem der Qnap aus

  • Schaue mal über SSH nach ob der Ordner jetzt wirklich so heißt.

    Ich glaube der Name im Verzeichnisbaum auf dem QNAP hat sich nicht geändert.

  • Nein, Du müsstest jetzt zwei Verzeichnisse haben: Rapberry und Raspberry.

    Für Raspberry sind aber wahrscheinlich die nfs Rechte noch nicht gesetzt.

    Man kann das dort in der GUI nicht einfach umbenennen!


    Gruss


    Und diese beiden Verzeichnisnamen sind unabhängig von der FREIGABE Raspberry!

  • ...bevor wir jetzt noch lange wegen dem mount weiter machen habe ich einfach einen neuen Ordner "pi" angelegt...und siehe da, das Mounten funtioniert.

    Ist wohl irgendwas beim Ordner erstellen bzw. umbenennen schiefgegangen.


    Ich kann jetzt über Windows Dateien auf der NAS speichern oder dort hin verschieben (der Ordner heißt jetzt "pi" und nicht mehr "Raspberry") und sehe Sie im Dateimager auf der Pi - auch anders herum funktioniert es. Wenn ich eine Datei erstelle über den pi sehe ich sie auch in Windows in dem Ordner auf der QNAP.


    Jetzt läuft auch das erstellen des "Images" aus der QNAP- wenn es fertig ist mache ich mit Raspberry weiter....VIELEN DANK bis jetzt


    Nebenbei: Wie kann ich den Befehl zum Erstellen des "Images" direkt auf der QNAP geben?


    Schönen Gruß

  • Genau wie auf dem PI ;).

    Gehe per SSH einfach in das Verzeichnis "pi" und gib den Befehl ein.


    Gruss

  • ...ok - habe ich noch nie gemacht. Unter Windows muss ich mir erst putty oder ähnliches installieren?


    So, das 40GB-Image ist im Verzeichnis /media/qnap/bu_disk_01.img geschrieben, wenn ich jetzt das eingebe:


    mkfs.ext4 /media/qnap/xxxx.img (wie von Dir geschrieben)

    ...erscheint diese Fehlermeldung:


    Code
    pi@raspberrypi:~ $ mkfs.ext4 /media/qnap/bu_disk_01.img
    mke2fs 1.44.5 (15-Dec-2018)
    Could not open /media/qnap/bu_disk_01.img: Eingabe-/Ausgabefehler

    Nachtrag: natürlich habe ich nach dem letzten Neustart das Laufwerk wieder gemounted auf die QNAP