An unserem Server hängen USB Festplatten welche beim booten nicht automatisch gemountet werden können da während des Boot-Vorgangs der Kernel die USB Platten noch nicht erkannt hat.
Als weiteres Problem stellt sich dar das sich das jeweilige Device der USB Festplatte ändern kann wenn man einen anderen USB Port verwendet.
Das Problem des Devices lässt sich einfach über einen UUID Eintrag in der /etc/fstab Datei regeln:
UUID=36FC-D794 /home/usb-02 vfat noauto,async,rw,uid=vmware,gid=vmware 0 0
Somit ist es egal welchem Device die USB Platte zugeordnet wurde.
Nun muss die USB-Festplatte gemountet werden sobald Sie vom Kernel erkannt wurde.
Hierzu habe ich ein kleines script “dmount.pl” geschrieben:
#!/usr/bin/perl -w
use strict;
my $uid = shift (@ARGV) || '';
my $dest = shift (@ARGV) || '';
my $path = '/dev/disk/by-uuid/';
die 'first arg is uid' if $uid eq '';
die 'secord arg is mount path' if $dest eq '';
while (! (-e $path . $uid)) {
sleep (1);
}
system ('mount '.$dest);
Dieses Script wartet bis die übergebende UUID vorhanden ist und ruft dann “mount” auf.
Ein Eintrag kann in der “/etc/init.d/bootmisc.sh“-Datei am Ende in etwa wie folgt erfolgen:
# # delay mount usb harddrives /home/rhuesing/dmount.pl d245458e-026c-49f8-bd9f-746e88dae87b /home/usb-01 & /home/rhuesing/dmount.pl 36FC-D794 /home/usb-02 &
2 Kommentare
Neme sagt:
Dezember 14, 2008 von 16:24 (UTC 2 )
die fstab methode zum statischen erkennen von usb geräten muss ich mir merken.
wo du dich schon mit dem thema beschäftigt hast, hast du vielleicht auch ein script, das das jeweils letzte angeschlossene usb gerät mountet oder sowas? ich bin bisher immer faul gewesen und habe dafür meinen FM gestartet, damit der das per HAL automatisch macht
grüße
Neme
Sven sagt:
Januar 18, 2009 von 12:22 (UTC 2 )
Das ist zwar immer noch nicht so ganz elegant aber das Problem taucht in letzter Zeit hauefiger auf. Ich hatte da auch schon Spass mit als ich versucht habe /var auf mein usb raid zu verlegen. Ein zwischen gesteckter USB Hub verlaengert die Initialisierung natuerlich noch etwas.
Das residiert jetzt hier erstmal weiter auf der CF Karte. Stress Test fuer Flash Speicher.
Mal ernsthaft: Langfristig muss dafuer mal eine elegantere Loesung her. Irgendwo zwischen den mount scripten und der initrd braucht es ja nur nen schalter der im Falle von hotplug Geraeten lang genug wartet bis die komplette Initialisierung durch ist. Allerdings war der Schmerz jetzt auch noch nicht gross genug das ich selber angefangen habe zu graben wo und wie man das am cleversten erledigt.