Machmal kommt es vor, das unter Linux scsi devices ihre namen und somit die reihenfolge tauschen. Unter Linux werden scsi devices (auch SATA und USB) dynamisch eingebunden und bekommen auch dynamisch in /dev/ nach der reihenfolge Ihrer erkennung im System ihren Namen zugewiesen. Nun kann es vorkommen das die Devices Ihren Namen Tauschen, weil die Platte nicht anläuft (spin up) oder zu lange braucht, und schon bekommt sie einen anderen Namen zugewiesen und wird dann versehendlich als /dev/sdc → mit phy SCSI ID 11 gemountet wo voher /dev/sdc → mit phy SCSI ID 13 war. Dies führ oft zu problemen. Aber wie unter Linux üblich gibt es hier spezielle Möglichkeiten.
Konkretes:
Built-in persistent naming schemes
udev provides persistent naming for some device types out of the box. This is a very useful feature, and in many circumstances means that your journey ends here: you do not have to write any rules.
udev provides out-of-the-box persistent naming for storage devices in the /dev/disk directory. To view the persistent names which have been created for your storage hardware, you can use the following command:
# ls -lR /dev/disk
This works for all storage types. As an example, udev has created /dev/disk/by-id/scsi-SATA_ST3120827AS_4MS1NDXZ-part3
which is a persistent-named symbolic link to my root partition.
udev creates /dev/disk/by-id/usb-Prolific_Technology_Inc._USB_Mass_Storage_Device-part1
when I plug my USB flash disk in, which is also a persistent name.
mit
udevinfo -a -p /sys/block/sdb
Kommt man also an Informationen um sich udev Regeln zusammen zu stellen.
/etc/fstab and LABEL
Filed under:
* Linux
— 11:44
Unter Linux werden USB-Platten und andere Speichergeraete nach dem Einstecken ueber das naechsten freien SCSI disk device angesprochen. Zum Beispiel /dev/sda. Wenn man mehrere externe Geraete benutzt, und diese nicht immer in der gleichen Reihenfolge ansteckt, kommt die Reihenfolge der SCSI devices durcheinander. Wenn man das USB Speichermedium mit ext2 oder ext3 formatiert hat, kann man mit e2label ein Disklabel vergeben:
e2label /dev/sda1 DISK1
Und anschliessend das entsprechende label in /etc/fstab eintragen:
LABEL=DISK1 /mnt/disk1 ext3 noauto,rw,users,exec,nosuid 0 0
Dann ist es moeglich, auch als Benutzer ohne root Rechte, das Speichermedium, egal welches SCSI disk device zugeordnet ist, nur unter Angabe des Mountpoint einzubinden:
mount /mnt/disk1
bBlog laesst leider keine newlines in Kommentaren zu, deshalb quote ich Sebastians udec rules aus dem ersten Kommentar hier noch einmal:
Mit udev geht das aber imho eleganter und sogar noch Dateisystemunabhaengig. Hier mal meine udev-Rules:
BUS="scsi", KERNEL="sd?1", SYSFS{model}="BAR", NAME="usbstick"
BUS="scsi", KERNEL="sd?1", SYSFS{model}="FinePix 1400Zoom", NAME="digicam"
BUS="scsi", KERNEL="sd?1", SYSFS{vendor}="Apple", OPTIONS+="all_partitions", SYSFS{model}="iPod" NAME="ipod"
BUS="scsi", KERNEL="sd?", SYSFS{vendor}="StoreJet" NAME="wechselplatte"
mit
cat /proc/scsi/scsi
kann man übrigens unter Linux alle SCSI Laufwerke anzeigen lassen.
und mit dem Script (das es auch hier auf der Seite unter rescan-scsi-bus.sh gibt) kann man folglich mit
rescan-scsi-bus.sh
Den Bus neu scannen und neue Laufwerke erkennen und einer /dev/ node zuordnen lassen
— Bernd 2007/03/15 00:33