Wenn du viele Dateien wie Fotos, Musik oder Filme hast, stehen die Chancen gut, dass sich diese Dateien irgendwo auf einer Festplatte befinden. Wenn du von all deinen Geräten auf diese Daten zugreifen möchtest, kann ein NAS-Lösung (Network-Attached Storage) eine gute Lösung sein.
Je nach Anforderungen an ein NAS sind hier schnell 300 bis 500 Euro ausgegeben. Bastler können mit dem Raspberry Pi selbst ein NAS bauen. Dank des verbesserten Durchsatzes des Raspberry Pi 4 mit USB 3.0 und Gigabit-Ethernet können Nutzer jetzt ein voll ausgestattetes NAS selbst bauen.
- Broadcom BCM2711, Quad-Core-Cortex-A72 (ARM Version 8), 64-Bit-SoC mit 1, 5 GHz, 4 GB LPDDR4-2400-SDRAM, 2, 4 GHz und 5, 0 GHz IEEE 802. 11b/g/n/ac WLAN, Bluetooth 5. 0, BLE.
- True-Gigabit-Ethernet; 2 x USB-3. 0-Ports; 2 x USB-2. 0-Ports; erfordert 5, 1 V, 3 A Strom über USB-C oder GPIO.
- Vollständig abwärtskompatibler 40-poliger GPIO-Header; 2 x Micro-HDMI-Ports unterstützen bis zu 4 K, 60 Hz Videoauflösung; zweizeilige MIPI-DSI/CSI-Schnittstellen für Kamera und Display.
- Vierpoliger Stereo-Audio- und Composite-Video-Port; microSD-Kartenslot für das Laden von Betriebssystemen und Datenspeicherung; PoE (Power over Ethernet) möglich (erfordert PoE-HAT).
Raspberry Pi: Einfaches NAS mit Samba
Zu Beginn das wichtigste: Ein Raspberry Pi NAS ist nicht zwingend günstiger als ein NAS von der Stange. Gehäuse, Netzteil und Raspberry Pi 4 kosten zusammen schon knapp 90 Euro. Hinzu kommen noch Festplatten plus der Aufwand für die Einrichtung. Die Western Digital 8 TB My Cloud EX2 Ultra kostet nur 329 Euro und läuft Out-of-the-Box.
Was ist eigentlich ein NAS?
Ein gut implementiertes, an das Netzwerk angeschlossenes Speichergerät ist in der Regel ein Gerät (ohne Tastatur oder Monitor), das den Zugriff auf große Datenmengen von überall in deinem Netzwerk ermöglicht.
Es muss außerdem Verfügbarkeit und Ausfallsicherheit für deine Daten bieten. Das heißt, es sollte vor Systemausfällen schützen, die zu erheblichen Ausfallzeiten führen, und sicherstellen, dass durch diese Ausfälle keine Daten verloren gehen.
Die Dateien selbst sollten mit geeigneten Sicherheitsmaßnahmen über gewünschte Protokolle verfügbar sein. Vereinfacht ausgedrückt handelt es sich dabei um eine Box, auf die du alle deine Filme, Fotos, Musik und andere Dinge ablegst, damit du auf diese jederzeit und von überall darauf zugreifen kannst.
Der Raspberry Pi als NAS
Der Raspberry Pi eignet sich zwischenzeitlich deutlich besser als NAS, da der kleine Computer seit der Version 4 USB 3.0 Anschlüsse besitzt. Der Gigabit-Ethernet-Anschluss wird zwar weiterhin über USB-Bus getunnelt, auf dem Raspberry Pi sind jedoch trotzdem 100 MB/s möglich. Das sind 800Mbit/s, und somit 80% von 1GBit/s.
Dieser Beitrag stellt die Einrichtung eines einfachen NAS auf dem Raspberry Pi vor. Dabei wird das Raspberry Pi OS verwendet und mit Samba zu einem NAS konfiguriert.
Als Alternative lässt sich auch OpenMediaVault als Betriebssystem für den Raspberry Pi herunterladen. OpenMediaVault bringt deutlich mehr Services mit die direkt in die Oberfläche integriert sind. Wer jedoch nur ein Basis-NAS möchte, sollte mit Raspberry Pi OS und Samba auskommen.
Schritt 1: Raspberry Pi OS vorbereiten
Raspberry Pi OS kannst du direkt von der Website herunterladen. Mit Etcher brennst du das Image auf eine mirco-SD Karte.
Stelle nach dem Booten sicher, dass SSH aktiviert ist. Dazu gibst du in den Terminal folgenden Befehl ein:
sudo raspi-config
- Navigiere zu Interfacing Options
- Wähle die Option P2 SSH
- Setze diese auf Ja
Du kannst auch gleich das WLAN einrichten. Besser ist es jedoch, ein NAS wie Ethernet-Kabel direkt an das heimische Netzwerk anzuschließen.
Ändere zudem das Passwort für den Rasperry Pi.
- Wähle Change User Passwort
- Vergebe ein neues uns sicheres Passwort
- Vergesse das Passwort auf keinen Fall (es gibt kein Passwort-Reset)
Unter Network Options kannst du deinem Raspberry Pi einen neuen Hostnamen geben. Das ist der Netzwerkname des NAS. Das ist aber optional.
Ich habe den in nas
geändert, so dass die Netzwerkadresse nas.local
lautet.
Abschließend kannst du das ganze Betriebssystem auf den neusten Stand bringen. Tippe dazu in den Terminal folgenden Befehl ein:
sudo apt update && sudo apt -y upgrade
Schritt 2: Festplatten vorbereiten
Bei mehr als einer 2,5 Zoll Festplatte kann es ratsam sein, zusätzlich einen USB 3.0 Hub mit extra Stromversorgung zu verwenden. Insbesondere bei zwei 2,5 Zoll Festplatten mit 4 TB Speicher und aufwärts. Einige dieser 4 und 5 TB Festplatten brauchen bei Zugriffen bis zu 4 Watt. Mit zwei davon wäre die Stromversorgung des Raspberry Pi 4 überfordert.
Schließe die Festplatten an deinen Raspberry Pi an und gebe dem System ein paar Sekunden Zeit, um die Laufwerke zu „sehen“. Tippe anschließend folgendes in den Terminal ein:
lsblk
Dieser Befehl listet alle an das System angeschlossene Geräte auf. Die mit mmcblk0 beginnenden Geräte ist die microSD-Karte mit Raspberry Pi OS.
Wenn du zwei USB-Platten installiert und in Betrieb hast, solltest du auch sda und sdb (Storage Device A und Storage Device B) sehen. Wenn du mehr Laufwerke hast, wird es im Alphabet nach oben fortgesetzt.
Als nächstes musst du die Laufwerke so partitionieren, dass Raspberry Pi OS versteht, wie Daten darauf gespeichert werden können. Dazu verwendest du fdisk.
sudo fdisk /dev/sda
Wenn du nach einer Eingabe gefragt wirst, tippe n für neue Partition ein. Sollte ein Fehler angezeigt werden, dass eine Partition bereits existiert, lösche diese mit d.
Tippe danach p ein für die primäre Partition. Anschließend stellt fdisk eine Reihe von Fragen zu Sektoren. Drücke einfach so lange ENTER (dabei werden die Standardeinstellungen übernommen), bis Created a new partition angezeigt wird. Gebe jetzt w ein. Damit werden die Änderungen auf die Festplatte zu geschrieben.
fdisk wird nun beendet. Du musst den den Vorgang für jedes weitere Laufwerk wiederholen:
sudo fdisk /dev/sdb
Optionaler Schritt: Erstelle RAID
Wenn du mehr als eine Festplatte verwendest, solltest du ein RAID erstellen. RAID (Redundant Array of inexpensive Disks) ist eine Methode zum Schutz von Daten durch Duplizieren über mehrere Platten.
Es gibt viele verschiedene Formen, aber das Beispiel hier verwendet eine der einfachsten: RAID-1, oder Spiegelung. Alles, was auf eine Platte geschrieben wird, wird automatisch auf die andere Platte geschrieben. Sollte eine Platte ausfallen, läuft dein NAS weiter und du verlierst nichts.
Im Falle eines Defekts musst du die ausgefallene Platte so schnell wie möglich ersetzen und das Array wird neu aufgebaut.
Installiere zunächst die Software RAID-Manager mdadm:
sudo apt install mdadm
Weise nun mdadm an, das RAID-1-Array zu erstellen:
sudo mdadm --create --verbose /dev/md0 --level=mirror --raid-devices=2 /dev/sda1 /dev/sdb1
Schritt 4: Festplatten mounten
Hinweis: Wenn du ein RAID erstellt hast, sieht Raspberry Pi OS beide physischen Festplatten als ein einziges Gerät sehen. Du kannst das neue virtuelle Laufwerk formatieren und mounten:
sudo mkdir -p /mnt/raid1
sudo mkfs.ext4 /dev/md0
sudo mount /dev/md0 /mnt/raid1/
ls -l /mnt/raid1/
Du solltest einen Eintrag sehen: ‚lost+found‘. Das RAID-1-System ist betriebsbereit.
Ohne RAID tippe folgendes ein (mydisk kann ein beliebiger Name sein)m/:
sudo mkdir /mnt/mydisk
sudo mount /dev/sda1 /mnt/mydisk
ls /mnt/mydisks
Je nach dem ob deine Festplatte leer war, siehst du nach dem ls /mnt/mydisks
einen Eintrag oder eben nicht.
Schritt 5: Festplatte automatisch mounten
Als nächstes wird das Laufwerk so eingerichtet, dass es beim Booten immer gemountet wird. Im Terminal gibst du dazu folgendes ein:
sudo nano /etc/fstab
Mit RAID:
/dev/md0 /mnt/raid1/ ext4 defaults,noatime 0 1
Ohne RAID:
/dev/sda1 /mnt/mydisk ext4 defaults,auto,users,rw,nofail 0 0
Beende die Eingabe mit STRG+X, gefolgt von Y und führe dann Folgendes aus, damit das RAID-Array beim Booten korrekt gestartet wird:
sudo mdadm --detail --scan | sudo tee -a
/etc/mdadm/mdadm.conf
Starte neu und du solltest dein /mnt/raid1 einsatzbereit haben.
Schritt 6: Samba für das NAS einrichten
Jetzt kannst du einige Dateien im Netzwerk über das beliebte Protokoll SMB/CIFS freigeben.
Unter Raspberry Pi OS lautet das auf den Namen Samba, ist aber nicht standardmäßig installiert. Führe zur Installation Folgendes aus:
sudo apt install samba samba-common-bin
Wenn dir bei der Installation Fragen gestellt werden, wähle einfach die Standardantwort aus.
Jetzt kannst du ein Verzeichnis erstellen, auf das alle Nutzer im Netzwerk Zugang haben.
Mit RAID:
sudo mkdir /mnt/raid1/shared
sudo chmod -R 777 /mnt/raid1/shared
Ohne RAID:
sudo mkdir /mnt/mydisk/shared
sudo chmod -R 777 /mnt/nas/shared
Jetzt muss man Samba konfigurieren, damit das Verzeichnis im Netzwerk freigegeben wird. Dazu ist eine Anpassung in der Konfigurationsdatei nötig:
sudo nano /etc/samba/smb.conf
Füge ganz unten folgendes ein.
Mit RAID:
[shared]
path=/mnt/raid1/shared
writeable=Yes
create mask=0777
directory mask=0777
public=no
Ohne RAID:
[shared]
path=/mnt/mydisk/shared
writeable=Yes
create mask=0777
directory mask=0777
public=no
Speichere mit STRG + X, gefolgt von Y und starte dann Samba neu:
sudo systemctl restart smbd
Schritt 7: Verzeichnisse schützen
Um einem Benutzer Zugriff auf die freigegebenen Dateien zu geben, muss ein speziellen Befehl ausgeführt werden. Dieser legt ein Samba-Passwort fest.
Um dem aktuellen Benutzer Zugriff zu gewähren, musst du „pi“ eingeben:
sudo smbpasswd -a pi
Du wirst gebeten, ein Passwort zu wählen. Dieses muss nicht dasselbe sein wie dein Raspberry-Pi-Passwort und wird auch nicht damit synchronisiert.
Danach kann der Benutzer „pi“ von Windows, macOS oder anderen Raspberry Pi-Geräten auf die Samba-Freigabe zugreifen, wobei er Dateien lesen und schreiben kann.
Du kannst natürlich auch weitere Nutzer erstellen. Ersetze benutzer
durch einen Benutzername deiner Wahl.
sudo adduser benutzer
sudo smbpasswd -a benutzer
Optional: Private Verzeichnisse für einzelne Nutzer
Wenn du Dateifreigaben erstellen möchtest, die für einzelne Benutzer privat sind, erstelle einfach ein eigenes Verzeichnis auf dem RAID-Array:
mkdir /mnt/raid1/shared/username
sudo chown -R username /mnt/raid1/shared/username
sudo chmod -R 700 /mnt/raid1/shared/username
Ohne RAID:
mkdir /mnt/mydisk/shared/username
sudo chown -R username /mnt/mydisk/shared/username
sudo chmod -R 700 /mnt/mydisk/shared/username
Oder du erstellst zusätzliche Einträge in smb.conf für mehrere Freigaben.
Achte auf die Stromversorgung
Mit einer unterbrechungsfreien Stromversorgung (USV) kannst du diesem Projekt den letzten Schliff geben. Plötzliche Stromausfälle können für Linux-basierte Systeme aufgrund der Art und Weise, wie sie mit Dateien im Speicher umgehen, eine Katastrophe bedeuten.
Dieses Batterie-Backup sorgt dafür, dass dein Raspberry Pi und dein Hub bei einem Stromausfall sicher laufen. Viele USVs können ihren Status über USB an Ihre Raspberry Pi übermitteln, so dass ein sicheres Herunterfahren ausgelöst werden kann.
Macht ein Raspberry Pi als NAS Sinn?
- Broadcom BCM2711, Quad-Core-Cortex-A72 (ARM Version 8), 64-Bit-SoC mit 1, 5 GHz, 4 GB LPDDR4-2400-SDRAM, 2, 4 GHz und 5, 0 GHz IEEE 802. 11b/g/n/ac WLAN, Bluetooth 5. 0, BLE.
- True-Gigabit-Ethernet; 2 x USB-3. 0-Ports; 2 x USB-2. 0-Ports; erfordert 5, 1 V, 3 A Strom über USB-C oder GPIO.
- Vollständig abwärtskompatibler 40-poliger GPIO-Header; 2 x Micro-HDMI-Ports unterstützen bis zu 4 K, 60 Hz Videoauflösung; zweizeilige MIPI-DSI/CSI-Schnittstellen für Kamera und Display.
- Vierpoliger Stereo-Audio- und Composite-Video-Port; microSD-Kartenslot für das Laden von Betriebssystemen und Datenspeicherung; PoE (Power over Ethernet) möglich (erfordert PoE-HAT).
Ein Raspberry Pi als NAS einrichten ist vordergründig natürlich Spaß am Basteln. Zudem hat man die volle Kontrolle über die Software und kann einen NAS auf 100% Open-Source Software aufbauen.
Finanziell ist ein Raspberry Pi NAS nicht unbedingt günstiger. Einfache Netzwerkspeicher beginnen bei knapp 100 Euro. Die Hardware für den kleinen Computer kostet schon knapp 80 bis 90 Euro.
Wer eine FRITZ!Box Zuhause hat und einfach eine Festplatte ins Netzwerk hängen möchte, kann das auch über das NAS der FRITZ!Box tun.
Geek, Blogger, Consultant & Reisender. Auf seiner Detail-Seite findest du weitere Informationen über Benjamin. In seiner Freizeit schreibt Benjamin bevorzugt über Technik-Themen. Neben Anleitungen und How-To’s interessieren Benjamin auch Nachrichten zur IT-Sicherheit. Sollte die Technik nicht im Vordergrund stehen, geht Benjamin gerne wandern.