Deprecated: Assigning the return value of new by reference is deprecated in /home/www/web535/html/dokuwiki/inc/parserutils.php on line 202

Deprecated: Assigning the return value of new by reference is deprecated in /home/www/web535/html/dokuwiki/inc/parserutils.php on line 205

Deprecated: Assigning the return value of new by reference is deprecated in /home/www/web535/html/dokuwiki/inc/parserutils.php on line 314

Deprecated: Assigning the return value of new by reference is deprecated in /home/www/web535/html/dokuwiki/inc/parserutils.php on line 454

Deprecated: Function split() is deprecated in /home/www/web535/html/dokuwiki/inc/auth.php on line 146

Warning: Cannot modify header information - headers already sent by (output started at /home/www/web535/html/dokuwiki/inc/parserutils.php:202) in /home/www/web535/html/dokuwiki/inc/auth.php on line 236

Warning: Cannot modify header information - headers already sent by (output started at /home/www/web535/html/dokuwiki/inc/parserutils.php:202) in /home/www/web535/html/dokuwiki/inc/actions.php on line 128
linux:howto:persist_dev_namen [wiki.BerndLux.de]
 

Deprecated: Assigning the return value of new by reference is deprecated in /home/www/web535/html/dokuwiki/inc/parser/parser.php on line 66

Deprecated: Assigning the return value of new by reference is deprecated in /home/www/web535/html/dokuwiki/inc/parser/lexer.php on line 292

Deprecated: Assigning the return value of new by reference is deprecated in /home/www/web535/html/dokuwiki/inc/parser/handler.php on line 22

Deprecated: Assigning the return value of new by reference is deprecated in /home/www/web535/html/dokuwiki/inc/parser/handler.php on line 44

Deprecated: Assigning the return value of new by reference is deprecated in /home/www/web535/html/dokuwiki/inc/parser/handler.php on line 208

Deprecated: Assigning the return value of new by reference is deprecated in /home/www/web535/html/dokuwiki/inc/parser/handler.php on line 236

Deprecated: Assigning the return value of new by reference is deprecated in /home/www/web535/html/dokuwiki/inc/parser/handler.php on line 290

Deprecated: Assigning the return value of new by reference is deprecated in /home/www/web535/html/dokuwiki/inc/parser/handler.php on line 323

Deprecated: Assigning the return value of new by reference is deprecated in /home/www/web535/html/dokuwiki/inc/parser/handler.php on line 560

Deprecated: Function split() is deprecated in /home/www/web535/html/dokuwiki/inc/parser/lexer.php on line 510

Deprecated: Function split() is deprecated in /home/www/web535/html/dokuwiki/inc/parser/lexer.php on line 510

Deprecated: Function split() is deprecated in /home/www/web535/html/dokuwiki/inc/parser/lexer.php on line 510

Deprecated: Function split() is deprecated in /home/www/web535/html/dokuwiki/inc/parser/lexer.php on line 510

Deprecated: Function split() is deprecated in /home/www/web535/html/dokuwiki/inc/parser/lexer.php on line 510

Deprecated: Function split() is deprecated in /home/www/web535/html/dokuwiki/inc/parser/lexer.php on line 510

Deprecated: Function split() is deprecated in /home/www/web535/html/dokuwiki/inc/parser/lexer.php on line 510

Deprecated: Function split() is deprecated in /home/www/web535/html/dokuwiki/inc/parser/lexer.php on line 510

Deprecated: Function split() is deprecated in /home/www/web535/html/dokuwiki/inc/parser/lexer.php on line 510

Deprecated: Function split() is deprecated in /home/www/web535/html/dokuwiki/inc/parser/lexer.php on line 510

Deprecated: Function split() is deprecated in /home/www/web535/html/dokuwiki/inc/parser/lexer.php on line 510

Deprecated: Function split() is deprecated in /home/www/web535/html/dokuwiki/inc/parser/lexer.php on line 510

Deprecated: Function split() is deprecated in /home/www/web535/html/dokuwiki/inc/parser/lexer.php on line 510

Deprecated: Function split() is deprecated in /home/www/web535/html/dokuwiki/inc/parser/lexer.php on line 510

Deprecated: Function split() is deprecated in /home/www/web535/html/dokuwiki/inc/parser/lexer.php on line 510

Deprecated: Assigning the return value of new by reference is deprecated in /home/www/web535/html/dokuwiki/inc/parser/xhtml.php on line 980

Persistent device Namen

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

 
linux/howto/persist_dev_namen.txt · Zuletzt geändert: 2007/03/15 00:34 von bernd
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki