Mittwoch, 5. Juli 2017

NAS (Network-Attached-Storage) with Openmediavault on RaspberryPi 3 - (Part 1)




"Irgendwann findet der RaspberryPi den Weg in jedes Haus!" - Diese Worte habe ich vor kurzem auf Twitter geschrieben.
Der RaspberryPi hat den Weg zu mir gefunden, da ich mich schon seit längerem mit dem Gedanken beschäftigte, mir ein kostengünstiges NAS anzuschaffen oder selbst zu bauen. Dessen Funktion sollte ein immer erreichbarer Datenträger sein, auf den die PC's, Laptops und Smartphones zuhause zugreifen können (im Haus befinden sich Linux, Android und (leider) Geräte die mit Windows laufen).
Schlicht gesagt eine kleine "Heim-Cloud". Ein "Spiegeln" (RAID 1) diverser Festplatten auf dem NAS wäre nicht unbedingt von Nöten, sowie (zur Zeit) ein Zugang von jenseits des Routers.
Die Möglichkeit einfach einen USB-Stick in den Router zu stecken und als externes Laufwerk zu mounten bestand/besteht bei meinem Router nicht. Weiters reizte es mich einfach mit dem RaspberryPi zu hantieren.

Kaum war der Entschluss gefasst, wurde auch schon die Hardware bestellt.

Einkaufsliste:
  1. RaspberryPi 3 Modell B
  2. 16 GB SD-Karte (Class 10)
  3. Netzteil 5V / 3A
  4. Gehäuse (transparent) mit 2 Kühlkörper
  5. USB-Stick mit 16 GB (als Festplatte) (mit ext4 formatiert!!)
Da ich den 16 GB USB-Stick bereits hatte, beliefen sich die Kosten auf rund € 62,-. In einem RaspberryPi-Forum wurden die Jahresstromkosten im 24/7-Betrieb mit rund € 12,- veranschlagt. (Schande - als ehemaliger Elektriker sollte ich mir das auch selbst ausrechnen können :-) ) Kosten und Nutzen-Faktor ist also in Ordnung.






Als Software sollte "Openmediavault", eine freie Software die auf Debian/GNU (Jessie) beruht zum Einsatz kommen.



Ablauf:

Das aktuelle Image von Openmediavault für den RaspberryPi 3 wurde von hier heruntergeladen.





Das Entpacken der .gz-Datei führte ich mit dem Dateimanager Dolphin von KDE per Rechtsklick und "hier entpacken" durch. Die rund 530 MB wuren so zu einer 3,6 GB großen Datei.
Die SD-Karte wurde mittels dem mitgelieferten Adapter in den PC (bei mir ein openSUSE leap 42.2  System mit der KDE Oberfläche) gesteckt. Danach wurde in der Konsole/Terminal mit root-Rechten (su oder sudo) durch den Befehl  fdisk -l  (fdisk -kleines L) der Mountpoint der SD-Karte herausgefunden. fdisk -l gab bei mir  /dev/sdb1 aus.

Beim Übertragen der entpackten .img-Datei auf die SD-Karte gab es ein kleines Problem. Der, in diversen Anleitungen und Linuxzeitschriften empfohlene Konsolenbefehl dd (dd if=omv_rpi2_rpi3_3.063.img of=/dev/sdb1) klappte trotz Erfolgsbestätigung nicht. Der RaspberryPi fand danach auf dieser SD-Karte keine bootbare Datei.
Deshalb habe ich das Programm imagewriter von SUSE Studio für das Kopieren der .img-Datei verwendet. Imagewriter ist ein grafisches Tool, dessen Zweck es ist bootfähige USB-Sticks zu erstellen. Das Programm ist in den Standard-Repos von openSUSE enthalten. Damit klappte es sofort. Auffallend war jedoch, dass imagewriter den Mountpoint der SD-Karte auf /dev/sdb statt auf /dev/sdb1 fand. Hier lag wahrscheinlich der Fehler.

Anschließend kam die SD-Karte in den RaspberryPi. Ein Netzwerkkabel wurde als Verbindung in den RaspberryPi und in den Router gesteckt, sowie das Netzteil in die Steckdose. Der RaspberryPi erwachte zum Leben.

Am PC ermittelte ich durch den Aufruf des Dashboard des Routers im Browser (IP-Adresse des Routers in die Adresszeile eingeben) alle derzeit verbundenen Geräte mit dem Router und entdeckte auch bereits den RaspberryPi. Durch Anklicken konnte ich dessen (derzeitige) IP-Adresse in Erfahrung bringen, und durch einen weiteren Klick konnte ich auch den Router anweisen zukünftig den RaspberryPi immer die gleiche IP-Adresse zu zuweisen. Eine gleiche IP-Adresse ist wichtig für das spätere Arbeiten mit dem NAS.
Nach dem Speichern der Änderungen verließ ich wieder das Router-Dashboard.

