Hardver RAID esetén nincs semmi teendőnk, az egy RAID tömbbe tartozó össze merevlemezt csak egy darab HDD-nek látja a rendszer, így annak a boot sectorába (MBR, master boot record) települ a GRUB. Minden működik merevlemez csere esetén is. Azonban Szoftver RAID esetén már más a helyzet. Sima szoftveres megoldás esetén csak partíciókat[1] tudunk RAID-elni, így ha a merevlemez első sectorába (MRB) akarjuk telepíteni a GRUB-ot, nem lesz tükrözve. Azaz, ha adott két HDD, amiket RAID 1-be kötünk és az első lemez megsérül, egy reboot esetén a második HDD-ről nem tud majd elindulni a rendszer, mert csak az első lemez MBR-jébe települt a GRUB, de van megoldás!
A “trükk” lényege, hogy mindegyik merevlemezre rá kell rakni a GRUB-ot. RAID 1 esetén 2, RAID 5 esetén minimum 3 HDD-re kell telepíteni! FONTOS szem előtt tartani, hogy a GRUB nem tud RAID 5 partícióról boot-olni! Ennek fényében, ha a rendszert RAID 5 partíción szeretnénk tudni, a /boot könyvtárat mindenképpen külön, RAID 1-es partícióra kell rakni. RAID 5 esetén kössük RAID 1-be mind a három /boot partíciót és így telepítsük fel a GRUB-ot. A telepítése igen egyszerű, csak az alább parancsokat kell kiadni:
root@bash# grub grub> root (hdX,Y) grub> setup (hdZ) grub> quit root@bash#
A root paranccsal adjuk meg a /boot könyvtár helyét, ami alapértelmezetten a root (/) partíción van, de általában – szervereken – külön partíciót kap. A setup után adjuk meg, hogy melyik merevlemezre telepedjen. Az X, Y és Z sorszámozása nullától indul, azaz a 2. HDD 5-ös partíciója hd1,4. RAID 1-be kötött merevlemezek esetén a /boot tartalma mindegyik merevlemezen megegyezik, ezért a root (hdX,Y) parancs mindegyik merevlemezre történő telepítés esetén megegyezhet, azaz csak a setup paraméterét kell változtatni.
Feltételezve, hogy a rendszert RAID 5-ön (3 HDD + 1 spare HDD) szeretnénk tárolni, a /boot-ot pedig RAID 1-en (sda1, sdb1, sdc1 és sdd1), az alábbi parancssorozattal telepíthetjük fel a GRUB-ot mind a négy lemezre.
root@bash# grub grub> root (hd0,0) Filesystem type is ext2fs, partition type 0xfd grub> setup (hd0) Checking if "/boot/grub/stage1" exists... no Checking if "/grub/stage1" exists... yes Checking if "/grub/stage2" exists... yes Checking if "/grub/e2fs_stage1_5" exists... yes Running "embed /grub/e2fs_stage1_5 (hd0)"... 17 sectors are embedded. succeeded Running "install /grub/stage1 (hd0) (hd0)1+17 p (hd0,0)/grub/stage2 /grub/menu.lst"... succeeded Done. root@bash#
Ugyanezt végezzük el a RAID tömb többi elemére is:
root@bash# grub grub> root (hd0,0) Filesystem type is ext2fs, partition type 0xfd grub> setup (hd1) Checking if "/boot/grub/stage1" exists... no ... Done. grub> root (hd0,0) Filesystem type is ext2fs, partition type 0xfd grub> setup (hd2) Checking if "/boot/grub/stage1" exists... no ... Done. grub> root (hd0,0) Filesystem type is ext2fs, partition type 0xfd grub> setup (hd3) Checking if "/boot/grub/stage1" exists... no ... Done. grub> quit root@bash#
Ezzel felkerült a GRUB mindegyik merevlemezre, így bármelyik HDD-t is cseréljük ki, indulni fog a rendszer. Ha HDD hiba miatt kicseréljük valamelyik merevlemezt és új Spare HDD-t állítunk üzembe, ne feledkezzük meg a GRUB telepítéséről az új HDD-re.
[1] A teljes igazsághoz hozzátartozik, hogy nem csak partíciókat lehet Software-es RAID-be kötni, de a békesség kedvéért jobban járunk, ha Software RAID-be kötött eszközön nem hozunk létre partíciókat. Ha még is ez lenne a kívánság, akkor inkább használjuk az LVM-et.