Ulrichs Werkbank

Tipp: Eine externe Platte anbinden

10. Januar 2012
von Ulrich Hilger
alle Rechte vorbehalten

 

 

Möchte man Musik, Videos und Fotos an einem zentralen Ort speichern und die Inhalte dennoch von überallher verwenden, benötigt man einen Server. Dieser überträgt die Inhalte über ein Netzwerk immer dann an das gewünschte Abspielgerät, wenn man von dort das Hören von Musik oder das Ansehen eines Videos auslöst. Damit dafür nicht jedesmal erst der Server eingeschaltet und hochgefahren werden muss, sollte eine solche Maschine immer eingeschaltet sein.

Gleichwohl sollte der Server möglichst wenig Energie verbrauchen, ein wesentlicher Faktor dafür ist der Speicher. Viel günstiger als ein Netzwerkspeicher (Network Attached Storage, NAS) ist insbesondere für statische Mediendaten eine externe USB-Festplatte. Sie muss nicht ins Servergehäuse und man kommt für den Server mit einem kleinen und stromsparenden Modell wie z.B. einem Mini.PC aus. Die Platte sollte aber anders als der Server nicht dauernd laufen. Bei Leerlauf sollte sie sich automatisch abschalten (spin down). Dieser Tipp beschreibt für Linux, wie man eine externe USB-Festplatte auf diese Weise verwendet.

Platte einbinden

Eine externe USB-Festplatte wird normalerweise in das Dateisystem des Rechners eingebunden, wenn sie an den Rechner angestöpselt wird. Das geschieht in der Regel, nachdem sich ein Benutzer am Rechner angemeldet hat. In unserem Fall ist die Platte dagegen bereits vor dem Hochfahren des Rechners angeschlossen und soll gleich nach dem Hochfahren für das System verfügbar sein, ohne, dass ein Benutzer angemeldet ist. Dazu wird ein Mount-Punkt angelegt

sudo mkdir /media/extplatte

Die Kennung der Platte (Universally Unique Identifier, UUID) kann man mit dem folgenden Kommando ermitteln

Eingabe: sudo blkid
Antwort z.B.: /dev/sdb1: LABEL="Expansion Drive" UUID="123" TYPE="ntfs"

Nun kann man Mount-Punkt und Platte in die Tabelle der Dateisysteme eintragen

sudo nano /etc/fstab

UUID=123  /media/extplatte  ntfs  rw,auto,users,noexec,nls=utf8,umask=007,gid=46  0  0

Mit der Option gid=46 wird die Platte der Gruppe plugdev hinzugefügt. Alle Benutzer, die dieser Gruppe angehören, können die Platte verwenden. Soll neben anderen Diensten oder Benutzern etwa ein Serverdienst wie z.B. Tomcat die Platte verwenden, kann man den Benutzer tomcat7 in die Gruppe plugdev aufnehmen.

sudo usermod -aG plugdev tomcat7

Damit die zuvor beschriebene Eintragung in der Tabelle der Dateisysteme wirksam wird, muss die Platte ausgehängt werden.

sudo umount /dev/sdb1

Dann die Tabelle der Dateisysteme neu laden.

sudo mount -a

Die Platte ist nun fest eingebunden und über /media/extplatte ansprechbar.

Alternative: Gnome Disks

Wer sich den Weg in die Tiefen der Datei fstab sparen möchte, kann das Programm Gnome Disks verwenden. Gnome Disks erlaubt es, die Einstellungen in der Datei fstab über eine grafische Bedienoberfläche einzutragen.

Aus dem Dash von Ubuntu oder dem Anwendungsmenü heraus ist es unter dem Namen "Laufwerke" zu finden. Von der Kommandozeile aus wird es mit dem Befehl gnome-disks aufgerufen.

Ruhezustand einrichten

Um der Platte mitzuteilen, sie soll z.B. nach zehn Minuten des Leerlaufs in den Ruhezustand übergehen, meldet man sich vorübergehend am Rechner an. Anschließend sucht man den Mount-Punkt der Platte heraus, wie z.B. /dev/sdb1 . Diese Kennung kann man herausfinden mit

mount -l

Damit die Platte nach z.B. zehn Minuten des Leerlaufs in den Ruhezustand übergeht, wird folgendes Kommando verwendet

sudo hdparm -K 1 -S 120 /dev/sdb1

Die Option -K 1 bewirkt, dass die Einstellung über einen Neustart des Rechners hinaus erhalten bleibt. -S 120 bedeutet zehn Minuten, weil die Einstellung mit hdparm in Schritten von fünf Sekunden zählt (5 x 120 = 600 Sekunden = 10 Minuten). Wird zehn Minuten nicht auf die Platte zugegriffen, schaltet sie in den Ruhezustand. Bei Zugriffen im Ruhezustand läuft die Platte automatisch wieder an, schaltet nach zehn weiteren Minuten des Leerlaufs wieder in den Ruhezustand, usw.

Alternative

Falls hdparm mit einer externen Platte nicht funktioniert, ist das Paket sg3-utils eventuell eine Alternative. Damit kann man z.B. eine Festplatte von Hand in den Standby-Modus versetzen. Dazu zunächst das Paket installieren

sudo apt-get install sg3-utils

Zum Versetzen der Platte in den Standby-Modus

sudo sg_start --pc=3 /dev/sdc1

Den Namen der Platte /dev/sdc1 im obigen Beispiel durch den tatsächlichen Namen ersetzen. Eine Platte, die auf diese Weise in den Standby-Modus versetzt wurde, läuft automatisch wieder an, wenn auf sie zugegriffen wird.

Ubuntu Server

Um das selbe an einem Server mit Ubuntu auszuführen, bedarf es u.U. weiterer Schritte. Wird die Platte nach dem Anstecken mit blkid nicht aufgelistet, hilft evtl. das Programm udevadm weiter. Zunächst wird auf der Kommandozeile des Servers der Befehl

udevadm monitor

ausgeführt. Dann wird die laufende Platte angesteckt. Mit dem Anstecken der Platte werden vom Programm udevadm verschiedene Angaben ausgegeben. Die letzte Zeile der Ausgabe enthält den Namen der Platte, z.B. sdd1 Mit diesem Namen kann anschliessend so verfahren werden wie oben beschrieben.