Ein Fileserver mit dem Raspberry Pi

Hinweis:
Diese Seite gibt meinen Wissensstand von ca. 2014 wieder und sollte heutzutage nicht mehr als Blaupause für das Anlegen eines Fileservers genutzt werden. Für eine Anleitung, die erst später veraltet sein wird, bitte die übergeordnete Seite betrachten. ;-)
Noch ein Hinweis:
Ich habe diese Seite aus historischen Gründen nicht verändert, außer die eigentliche Anleitung in Unterseiten aufzubrechen, damit einen die Wall-of-text nicht zu sehr ins Gesicht schlägt. Das war im früheren Design (siehe Snapshot auf Archive.org) etwas weniger schlimm, aber auch schon nicht schön. Webseiten sind wie Quellcode: mit zeitlichem Abstand würde man vieles anders machen. Ich glaube das muss so sein und ist ein Anzeichen für persönliche Weiterentwicklung.

Das Ziel

Bislang hatte ich meine Daten auf einer externen USB-Festplatte, von der ich regelmäßig Backups angelegt habe. Das ging ganz gut, war aber insbesondere bezüglich der SVN-Repositories etwas lästig, weil ich sowohl von Windows als auch von Linux aus zugreifen wollte und sich die SVN-Versionen manchmal nicht über das Repository-Format einig waren. Außerdem hatte ich ein paar Dateien in einem AES-Container (dm-crypt/cryptmount) an die ich von Windows aus nicht dran kam. Dass sich vor etwa drei Jahren ein Netbook hinzugesellte, von dem aus der Zugriff auf die Dateien auch manchmal ganz nützlich wäre, hat die Situation ebenfalls nicht einfacher gemacht.

Die ganze Zeit schwelte die Idee eines intelligenten Fileservers mit SVN-Repository vor sich hin. Irgendwann legte ich mir zu diesem Zweck einen Barebone-PC zu, den ich entsprechend eingerichtet habe. Als ich allerdings mit einem Messgerät den Stromverbrauch angesehen habe, erschien mir der Nutzen nicht mehr Rechtfertigung genug zu sein: bei rund 40 Watt sind das ca. 350 kWh im Jahr (entspricht etwa 80 EUR).

Durch das Support-Ende von Windows XP ist zwar ein Faktor aus der Kalkulation verschwunden (mein Gerätezoo läuft momentan nur noch unter Linux), aber der Wunsch nach einem per Netzwerk erreichbaren Datenspeicher war immer noch vorhanden. Als mir dann Anfang des Jahres ein Raspberry Pi in die Hände fiel dachte ich mir "warum eigentlich nicht?".

Weil ich gerne schwache Hardware quäle und auch die Vorzüge meines AES-Containers nicht verlieren wollte, habe ich mir das Ziel gesetzt, auch bei der Filebox die Daten verschlüsselt abzulegen. Wenn ein solches Teil per Netzwerk erreichbar ist, dann sollte auch die Übertragung zum Zielsystem geschützt sein, weshalb sowohl für HTTP als auch FTP die zusätzliche Sicherung durch TLS eingeplant wurde. Ich war gespannt, welche Datenraten ich bei diesem ehrgeizigen Setup erreichen würde.

Die Mittel

Ich bin immer wieder erstaunt, wie wenig wirklich bedeutende Daten ich habe. In Angesicht Terabyte großer Festplatten denke ich immer ich mache etwas falsch, wenn mein persönliches Hab und Gut auf eine normale CD passt. Etwas Vereinskram, meine Repositories von Webseite und Projekten, ein paar Fotos, Briefe, sonstige Dokumente... in Summe so zwischen 200 und 300 Megabyte.

Die eingangs erwähnte USB-Festplatte verrichtet ihre Arbeit jetzt am Raspberry Pi, der wiederum für die Bereitstellung der Daten im Netzwerk dient. Den Stromverbrauch dieser Lösung habe ich noch nicht gemessen, aber wenn man die unnötigen Lichter an Steckdosenleiste, Steckernetzteil und USB-Hub totlegt sollte man auf unter 5 Watt kommen. Das Ganze findet momentan Platz in einer Holzkiste mit den Maßen 20 x 30 x 15 cm aus der nur zwei Kabel herauskommen - Strom und Netzwerk.

Die Anleitung

Im Rahmen der Restrukturierung habe ich die Seite in Unterseiten aufgebrochen:

Das Ergebnis

Als ich angefangen habe PCs zu benutzen waren CDROM-Laufwerke mit 300 KB/s aktuell und Leute, die ein Triple-Speed-Laufwerk hatten, wurden schon komisch angesehen ("Wozu braucht man denn so etwas?"). Von daher hätte ich mich mit ähnlichen Datenraten zufrieden gegeben, schließlich sind die einzelnen Dateien mit denen ich arbeite so zwischen 100 Kilobyte bis vielleicht 10 Megabyte groß. Umso angenehmer war ich überrascht: Lesen mit 3,3 MB/s und Schreiben mit 2,4 MByte/s! Und das war gemessen via FTP durch TLS auf die durch dm-crypt verschlüsselte Platte. Alle Achtung. Deutlich langsamer hingegen läuft das Anfertigen des Backups. Für 100 Megabyte kann man mit 3 Minuten rechnen, das Gigabyte also für eine halbe Stunde. Aber auch das stört mich nicht, das kann ja irgendwann nebenher angestoßen werden.

Alles in allem bin ich mit der Lösung zufrieden. Sie erfüllt meine momentanten Ansprüche und kann leicht auf eine schnellere Hardware (z.B. einen Banana Pi mit Gigabit-LAN und SATA-Anschluss) übertragen werden. Einzig und alleine über einen komfortableren Zugang wie etwa NFS denke ich nach, nur lässt sich das wohl nicht so einfach durch TLS leiten. Vielleicht wird der Raspberry Pi demnächst noch IPsec lernen...


Zurück zur Hauptseite