
Häufig sind Festplatten mit Ihren Device-Namen in der fstab gepflegt (z.B. /dev/sda). Das führt manchmal zu Problemen. Im schlechtesten Fall bootet das System nicht mehr. Das passiert dann, wenn die Zuordnung der Disks nicht mehr stimmt.
Mir war das bisher auch nicht so bewusst, bis ich vor kurzem ein Update von SLES10 auf SLES11 durchgeführt hab und der Updateassistent folgende Warnung ausgab.
Some partitions in the system on /dev/XdYZ are mounted by kernel-device name. This is not reliable for the update since kernel-device names are unfortunately not persistent. It is strongly recommended to start the old system and change the mount-by method to any other method for all partitions.
Ich hab das beim Update ignoriert und zuerst hat auch alles funktioniert. Als ich aber später eine weitere Disk hinzugefügt hatte, kam der Ärger und das System bootete nicht mehr.
Damit einem das nicht passiert, sollten man vorher dafür sorgen, dass die Festplatten und Partitionen per UUID zugeordnet sind. Dann bleibt auch die Warnung beim Update aus.
Man sollte hier sehr konzentriert arbeiten und auf jeden Fall Backups von den Files anlegen. Damit kann man im Fehlerfall schnell wieder zurück wechseln und erspart sich viel Ärger (z.B. Boot mit Rescue Disk).
Außerdem die UUID per Copy&Paste übertragen und nicht von Hand abtippen.
Alter Zustand ohne UUID
Inhalt: /etc/fstab
/dev/sdb1 / ext3 acl,user_xattr 1 0 /dev/sda1 /boot ext3 acl,user_xattr 1 0 /dev/sdc1 swap swap defaults 0 0
Inhalt: /boot/grub/menu.lst
title SLES for SAP Applications - 2.6.32.54-0.3 root (hd0,0) kernel /vmlinuz-2.6.32.54-0.3-default root=/dev/sdb1 resume=/dev/sdc1 splash=verbose SLES for SAP Applications - Basic instmode=cd sapbase=1 showopts vga=791 initrd /initrd-2.6.32.54-0.3-default
Neuer Zustand mit UUID
Inhalt: /etc/fstab
UUID=147ca5bf-c111-4596-a00c-ff572ba7d705 / ext3 acl,user_xattr 1 0 UUID=f745f349-f69e-4838-9a38-2e6b2dad363c /boot ext3 acl,user_xattr 1 0 UUID=6cf7a780-4d31-4c57-92cc-d745251cbb32 swap swap defaults 0 0
Inhalt: /boot/grub/menu.lst
title SLES for SAP Applications - 2.6.32.54-0.3 root (hd0,0) kernel /vmlinuz-2.6.32.54-0.3-default root=UUID=147ca5bf-c111-4596-a00c-ff572ba7d705 resume=UUID=6cf7a780-4d31-4c57-92cc-d745251cbb32 splash=verbose SLES for SAP Applications - Basic instmode=cd sapbase=1 showopts vga=791 initrd /initrd-2.6.32.54-0.3-default
Hinweise:
root
- ➙ „Root-Partition“
resume
- ➙ „SWAP-Disk/Partition“
Wie kann man die UUID herausfinden?
Die UUID kann man mit mehreren Varianten herausfinden.
Möglichkeit 1 – Befehl blkid
SERVER:/etc # blkid /dev/sdb1: UUID="147ca5bf-c111-4596-a00c-ff572ba7d705" TYPE="ext3" /dev/sda1: UUID="f745f349-f69e-4838-9a38-2e6b2dad363c" TYPE="ext3" /dev/sdc1: UUID="6cf7a780-4d31-4c57-92cc-d745251cbb32" TYPE="swap"
Möglichkeit 2 – Verzeichnis auflisten
Server:/etc # ls -l /dev/disk/by-uuid/ lrwxrwxrwx 1 root root 10 Mar 2 12:35 147ca5bf-c111-4596-a00c-ff572ba7d705 -> ../../sdb1 lrwxrwxrwx 1 root root 10 Mar 2 12:35 6cf7a780-4d31-4c57-92cc-d745251cbb32 -> ../../sdc1 lrwxrwxrwx 1 root root 10 Mar 2 12:35 f745f349-f69e-4838-9a38-2e6b2dad363c -> ../../sda1
Manchmal kann es vorkommen, dass beim erstellen der Partition keine UUID erzeugt wurde. Das ist abhängig von der verwendeten Version von mkfs. Mit dem Befehl „tune2fs“ kann man die UUID nachträglich hinzufügen.
uuidgen tune2fs /dev/hdaX -U numbergeneratedbyuuidgen vol_id /dev/hdaX
Oder als Einzeiler:
uuidgen | xargs tune2fs /dev/hdaX -U ; vol_id /dev/hdaX
Abschließender Hinweis
Gerade wenn man Linux unter VMWare betreibt, sollte man unbedingt auf UUID wechseln, da hier schnell mit wenig Klicks etwas an der virtuellen Hardware geändert wird und schon bootet das System nicht mehr.
Schreibe einen Kommentar