Festplatten unter Linux beim Neustart oder beim Anstecken immer unter dem selben Gerätenamen mounten

(Last Updated On: 20. April 2015)

Unter Linux (und auch unter windows) haben Sie das problem, dass festplatten und andere Datenträger nach einem neustart mit einem anderen Gerätenamen (in der windows-welt: Laufwerksbuchstaben) in das System eingebunden werden. Das hat dann zur Folge, dass viele skripte, wie etwa Backup- und Synchronisationsaufgaben, nicht mehr richtig funktionieren.

Desweiteren ist es dann nicht mehr möglich, die Datenträger zuverlässig über die Datei /etc/fstab automatisch zu mounten. Man muss sie jedesmal neu mit dem mount-Befehl in die Verzeichnisstruktur einhängen.

Das gleiche problem haben sie mitunter, wenn sie einen Datenträger vom System trennen und irgendwann wieder erneut anstecken.

In diesem Post zeige ich Ihnen kurz, wie sie diesen problemen Herr werden können, damit Ihre Skripte wieder sauber durchlaufen.

Datenträger beim Neustart automatisch mounten

Lösung mit Labels

Die einfachste Lösung ist das einbinden über Datenträgerbezeichnungen, die man zuvor festgelegt hat.

Eventuell hat eine Festplatte bereits ein Label. dies können Sie überprüfen mit

e2label <Gerätedatei>

Sie können mit dem Kommando e2label aber auch ein Label für die Platte setzen.

e2label <Gerätedatei> <Label>
#oder
tune2fs <Label> <Gerätedatei>

Jetzt können Sie entweder über ein skript

mount -L <Label> <mountpoint>
#oder
mount /dev/disk/by-label/<Labelname> <mountpoint

Oder über die datei /etc/fstab

LABEL=<label> <mountpoint> <dateisystem> users,guid=1000,gid=users,umask=0002,utf8=true 0 0

die Partition bei jedem Neustart mounten lassen.

 

lösung mit id-bezogenen Gerätedateien

Als erstes müssen Sie sicherstellen, dass die festpaltte nach jedem Systemstart immer am selben Punkt unter /dev erscheint. Standardmäßig kann man sich darauf leider nicht verlassen. Die selbe Festplatte, die zuvor unter /dev/sda2 erreichbar wra, kann nach einem neustart unter Umständen als /dev/sdb2 eingebunden werden.

Linux bietet hier eine lösung an, indem unter /dev/disk/by-id/ Dateien an, welche eine eindeutige Bezeichnung von an das System angeschlossenen Festplatten enthalten. sie beinhalten dabei die modellbezeichnung und die eindeutige seriennummer des geräts. diese haben das Format <Anschluss>-HERSTELLER_Modell_Seriennummer-part<partitionsnummer>

sie können herausfinden, auf welche gerätedatei diese jeweilige eindeutige Festplatte verbunden ist über

ls -l <Datei>

anstatt mit dieser Gerätedatei können Sie einen link auf diese Datei machen. Anstatt dann dauernd den Dateinamen rauszusuchen können Sie dann mti dem einfacheren Namen des Symlinks arbeiten.

ln -s /dev/externe-platte /dev/disk/by-id/ata-xxxxx

In Zukunft können Sie die festplatte nun über /dev/externe-platte ansprechen.

Datenträger bei Wiederanstecken automatisch Mounten

Zum Abschluss zeige ich Ihnen im folgenden Abschnitt noch, wie Sie eigene eindeutige Symlinks erstellen können, um in Ihrem Skript die platten zu mounten, ohne die Datei unter /dev/disk/by-id nutzen zu müssen, und dadurch paltten automatisch mounten, die Sie sporadisch beispielsweise per USB oder eSATA an das System anstecken.

Sie brauchen erstmal die Binary udevinfo auf Ihrem System. Wenn Sie gerade den Datenträger gemountet haben, und die APrtition hat gerade die Gerätedatei /dev/hda2, dann geben Sie ein

udevinfo --attribute-walk --path /block/hda/hda2 | less

