RHEL – CENTOS 6 – chyba GRUBu u RAID 1

centos_smPři použití dvou disků v RAID 1 se můžeme setkat s nepříjemným problémem: Při selhání jednoho ze dvou disků systém nenastartuje. Z tohoto důvodu se doporučuje před ostrým nasazením vždy tuto věc vyzkoušet – tedy – zda systém je schopen nastartovat s pouze jedním z disků.

Problém je v chybném zápisu v grub.conf, resp. menu.lst, kde systém vyžaduje pro start vždy chybějící disk.
Příklad takového chybného zápisu (kráceno):

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd1,0)
# kernel /vmlinuz-version ro root=/dev/md2
# initrd /initrd-[generic-]version.img
#boot=/dev/md0
default=0
timeout=5
splashimage=(hd1,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-220.13.1.el6.i686)
root (hd1,0)
kernel /vmlinuz-2.6.32-220.13.1.el6.i686 ro …
SYSFONT=latarcyrheb-sun16 rhgb …
initrd /initramfs-2.6.32-220.13.1.el6.i686.img
title CentOS (2.6.32-220.el6.i686)
root (hd1,0)
kernel /vmlinuz-2.6.32-220.el6.i686 ro …
SYSFONT=latarcyrheb-sun16 rhgb …
initrd /initramfs-2.6.32-220.el6.i686.img

Jak je vidět, systém chce nalézt kernel na hd1, avšak pokud bootujeme pouze s jedním diskem, hd1 neexistuje.
Proto je třeba změnit nastavení na hd0. Nesmíme ovšem zapomenout změnit cestu i pro splashimage, jinak systém nenabootuje.