Stable root device (AKA UUID)
Given: server with SCSI disk for the system plus a SCSI storage in the back. The SCSI disk uses another driver than the SCSI storage. Installing Debian etch via grml is no problem, the system disk is /dev/sda, the SCSI storage is bound to /dev/sdb. But: who guarantees that /dev/sda is always the systemdisk? Using the Debian-kernel with initramfs isn’t capable of booting the system via root=/dev/sda1 because /dev/sda1 corresponds to the SCSI storage. (Side-note: the grml-kernel does not have this problem, it just boots the system without any problems at all. 8-))
Generic solution: use the power of UUID:
root@grml # /lib/udev/vol_id /dev/sda1 | grep UUID ID_FS_UUID=4a6aed11-42dd-4c82-81ce-8f469e93f210 root@grml # eval $(/lib/udev/vol_id /dev/sda1 | grep UUID) root@grml # ls -la /dev/disk/by-uuid/$ID_FS_UUID lrwxrwxrwx 1 root root 10 Aug 10 11:01 /dev/disk/by-uuid/4a6aed11-42dd-4c82-81ce-8f469e93f210 -> ../../sda1
Now we know the UUID and boot the system via root=UUID=… instead of a root=/dev/sda-entry:
title Debian Etch, kernel 2.6.15-1-686 (on /dev/sda1) root (hd0,0) kernel /boot/vmlinuz-2.6.15-1-686 root=UUID=4a6aed11-42dd-4c82-81ce-8f469e93f210 ro initrd /boot/initrd.img-2.6.15-1-686
Finally do not forget to adjust /etc/fstab as well for all entries:
UUID=e0164f78-9821-4eaf-bda7-1fd9b43a6f06 / ext3 defaults,errors=remount-ro 0 1 UUID=4a6aed11-42dd-4c82-81ce-8f469e93f210 /home ext3 defaults 0 0 UUID=0e88f32f-fb98-4279-b3bc-8edfc2046b5d none swap sw 0 0
August 13th, 2006 at 23:53
labels sind da imho etwas userfreundlicher.
nur der vollständigkeit halber
# xfs_admin -L test /dev/hda1
writing all SBs
new label = “test”
# findfs LABEL=test
/dev/hda1
August 13th, 2006 at 23:59
Wie schon miteinander besprochen, aber ebenfalls JFTR
kann man Labels nicht bei allen Dateisystemen im Nachhinein, und (noch wichtiger) ohne Remount ändern. Wenn man die Wahl hat, sind die Labels aber meist wartungsfreundlicher, ACK.
mfg,
-mika-