Raspberry Pi als Cloud Speicher und NAS
Gedanken zu Sicherheit und Performance
NAS – sogenannte Network Attached Storage verbreiten sich rasant. Verbessern sie doch das Management von Daten verschiedener Quellen und den Schutz vor Datenverlust erheblich. Allerdings können die Geräte schnell mehrere hundert Euro kosten. Wieso nicht selbst Hand anlegen? Mit Hilfe des günstigen Raspberry Pi lässt sich ein (fast) vollwertiger NAS-Ersatz bauen. Hier erfährst Du, welche Einschränkungen bestehen und welche Entscheidungen man treffen muss.
Mit seiner Ausstattung an Schnittstellen scheint der Raspberry Pi auf den ersten Blick nicht unbedingt das ideale Embedded Board für einen Dateiserver zu sein. Besonders der Verzicht auf SATA oder M.2 Ports für die Einbindung von Laufwerken ist für ein solches Projekt bestenfalls unüblich. Doch abseits von solchen einzelnen Nachteilen gibt es auch ausreichend Gründe, die gerade bei diesem Zweck für den Minicomputer sprechen. Wichtige Vorteile sind selbstverständlich zunächst einmal der günstige Preis, die hohe Energieeffizienz und nicht zuletzt die relativ einfache Umsetzung.
Die notwendige Hardware ist überschaubar
Für den Aufbau eines Dateiservers benötigst Du zunächst einmal natürlich Speichermedien. Da der Raspberry Pi abgesehen von der SD Karte keine Möglichkeit zur direkten Einbindung von Laufwerken bietet, bleiben dafür zwangsläufig nur USB Laufwerke. Leider sinkt dadurch zwar die Bandbreite, aber dafür können die einzelnen Festplatten auch problemlos kurzfristig lokal genutzt werden. Der Raspberry stellt vier USB Ports, die theoretisch genutzt werden können. Das Problem dabei ist jedoch, dass USB Laufwerke eine recht hohe Spannung erfordern – vier Laufwerke überfordern das Netzteil. Aus diesem Grund musst Du bei zwei oder mehr Laufwerken bzw. Festplatten in der Regel ein Hub mit eigener Stromversorgung einsetzen. Die Performance wird dadurch nicht beeinflusst, denn der verbaute SoC BCM2837 stellt ohnehin nur einen einzigen Port zur Verfügung, dessen Bandbreite sich alle USB Geräte teilen müssen.
Ist der Rasberry Pi für NAS geeignet?
Im Gegensatz zu speziellen NAS Systemen besitzt der Raspberry Pi einige Einschränkungen, die sich negativ auf seine Performance auswirken. Der Ethernet Anschluss besitzt eine Bandbreite von maximal 100 Mbps oder etwa 12,5 MB/s – inklusive Overhead – , während Fileserver in der Regel 1000 Mbps verwenden. Da auch das neueste Modell Raspberry Pi Model 3B lediglich USB 2.0 anbietet und diese sich einen BUS teilen, verteilt sich die Gesamtgeschwindigkeit von 480 Mbps auf sämtliche angeschlossenen Geräte. Problematisch ist in erster Linie, dass USB Festplatten im Vergleich zu SATA oder M.2 nur verzögert auf Anfragen reagieren. Die CPU ist bei neueren Modellen ab Version 2 hingegen ausreichend leistungsfähig, um Daten in Echtzeit zu verarbeiten. Insgesamt erreicht ein gut konfiguriertes Gesamtsystem eine Geschwindigkeit von etwa 11 MB/s und reicht damit für Übertragungen etwa von Filmen mit 1080p Full HD ohne Probleme aus.
NAS, Cloud oder Dateiserver haben unterschiedliche Vorteile
Auch wenn das Ziel immer der schnelle und komfortable Datentransfer ist, gibt es doch unterschiedliche Möglichkeiten, dieses zu erreichen. Grundsätzlich kannst Du erst einmal zwischen einem klassischen NAS oder der Konfiguration als Cloud Server mit Zusatzsoftware und Clientprogrammen wählen. Letztere bietet bestimmte Vorteile wie die höhere Sicherheit beim Zugriff von außen, eine übersichtliche Oberfläche durch ein Web-GUI und die Verfügbarkeit von Clients für verschiedene Betriebssysteme. Allerdings ist die Performance schlechter, da die Cloud selbst einige Ressourcen in Anspruch nimmt. Bei einem NAS wiederum musst Du Dich für das passende Protokoll entscheiden. Zur Auswahl stehen drei unterschiedliche Möglichkeiten, die sich allerdings auch kombinieren lassen:
-
SMB: SMB oder SAMBA ist die erste Wahl, wenn Du komfortabel aus verschiedenen Betriebssystemen – insbesondere Microsoft Windows – auf den Speicher zugreifen möchtest. Aus Sicht der Performance besitzt das Protokoll allerdings einen hohen Overhead, so dass die Bandbreite die schlechteste aller drei Optionen ist. Außerdem gilt das Protokoll als notorisch unsicher, so dass es sich ausschließlich für lokale Netzwerke eignet.
-
NFS: Das Network File System wurde ursprünglich für UNIX entwickelt und empfiehlt sich, wenn du ausschließlich über Linux und (mit kleinen Einschränkungen) Apples OS X auf Dateien zugreifen willst. NFS arbeitet effizienter als SMB und ermöglicht durch weniger zusätzliche Daten eine höhere Bandbreite.
- FTP: Von allen Protokollen ist FTP das effizienteste. Es wird allerdings von Dateimanagern nur begrenzt unterstützt und erfordert unter Umständen einen zusätzlichen Client. Ursprünglich werden die Daten zudem im Klartext ohne Verschlüsselung übertragen, diese muss separat konfiguriert werden. FTP ist das klassische Protokoll für einen Fileserver.
Sicherheit bei Zugriff und Datenspeicherung
Alle Protokolle unterstützen eine nutzerbasierte Authentifizierung für Multi-Client-Systeme und die Vergabe von individuellen Zugriffsrechten. Eine zuverlässige Verschlüsselung der Daten findet jedoch ohne zusätzliche Konfiguration lediglich bei einigen Cloud Anwendungen statt. Der Zugriff von außerhalb des lokalen Netzwerkes ist durch die Freigabe der entsprechenden Ports auf dem Router möglich. Diese ist aus unterschiedlichen Gründen – allen voran die Sicherheit und die komfortable Bedienung – nicht empfehlenswert.
Stattdessen solltest Du auf die Einrichtung eines Virtual Private Networks (VPN) zurückgreifen, das sowohl eine sichere Verschlüsselung wie auch Authentifizierung ermöglicht. Moderne Router bieten häufig die Möglichkeit und lassen sich über ihr Webinterface entsprechend konfigurieren. Andernfalls kannst Du auch direkt auf deinem Raspberry Pi ein VPN einrichten, musst anschließend aber die entsprechenden Freigaben auf deinem Router einrichten. In keinem Fall solltest Du den Embedded PC dabei als DMZ deklarieren, sondern lediglich die benötigten Ports öffnen.
Obwohl der Raspberry Pi nativ keine Redundanz für die Datensicherheit unterstützt, kann diese leicht durch ein Software RAID hergestellt werden. Bei einem größeren Speicherbedarf empfiehlt sich dafür ein RAID 5, das alle Informationen bei dem Ausfall einer einzelnen Festplatte wiederherstellen kann. Dabei musst Du berücksichtigen, dass ein solcher Verbund aus Speichermedien gleicher Größe besteht und mindestens drei Laufwerke benötigt. Die Kapazität entspricht der Summe der Festplatten minus einem Device. Für die einfache Wiederherstellung der Daten bei einem Versagen der SD Karte solltest Du zudem ein Backup des Betriebssystems anfertigen und sicher lagern.
Für Systeme mit einer geringeren Anzahl an Festplatten empfiehlt sich z.B. Raid 1. Dabei werden die Daten von einer Festplatte auf einer anderen gespiegelt. Sollte eine Platte ausfallen, sind noch immer alle Daten auf der zweiten Festplatte erhalten.
Rückmeldungen