Boehrsi.de - IT und Gaming Blog

Raspberry Pi Serie - Teil 6.1 - Der FileServerPi

Erstellt am event Uhr von account_circle Boehrsi in label Archiv
Raspberry Pi Serie - Teil 6.1 - Der FileServerPi Bild

Dieser Teil der Serie kommt nicht nur mit einiger Verzögerung, sondern auch geteilt. Es wird für beide Raspberry Pis eine eigene News geben, da ich relativ genau auf verschiedene Dinge eingehen will. Beginnen werde ich mit meinem FileServerPi aber vorweg gibt es erst einmal mein finales Netzwerk-Setup, damit ihr schon einmal einen kleinen Überblick bekommt.

open_in_new

So sieht es aktuell bei mir aus, wobei nicht alle Rechner / Konsolen am TP-Link Switch angeschlossen sind, einige hängen natürlich auch direkt an der Fritz!Box. Ich habe diese Darstellung bloß gewählt damit alles übersichtlich bleibt. Nun aber zum eigentlichen Thema meinem Raspberry Pi, welcher als File-Server eingesetzt wird.

Das Hardware-System: Ich wollte alles möglichst schlicht halten und die Anzahl der nötigen Kabel minimieren. Ich denke das habe ich gut geschafft denn lediglich die folgenden Verbindungen bestehen:

  • Strom via Netzteil.
  • Netzwerk via Ethernet / Lan.
  • Festplatten via USB angeschlossen, sollte die Anzahl der Platten größer als 2 sein wird ein USB Hub angeschlossen. Selbiger muss eine eigene Stromversorgung bereitstellen, wenn auch Festplatten ohne extra Stromanschluss genutzt werden sollen.

Das war es dann auch schon, keine weitere Peripherie, kein Monitor und das ganze residiert versteckt hinter meinem Monitor im Arbeitszimmer. Dies ist möglich da die gesamte Steuerung via SSH erfolgt. Verpackt ist das gute Stück in einem Gehäuse von RS Online open_in_new (Den Store betreten und etwas runter scrollen) und zusätzlich kommt lediglich eine Transcend SDHC 8GB Class 4 Speicherkarte zum Einsatz.

open_in_new

Das Software-System: Auf meinem Fileserver läuft das aktuellste Raspbian “wheezy”, welches ich entsprechend aktualisiere und pflege. Die getätigten Anpassungen am System allgemein fallen relativ gering aus:

  • Änderung der Lokalisierung und Zeitzone zu Beginn der Einrichtung.
  • Nutzerverwaltung - Nutzer mit sicherem Zugang angelegt und den Standard Nutzer entfernt.
  • SSH Server Einstellungen bei Bedarf anpassen, diese sollten aber soweit in Ordnung sein.
  • Automatische Einbindung von angeschlossenen USB Festplatten einrichten.
  • Samba Server installieren und einrichten.
  • Aliase zur einfachen Pflege des Systems einrichten.

Daraus ergibt sich das zusätzlich zu den normal aktiven Diensten quasi nur der Samba Server kommt und zu Beginn meine USB Festplatten eingebunden werden. Wie ich die “komplexeren Dinge” der oberen Liste getan habe werde ich im folgenden kurz erklären bzw. auf weitere Quellen verweisen. Die grundlegenden Dinge im Bezug auf den Raspberry Pi können im elinux.org Wiki open_in_new nachgeschlagen werden.

Festplatten automatisch einbinden: Vorweg es gibt mehrere Wege und ich beschreibe nur einen möglichen, Google wird euch gerne die diversen Alternativen aufzeigen.Ich nutze die Möglichkeit der Datei /etc/fstab, in welche ich folgendes eingetragen habe:

UUID=123456789 /home/user/path ntfs defaults 0 0
  • UUID - Die eindeutige ID des Laufwerks
  • /home/user/path - Pfad an dem das Laufwerk eingebunden werden soll
  • ntfs - Das genutzte Dateisystem
  • defaults - Die Parameter mit welchen das Laufwerk eingebunden werden soll
  • 0 - Parameter für Backups
  • 0 - Parameter für die Sortierung

Anstatt der UUID kann man auch den Pfad im /dev Verzeichnis nutzen (Erklärung auf Debian.org open_in_new), nur kann sich dieser ändern und somit setze ich lieber auf die UUID. Um diese zu erhalten ging ich wie folgt vor.

#Vorhandene Laufwerke anzeigen
cat /proc/partitions
#UUIDs aller Laufwerke anzeigen
blkid