Da SSH (Secure Shell) bei Openmediavault bereits standardmäßig aktiviert war, öffnete ich die Konsole am PC und rief mit dem Befehl ssh root@[ermittelte IP-Adresse] Openmediavault auf. Hier, beim ersten Einstieg wurde die Bestätigung des Fingerprints verlangt. Danach das Passwort. Standardmäßig ist für root das Passwort "openmediavault" eingestellt. Nach dessen Eingabe war man auch schon als root angemeldet.



Es wurde empfohlen zuerst eine Aktualisierung und anschließend einen shutdown durchzuführen. Daher führte ich die System-Aktualisierung mit den Befehlen apt-get update und danach apt-get upgrade durch. Nach der Aktualisierung, welche rund 5min dauerte, fuhr ich mit shutdown -h 0 das System herunter und nahm den RaspberryPi vom Strom.

Erst Jetzt wurde der 16 GB USB-Stick in den RaspberryPi gesteckt und dieser wieder mit Strom versorgt, sodass er das frische Betriebssystem auf der SD-Karte wieder hochfuhr ( erneut bootete  - Satzänderung nach Blogkommentar von Didi). In weiterer Folge zeigte sich ein Problem mit der Formatierung des USB-Sticks. Dieser war mit FAT formatiert. In Wikipedia stand zwar, dass Openmediavault mit FAT umgehen könne, aber auf dessen Website wurde FAT nicht aufgelistet. In einschlägigen Foren wurde als Formatierung ext4 empfohlen. Interessanterweise gab es keine Probleme beim Einbinden des Datenträgers, sondern in weiterer Folge mit der Rechtevergabe der einzelnen Benutzer. Die Umformatierung des vom RaspberryPi wieder entferneten und in den PC gesteckten USB-Sticks erledigte ich mit dem openSUSE Partitionierer, den ich über das YasT-Kontrollzentrum aufrief. Danach steckte ich den Stick zurück in den RaspberryPi.



Erneut meldete ich mich als root über die Konsole des PC's mit ssh root@[ermittelte IP-Adresse] an. Mit dem Befehl passwd root änderte ich das Standardpasswort für root und meldete mich wieder ab.

Durch Aufrufen der nun ständig gleichbleibenden IP-Adresse des NAS im Browser gelangte ich nun zum Dashboard von Openmediavault. Hier stellt man zuerst die Sprache ein und meldet sich als admin mit dem Standardpasswort (für admin) "openmediavault" an. Gleich zu Beginn führte ich eine Passwortänderung unter dem ersten Menüpunkt "Webadminpasswort"durch.






Das Fundament für mein NAS war somit erstellt.

Das Einrichten von Openmediavault (Datenträger einbinden, Benutzer anlegen, Samba-Freigaben, Portänderung, .....) wird in Teil 2 folgen.


Roman.

Kommentare:

  1. Sehr schön ausführlich beschrieben. Ich liebe Schritt-für-Schritt-Anleitungen. Weiter so! Allerdings: "Erst jetzt wurde der 16 GB USB-Stick in den RaspberryPi gesteckt und dieser wieder mit Strom versorgt, so dass er erneut bootete." Wieso bootetest Du "erneut" vom USB-Stick? Du hattest doch von der SD-Karte aus gebootet. Soweit ich das verstehe, dient der Sticke als Speichermedium für Daten, jedoch nicht als Speicher für das Betriebssystem.

    AntwortenLöschen
    Antworten
    1. Hallo Didi!
      Du hast völlig recht! Der RaspberryPi bootet natürlich wieder von der SD-Karte und der USB-Stick dient als Speichermedium (sozusagen als externe Festplatte). Ich hatte jedoch von Problemen bezüglich des Einbindens des USB-Datenträgers gelesen, wenn er bereits beim ersten Bootvorgang und Login am RaspberryPi steckt. Ich wollte diese Fehlerquelle gleich vorweg ausschließen und bin deshalb diesen Weg gegangen. Hat alles gut funktioniert.
      Die Anleitung den USB-Stick als Speicher einzubinden folgt in Teil 2. Erst bei den SAMBA-Freigaben hatte ich dann Probleme die Benutzerrechte/Zugriffsrechte für die jeweiligen Ordner auf den mit FAT formatierten USB-Stick zu übertragen. Mit ext4 klappte es dann aber.

      Löschen
    2. Ok, unter "booten" versteht man normalerweise das Hochfahren eines Systems, respektive eines Rechners. Daher habe ich hier "booten" missverstanden.

      Löschen
    3. Danke für deinen Hinweis. Zum allg. besseren Verständnis habe ich den Satz umformuliert.

      Löschen