Fstab a maszyny wirtualne

Pewnego czasu u mojego znajomego nie uruchomił się SLES zainstalowany jako maszyna wirtualna na Hyper-V core. Po analizie okazało się, że winna tej sytuacji jest migawka (snapshot) wykonana przed restartem systemu. Zapytacie dlaczego ? Otóż migawka zmieniła systemowy identyfikator pliku (dysku wirtualnego) do którego odnosił się wpis w /etc/fstab. Aby uniknąć takich sytuacji można wykonać to co opisuję poniżej.

W pliku /etc/fstab należy zastosować bezpośrednie odwołanie do UUID dysku (stałego identyfikatora dysku) zamiast stosowania linków, czy wpisów w postaci bloków np. /dev/sda* Wartość UUID nigdy się nie zmienia, dlatego mamy pewność, że system odwoła się zawsze do odpowiedniego miejsca na dysku (partycji). Zwłaszcza, jeżeli pracujemy na maszynach wirtualnych z możliwością tworzenia obrazu systemu (snapshot) w danej chwili. Wpis powinien mieć następującą postać: UUID=id_dysku (id_dysku bez cudzysłowia). Ponadto UUID odpowiednich partycji dopisz również do konfiguracji GRUB-a (programu startowego) w Yast lub bezpośrednio w pliku: /boot/boot/grub/menu.lst.

Przykładowy wpis (w pliku menu.lst – partycja / root ma UUID=aee52039-5fc5-4469-a190-0eec997f0d69):
kernel (hd0,1)/vmlinuz-3.0.13-0.27-default root=UUID=aee52039-5fc5-4469-a190-0eec997f0d69 resume=UUID=63a3beec-5635-46f6-9a8e-9ceaef36228a splash=silent crashkernel=256M-:128M showopts vga=0x31a

Jak sprawdzić jakie UUID ma dany dysk (partycja) ? Wystarczy wydać polecenie: blkid
W SUSE Linux możesz też wejść do katalogu /dev/disk/by-uuid i wydać polecenie ls -la. Przykład wyniku działania obydwu przypadków poniżej:
fstab3

Przewijanie do góry