Wir blättern uns durch die asugabe der Kommandozeile und suchen nach Zeilen im format

ATTRS{model}=="model_code"
ATTRS{vendor}=="manufacturer"

Diese informationen können genutzt werden, um die Datei eindeutig zu dientifizieren.

wir editieren nun die Datei /etc/udev/rules.d/10-local.rules und fügen die Zeile hinzu (beispiel: USB-festplatte)

BUS/SUBSYSTEM=="usb", KERNEL=="sd*",
ATTRS{model}=="model_code", ATTRS{vendor}=="manufacutrer", NAME:="extdisk%n",
SYMLINK+="%k"

Eine partition, die die hier spezifizierten Regeln erfüllt, bekommt automatisch den Gerätenamen /dev/extdisk<Partitionsnummer> zugewiesen. die gesamte Festplatte an sich bekommt /dev/extdisk.

beachten Sie, dass Sie entweder BUS ODER SUBSYSTEM schreiben müssen. Bei neuren Distributionen heißt der Parameter SUBSYSTEm, bei älteren BUS. Zur not einfach probieren.

Wenn Sie stattdessen einer bestimmten Partition den Namen /dev/extdisk (und nicht der ganzen platte) zuweisen wollen, verwendne sie folgendes schema:

BUS/SUBSYSTEM=="usb", KERNEL=="sd?[0-9]",
ATTRS{model}=="model_code", ATTRS{vendor}=
="manufacturer", NAME:="extdisk",
SYMLINK+="%k"

Eventuell haben Sie an ihrem System mehrere Platten des sleben modells und Herstellers. Dann kann die oben beschriebene Lösung die Platten nicht eindeutig finden. Hier müssen Sei dann mit Seriennummern arbeiten.

SUBSYSTEM=="usb",ACTION=="add", KERNEL=="sd?<x>", ATTRS{serial}=="<Seriennummer>", NAME:="extdisk", SYMLINK+="%k"

Wenn es die Datei /etc/udev/user.rules noch nicht gibt, weil Sie nicht automatisch angelegt wurde, dann führen Sie aus:

sudo touch /etc/udev/user.rules
sudo ln -sv /etc/udev/user.rules /etc/udev/rules.d/80-user.rules

Auf dei SEriennummer der Festpaltte kommen Sie folgendermaßen, wenn Sie sie einmal manuell eingebunden haben und die platte beispielsweise als /dev/sdc eingebunden ist:

udevadm info -a -p `udevadm info -q path -n /dev/sdc` | grep ATTRS{serial}

an den richtigen Wert für SUBSYSTEM bzw. BLOCK bekommen Sie so:

udevadm info -a -p `udevadm info -q path -n /dev/sdc` | grep SUBSYSTEM=

nach der einstellung der user.rules müssen wir udev neu starten

/etc/init.d/udev reload

 

Andreas Loibl ist SAP-Berater, Ethical Hacker und Online Marketing Manager und schreibt auf seinem Blog DaFRK Blog über verschiedene Themen in den Sektoren Projektmanagement, Informationstechnik, Persönlichkeitsentwicklung, Finanzen und Zeitmanagement.

DaFRK

Andreas Loibl ist SAP-Berater, Ethical Hacker und Online Marketing Manager und schreibt auf seinem Blog DaFRK Blog über verschiedene Themen in den Sektoren Projektmanagement, Informationstechnik, Persönlichkeitsentwicklung, Finanzen und Zeitmanagement.

Das könnte Dich auch interessieren...

2 Antworten

  1. 20. April 2015

    […] meinem post Festplatten beim Neustart oder beim Anstecken immer unter dem selben Gerätenamen mounten hatte ich Ihnen als Lösung zum automatischen Mounten von angesteckten festplatten das Tool udev […]

  2. 4. Juni 2015

    […] automatisch immer unter dem selben mountpoint eingebunden werden. Wie das geht, habe ich Ihnen in diesem Post schonmal […]

Kommentar verfassen

This site uses Akismet to reduce spam. Learn how your comment data is processed.