Durch die erste Eingabe könnt ihr in der letzten Spalte den Wert sehen mit welchem das Laufwerk und seine Partitionen im /dev Verzeichnis hinterlegt sind. Der Wert vor diesem gibt die Größe des Laufwerks an und sollte euch helfen das korrekte Laufwerk zu identifizieren. Der zweite Befehl gibt dann alle UUIDs aus und zusätzlich auch den Typ des Dateisystems. Vielleicht erhaltet ihr sogar das Label, mit welchem ihr direkt erkennen solltet um welches Laufwerk es sich handelt. Nun habt ihr die beiden nötigen Werte (UUID, Dateisystemtyp), müsst noch den Zielpfad festlegen und die restlichen Werte (defaults, 0, 0) können unverändert bleiben, sofern ihr dort keine Sonderwünsche habt. Nun sollte nach einem Neustart das Laufwerk automatisch verfügbar sein wenn ihr den Zielpfad aufruft. Wer gerne weitere Informationen hätte sollte im Debian.org Wiki Eintrag zum Thema fstab open_in_new vorbei schauen, denn dieser hat mir zumindest sehr geholfen. Samba Server einrichten: An dieser Stelle werde ich auf eine andere Anleitung verweisen, die zwar auf englisch ist aber extrem gut und ausführlich. Man bekommt alle Möglichkeiten aufgezeigt und kann dann selber gut wählen was für einen persönlich sinnvoll ist und was nicht. Die Anleitung open_in_new befindet sich im elinux.org Wiki und erklärt neben der Einrichtung des Servers auch wie man sich von verschiedenen Clients aus mit dem System verbinden kann. Ich selber folgte der Anleitung und konnte keine Probleme feststellen. Solltet ihr selbige beim durchführen haben, so meldet euch einfach in den Kommentaren und ich werde versuchen euch zu helfen. Aliase einrichten: Sind alle Nutzer erstellt, der Zugriff via SSH funktioniert und auch der Samba Server zeigt die eingebundenen Festplatten im Netzwerk an, so ist es geschafft und der Server tut was er soll. Grundsätzlich ist man nun erst einmal fertig und das gute Stück kann munter vor sich hin arbeiten, doch man sollte die Pflege nicht vernachlässigen. Darunter fallen Updates, eventuell kleinere Sicherheitsprüfungen und wenn man möchte quasi unbegrenzt mehr Dinge. Um sich dies zu erleichtern empfiehlt es sich Befehle die man häufig nutzt mit Hilfe eines Alias zu verkürzen. Ich erstellte mir dafür die Datei .bash_aliases im Homeverzeichnis meines Standard Nutzers. Die Datei wird automatisch von der Datei .bashrc geladen. Im folgenden gibt es ein paar Beispiele was man dort eintragen könnte:

alias ll='ls -la'
alias pack='tar -czf archive.tar.gz '
alias unpack='tar -xzf '
alias upd='sudo apt-get update'
alias upg='sudo apt-get upgrade'

Der Syntax sollte recht schnell klar werden und zur Erklärung der Befehle brauche ich denke ich nicht allzu viel sagen. Denn pack und unpack z.B. sollten vom Namen her schon alles nötige offenbaren und direkt darunter befinden sich die Befehle zum schnellen aktualisieren des Systems. Der erste Befehl erlaubt es mir schnell den Inhalt eines Ordner sehr detailliert anzuzeigen. Hier sind euch im weiteren keine Grenzen gesetzt, egal ob das ausführen von Tools oder aber das schnelle springen zu bestimmten Dateipfaden, hier ist fast alles möglich. Damit das ganze auch sicher übernommen wird sollte noch der folgende Befehl ausgeführt werden:

source ~/.bashrc

Fragen? Natürlich kann man noch viel mehr und anders machen aber es ging ja darum wie ich mir meinen Raspberry Pi eingerichtet habe. Nichtsdestotrotz bin ich für Fragen, Anregungen oder alles weitere natürlich offen und versuche auf alles was in den Kommentaren landet einzugehen.

Related Links
Kommentare  
Kommentar erstellen
Mit dem Abschicken des Kommentars erklären sie sich mit der in der Datenschutzerklärung dargelegten Datenerhebung für Kommentare einverstanden. Spam, unangebrachte Werbung und andere unerwünschte Inhalte werden entfernt. Das Abonnieren via E-Mail ist nur für E-Mail Adressen erlaubt die Sie rechtmäßig administrieren. Widerrechtliche Abonnements werden entfernt.