Petr Hlobil - Osobní stránky jednoho informatika
PHP programátor, Linux administrátor, Tvorba webových stránek
- Nacházíte se zde:
- Linux
- Raid, LVM, GRUB
Poslední články
Raid, LVM, GRUB
http://d3d.org/linux/sw_raid.html
SW RAID + LVM + GRUB v Redhat EL 4
Kontrola připojení disku Fdisk
fdisk -l - výpis nového disku (v našem případě - sdb)
fdisk /dev/sdb
n,p,1,1,13 - vytvoření disku boot 100 MB
n,p,2,14,enter - zbytek disku
a,1 - nastavení disku jako boot
t,1,fd - Linux raid autodetect
t,2,fd - Linux raid autodetect
w - uložení nastavení
fdisk /dev/sda - změna nastavení SDA disků na fd typ
t,1,fd - Linux raid autodetect
t,2,fd - Linux raid autodetect
w - uložení nastavení
q - odchod
Konečný výsledek: fdisk -l
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 fd Linux raid autodetect
/dev/sda2 14 1044 8281507+ fd Linux raid autodetect
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 13 104391 fd Linux raid autodetect
/dev/sdb2 14 1044 8281507+ fd Linux raid autodetect
Vytváření RAIDu
echo 'DEVICE /dev/hd*[0-9] /dev/sd*[0-9]' >> /etc/mdadm.conf -- vytvoření kofiguráku raidu
mdadm --create /dev/md0 -l 1 -n 2 missing /dev/sdb1 -- vytvoření raidu s degradací jednoho disku BOOT
mdadm --create /dev/md1 -l 1 -n 2 missing /dev/sdb2 -- vytvoření raidu s degradací jednoho disku
sfdisk -d /dev/sda > /etc/partitions.sda - záloha partition tables (když vyhoří disk (to a samé pro sdb))
sfdisk /dev/sda < /etc/partitions.sda - obnova zálohovací tabulky (na nový disk (to a samé pro sdb))
cat /proc/mdstat - kontrola vytvoření raidu (synchronizace při dokončování raidu)
mdadm --detail /dev/md0 (/dev/md1) - detail o raidu
Vytváření LVM
pvcreate /dev/md0 - vytvoření partition
vgcreate vg01 /dev/md0 - vytvoření volum groupy
vgdisplay -v vg00 - podle výpisu velikosti partition vytvořit stejné v nové vg01
lvcreate -L 5G -n root vg01 - vytvoření LVM partition o velikosti 5GB
lvcreate -L 1G -n swap vg01 - vytvoření LVM partition o velikosti 1GB
vgdisplay -v vg01 - kontrola volum groupy
mkfs.ext3 /dev/vg01/root - naformátování partition root (opakovat pro další adresáře /home /opt)
mkswap /dev/vg01/swap - naformátování swapu
swapon /dev/vg01/swap - zapnutí swapu
Vytvoření nového adresářového stromu z LVM
mkdir /mnt/newroot - vytvoření bodu pro mount nového rootu
mount /dev/vg01/root /mnt/newroot - připojení nového svazku
rsync -avx --delete / /mnt/newroot - přenesení souborů do nového root
mkdir /mnt/newopt - vytvoření bodu pro mount nového opt (opakovat pro další adresáře /home /tmp)
mount /dev/vg01/opt /mnt/newopt - připojení nového svazku
rsync -avx --delete /opt /mnt/newopt - přenesení souborů do nového opt
vi /boot/grub/menu.lst
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux ES RAID 1 (2.6.9-11.EL) SW RAID 1
root (hd0,0)
kernel /vmlinuz-2.6.9-11.EL ro root=/dev/vg01/root quiet změna !!
initrd /initrd-2.6.9-11.RAID.EL.img změna nový initrd !!
boot # vložit
title Red Hat Enterprise Linux ES RAID 1 (2.6.9-11.EL) [Miror Rescue]
root (hd1,0) -- změna !!
kernel /vmlinuz-2.6.9-11.EL ro root=/dev/vg01/root quiet
initrd /initrd-2.6.9-11.RAID.EL.img
boot
Vytvoření nového boot - před vytvářením mkinitrd
mkdir /mnt/newboot - vytvoření bodu pro mount nového bootu
mount /dev/md0 /mnt/newboot - připojení nového svazku
rsync -avx --delete /boot /mnt/newboot - přenesení souborů do nového bootu
grub-install /dev/sda (případně grub-install --recheck /dev/sda)
grub-install /dev/sdb (případně grub-install --recheck /dev/sdb) - zapsání nového grub do MBR
vi /etc/fstab
/dev/vg01/root / ext3 defaults 1 1
/dev/vg01/opt /opt ext3 defaults 1 1
/dev/md0 /boot ext3 defaults 1 2
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
/dev/vg01/swap swap swap defaults 0 0
změnit fstab tabulku - nesmí tam být LABEL u /boot + změna VG01 u root a swap (případně dalších /home /tmp /opt)
Boot
mkinitrd /boot/initrd-2.6.x-x.RAID.EL.img --preload raid1 2.6.x-x.0.EL - vytvoření initrd obrazu s podporou raid1
umount /mnt/newboot - provést se všemi nově přimoutovanými disky
sync
sync
umount /boot - odpojení boot z sda1
mdadm --add /dev/md0 /dev/sda1 - přidání sda1 disku do raidu
Reboot
Systém by měl naběhnout v degradovaném Raidu 1 s LVM vg01
vgchange -a n /dev/vg00 - deaktivace vg00
ls /dev/vg* - mělo by se vypsat jen vg01
mdadm --add /dev/md1 /dev/sda2 - přidaní sda2 disku do raidu
cat /proc/mdstat - kontrola synchronizace
Personalities : [raid1]
md1 : active raid1 sda2[2] sdb2[0]
8281408 blocks [2/1] [U_]
[>....................] recovery = 0.2% (22528/8281408) finish=18.2min speed=7509K/sec
md0 : active raid1 sda1[1] sdb1[0]
104320 blocks [2/2] [UU]
unused devices:
Kontola /boot/grub/menu.lst - podle sekce BOOT
Boot z raidu - aby grub mohl nastartovat z sdb disku po výpadku sda disku a opačně.
grub
grub>device (hd0) /dev/sda
grub>root (hd0,0)
grub>setup (hd0)
grub>quit
grub
grub>device (hd1) /dev/sdb
grub>root (hd1,0)
grub>setup (hd1)
grub>quit
Monitoring výpadku Disku z Raidu
mdadm --monitor --mail=root@localhost --delay=1800 /dev/md0
Vložení informací do mdadm.conf
mdadm --detail --scan >> /etc/mdadm.conf - vložení inform. do mdadm.conf
DEVICE /dev/hd*[0-9] /dev/sd*[0-9]
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=a29f76b0:9f3cd33a:46db3ba4:1de7151d devices=/dev/sdb2,/dev/sda2
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=4f135a0d:eb0ecb32:1b008f60:80aeae32 devices=/dev/sdb1,/dev/sda1
Odbrání disku z Raidu
mdadm --fail /dev/md0 /dev/sda1 - označí disk jako špatný
mdadm --remove /dev/md0 /dev/sda1 - odebere disk z Raidu
Test Výpadku disku
V biosu vypneme disk (třeba sda) měli by jsme nabootovat v degradovanám Raidu. Kontrola:
mdadm --detail /dev/md0 (md1)
cat /proc/mdstat
Reboot
Zapneme zas v biosu disk a nastartujem systém. Opět by měl systém nabootovat v degradovaném Raidu.
Zkontolujem fdisk -l zda je druhý disk opět vidět v systému. Nebude mít žádné rozdělení,
abychom nemuseli opětovně vše rozdělovat použijem naši zálohu tabulky, kterou jsme dělali na začátku :)
tj: sfdisk --force /dev/sdb < /etc/partitions.sdb -- Teď se nám vrátila původní tabulka rozdělení.
Přidáme disk do Raidu
mdadm /dev/md0 -a /dev/sdb1 * přidání boot
mdadm /dev/md1 -a /dev/sdb2 * přidání zbytku
Kontrola synchronizace cat /proc/mdstat
grub
grub>device (hd0) /dev/sda
grub>root (hd0,0)
grub>setup (hd0)
grub>device (hd1) /dev/sdb
grub>root (hd1,0)
grub>setup (hd1)
grub>quit
Reboot
Systém zas naběhne v Raidu !? :)
Odkazy:
http://hilli.dk/howtos/lvm2-and-software-raid-in-linux/
http://www.linuxsoft.cz/article.php?id_article=723
http://lists.us.dell.com/pipermail/linux-poweredge/2003-July/008898.html
http://unthought.net/Software-RAID.HOWTO/Software-RAID.HOWTO-5.html