Wir ertrinken in Information, aber hungern nach Wissen [John Naisbitt]

Site menu:


Letzte Kommentare

Links:

Counter

blogoscoop

Bloggerei

Blogverzeichnis - Blog Verzeichnis bloggerei.de

Archiv

Tag Cloud

Wechsel-Datenträger unter Linux mit UUIDs richtig einsetzen

Früher war alles ganz einfach. Man baute eine Festplatte ein, startete den Rechner, sie war da und hatte ihren festen Devicepfad (/dev/sda1 oder /dev/hde3) und Einbindepunkt (/cdrom). Daran, das man sie im laufenden Betrieb einbinden oder entfernen wollte war nicht zu denken. Seitdem immer mehr Leute USB-Festplatten oder -Sticks benutzen und die Distributionen mehr und mehr auf udev setzn, umso überkommener ist es mit Device-Pfaden zu arbeiten, denn sie können sich sehr schnell ändern. Einige behelfen sich, indem sie ihre Festplatten oder USB-Sticks über udev feste Devices zuordnen, aber wirklich toll und einfach ist diese Lösung nicht. Hier bieten sich UUIDs an, da sie eine feste Zuordnung bieten auch wenn sie Device-Namen verschieben sollten, weil man USB-Stick und Festplatte gleichzeitig nutzt oder eine zweite Platte einsetzen möchte.

UUIDs sind schon da

Wer schonmal in seine /etc/fstab bei Ubuntu Edgy geschaut hat, wird feststellen das sie sich etwas verändert hat:

# /dev/sda4 -- converted during upgrade to edgy
UUID=7b848512-94bc-4e1e-ba2c-a74e664713bf / ext3 defaults 0 1

Der Device-Pfad wurde durch die UUID ersetzt und auch der Boot-Loader grub wurde entsprechend angepasst:

# kopt=root=UUID=7b848512-94bc-4e1e-ba2c-a74e664713bf ro

Dabei sind UUIDs keine Neuheit, sie gibt es mindestens seit 1999, daher verfügt quasi jedes in den letzten Jahren erzeugtes Linux-Filesystem über diese eindeutige Kennung und an sie rauzukommen ist sehr einfach:

tempel$ ls -lF /dev/disk/by-uuid
total 0
lrwxrwxrwx 1 root root 10 Jan 18 19:01 0EDCF622DCF6042D -> sda2
lrwxrwxrwx 1 root root 10 Jan 18 18:01 2e2480a4-a8fe-420a-835a-7f7e238cd717 -> sda6
lrwxrwxrwx 1 root root 10 Jan 18 19:01 563041da-94c3-4b27-bfcc-4aab83b4b7c3 -> sda5
lrwxrwxrwx 1 root root 10 Jan 18 19:01 7490B9EC90B9B548 -> sda1
lrwxrwxrwx 1 root root 10 Jan 18 19:01 7b848512-94bc-4e1e-ba2c-a74e664713bf -> sda4

Alle Linux-Dateisysteme unterstützen UUIDs, wobei die für Wanderer zwischen den Welten wichtigen VFAT und NTFS Dateisysteme sie eigentlich nicht unterstützen. Kein Grund zur Panik, denn die obigen sda1 und sda2 sind NTFS-Partitionen, Linux ist da also nicht so engstirnig. Bei VFAT kann es schon passieren, das keine ID angezeigt wird, dann hilft manchmal der Befehl blkid oder das neuformatieren unter Linux mit mkfs.msdos -F 32 /dev/foo. Ein fertiger Eintrag in die FSTAB sieht dann so aus:

UUID=45D8-AFA7  /media/seagate  vfat    utf8,umask=007,gid=550 0 1

Weitere Einsatzgebiete

Wie oben schon angesprochen gilt diese Vorgehensweise für alle Wechselmedien die ein Filesystem haben können, also USB-Sticks, CF- oder SD-Karten. Auch sind UUIDs eine gute Lösung wenn mehrere Zugriffs-Pfade zu einen Dateisystem bestehen, wie z.B. bei Software-Raid oder in einen Server mit redundanten SAN-Anschluss.

Referenzen: Sidux Manuals und Stable root device (AKA UUID)