Externer Speicher oder mount auf Betriebssystemebene

Hallo liebe Community,

ich habe seit einigen Jahren erfolgreich Nextcloud auf einen Debian Rootserver am laufen. Da der Speicherplatz aber langsam knapp und der Server vergleichsweise teuer ist ziehe ich gerade zu einem anderen Hoster um. Da Speicherplatz auf Servern aber gernerell vergleichsweise teuer ist und ich meine Daten lieber zuhause habe nun mein eigentliches Problem:

Mein Plan ist, dass Nextcloud auf meinem neuen Rootserver lÀuft, meine Daten aber auf einem RaspberryPi mit angeschlossenem USB RAID 1 liegen. Der steht zuhause.

Ich weiß, dass ich die External Storage App zum Einbinden des lokalen Servers benutzen kann. Mein Plan war aber eigentlich, dass ich die externen Daten einfach direkt per sshfs auf Betriebssystemebene mounte. Das ganze lĂ€uft dann noch durch einen Wireguard-Tunnel. Die Idee dahinter ist, dass ich so flexibler entscheiden kann, wie ich das ganze einbinden. Das ich bei dem Vorhaben auf die Zugriffsrechte achten muss und, dass der Server erst nach dem Einbinden des Verzeichnisses startet usw. ist mir klar, das bekomme ich hin.

Ob mein Vorhaben performance-technisch Sinn macht weiß ich noch nicht so recht.

Meine eigentliche Frage bezieht sich aber auf das Einbinden der Daten.

  1. Bringt es etwas das ganze dauerhaft auf Betriebssystemebene zu mounten, in Bezug auf bspw. Geschwindigkeit, aber auch was Zugriffsrechte etc. angeht.
  2. Was passiert, wenn der gemountete Ordner zwischenzeitlich nicht verfĂŒgbar ist (Raspberry hĂ€ngt, Freundin zieht den Stecker, etc.) und wieder verfĂŒgbar wird? Wie geht Nextcloud damit um?

Ich freue mich auf die Antworten und bedanke mich im Vorraus fĂŒr eure MĂŒhe mir etwas Licht ins Dunkle zu bringen.

Wenn du die gesamte Daten zuhause haben willst, wozu dann noch den Umweg via root server?

1 Like

Einen Webserver auf einem “echten” Server will ich so oder so betreiben. Wenn Nextcloud da drauf mit lĂ€uft habe ich nur einen Webserver zu warten. Außerdem erhoffe ich mir davon einen Performancevorteil im Vergleich dazu, dass ich alles auf meinem Raspberry laufen lasse.

Von unterwegs greife ich weniger auf meine Dateien zu, sondern nutze Nextcloud mehr um auf Kalender und Kontakte zuzugreifen. Dazu möchte ich, dass der Server zuverlĂ€ssig erreichbar ist. Deswegen auch meine Frage was passiert, wenn das Datenverzeichnis mal nicht verfĂŒgbar ist. Kalender und Kontakte sollten nach meinem VerstĂ€ndnis trotzdem erreichbar sein, oder?

Wenn du nur auf Kalender und Kontakte zugreifen willst, macht es imho noch weniger Sinn es so zu machen. Um den Kalender und die Kontakte auf dem Handy zu nutzen, brauchst du nicht dauernd Zugriff auf den Server. Neue Termin und KalendereintrÀge werden dann einfach erst gesyncht, wenn du wieder zuhause bist.

Performancetechnisch macht es imho noch weniger Sinn. Das Bottleneck wird hier ja trotzdem der Raspi bleiben. Und sshfs ĂŒber Wireguard performt ganz sicher nicht besser auf dem Raspi als HTTPS via NGINX oder Apache :wink:

ErgÀnzung:

Ich wĂŒrde Nextcloud ganz normal zuhause auf dem Raspi installieren. Wenn du keine Portfreigaben machen willst kannst du von unterwegs Wireguard nutzen um ab und zu auf Dateien zuzugreifen.

Das Problem bei deiner Lösung ist, dass die Performance IMMER schlecht sein wird, selbst wenn du von Zuhause auf deine Dateine zugreifst. Weil die Verbindung ja immer ĂŒber den externen Web-Server und zurĂŒck via sshfs in dein lokales LAN geht. Mit meiner Lösung hast du nur von extern “schlechtere” Performance. Wobei Wireguard recht effizient lĂ€uft, wenn nicht noch sshfs als Performancebremse im Spiel ist.

2 Likes

Ok, das stimmt schon. Ist wahrscheinlich wirklich klĂŒger es einfach komplett auf dem Raspi laufen zu lassen. Dann ist der grĂ¶ĂŸte Bottleneck wahrscheinlich meine Uploadgeschwindigkeit (beim Fernzugriff). Daher war meine Überlegung auch, dass die Einbußen bei SFTP ĂŒber Wireguard wahrscheinlich, aufgrund des relativ geringen Uploads (40 Mbit/s), zu vernachlĂ€ssigen seien.

Trotzdem nur rein zum VerstÀndnis:

  • Was wĂ€re die bessere Alternative zu SFTP? NFS? Samba?
  • s. Punkt 2 meines Eröffnungspost: Was macht Nextcloud, wenn der Datenordner zwischendurch “weg” ist und plötzlich wieder auftaucht?
  • Wie wird das ganze geroutet, wenn ich Nextcloud auf dem Raspberry laufen habe und per DynDNS von zu Hause aus darauf zugreife? Oder sollte ich dann lieber direkt die interne Adresse ansprechen?

Zu 1. Von extern sollte man nur SSH oder WebDav (HTTPS) nutzen. SAMBA und NFS sollte man aus sicherheitstechnischen GrĂŒnden nicht ĂŒber das Internet zugĂ€nglich machen. Wenn du SSH oder HTTPS nutzt brauchst du dann auch kein VPN, weil SSH oder HTTPS ja schon verschlĂŒsselt ist. Imho macht es aber, wie schon gesagt, keinen Sinn einen Speicher, der bei dir zuhause steht in eine externe Nextcloud einzubinden, wenn du hauptsĂ€chlich von Zuhause auf die Dateien zugreifen willst.

zu 2: Ich bin nicht 100% sicher. Ich denke aber der Zugriff auf den Kalender und die Kontakte mĂŒsste funktionieren. Kalender und Kontakte sind unabhĂ€ngige Apps.

zu 3: Wenn du es dauerhaft via DynDNS von extern zugĂ€nglich machst, musst du die DynDNS-Adresse ansprechen. Im Router sollte dann NAT-Loopback/Hairpinning aktiv sein. Wenn du nur Zuhause im LAN und von extern via VPN zugreifst, kannst du die lokale Adresse/IP ansprechen. DynDNS brauchst du dann eigentlich nur fĂŒr das VPN.

  1. Daher ja auch mein Gedanke das ganze durch einen VPN-Tunnel laufen zu lassen. Dass SSH von Haus aus verschlĂŒsselt ist, ist mir klar. Ich hatte nur die Idee die SSH Ports nicht öffentlich lauschen und sprechen zu lassen (auf meinem alten Server habe ich stĂ€ndig Benachrichtigungen ĂŒber gescheiterte SSH-Verbindungsversuche bekommen, trotz PortĂ€nderung). Daher dachte ich eine weitere Ebene an Sicherheit ist ja nicht verkehrt. SMB und NFS könnte man ja ebenso durch das VPN schicken. Aber gut, ist ja nun hinfĂ€llig :wink:

  2. Meine Angst wÀre eher, dass Nextcloud dann anfÀngt wild Daten zu löschen oder so. In der Einrichtung und Wartung von Linuxsystemen bin ich glaube ich mittlerweile ganz gut, nur das theoretische wissen WIE etwas funktioniert fehlt mir hier und da noch. Ich kann machen DASS es funktioniert :stuck_out_tongue_winking_eye:

  3. Der Datenverkehr geht also nicht durch irgendeinen Server des ISP oder Ă€hnliches, wenn ich von zuhause auf die DynDNS-Adresse der Cloud zugreife, ich hoffe das habe ich jetzt richtig verstanden. NAT-Loopback unterstĂŒtzt die Fritz!Box glaube ich nicht, zumindest kann ich keine Einstellungen diesbezĂŒglich vornehmen. Wenn ich aber die entsprechenden Ports weiterleiten lasse funktioniert es (zumindest bei SSH), in der Vergangenheit konnte ich so auch auf einen Raspi-Webserver zugreifen.

Vielen lieben Dank fĂŒr die ganzen Antworten und Ideen zu meinen Überlegungen. Dann werde ich mich mal an die Arbeit machen :slightly_smiling_face:

  1. Wenn du SSH mit Key-Auth nutzt, ist ein erfolgreicher BruteForce-Angriff nahezu ausgeschlossen. Plus kann man einen SSH Zugang noch weiter absichern
 Stichwort: Fail2ban. Ein VPN ist nicht per se sicherer, hat aber je nach Konfiguration andere Vorteile und Usecases. Das und ob SSH ĂŒber VPN Sinn macht wĂ€re aber eine eigene Diskussion fĂŒr einen anderen Tag :wink: Ich wĂŒrde aber wie gesagt sowieso alles auf dem Pi laufen lassen und dann allenfalls fĂŒr den Zugriff von aussen ein VPN nutzen.

  2. Wenn die Nextcloud keinen Zugriff auf den externen Speicher ( via External Storage App) hat, werden diese Datein einfach nicht angezeigt. Wenn das komplette Datenverzeichnis der Nextcloud auf einem externen Share liegt, funktioniert natĂŒrlich nicht mehr viel, wenn dieser nicht erreichbar ist. Gelöscht werden sollte imho aber auch dann nichts.

  3. Hier ein Link der verstÀndlich erklÀrt wie NAT-Loopack funktioniert: https://www.datamate.org/nat-loopback-oder-wie-dyndns-fuers-interne-netzwerk-fit-gemacht-werden-kann/ Wenn es aber mit der SSH-Verbindung bisher funktioniert hat, wird es auch mit anderen Protokollen/Ports wie HTTPS oder einem VPN funktionieren. Offenbar macht die Fritzbox NAT-Loopback "out of the box ".

Vielen lieben Dank fĂŒr die ganzen Antworten und Ideen zu meinen Überlegungen. Dann werde ich mich mal an die Arbeit machen

Gern geschehen. Und ich wĂŒnsche dir viel Erfolg mit deinem Projekt. :slight_smile: