Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze | ||
virtualizace:citrix-soft-raid [22.07.2009 10:46] wladik |
virtualizace:citrix-soft-raid [24.07.2009 07:27] wladik |
||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
====== Soft RAID pro XenServer 5.0+ ===== | ====== Soft RAID pro XenServer 5.0+ ===== | ||
- | |||
nainstalovat XenServer bez tvorby jakékoliv repository | nainstalovat XenServer bez tvorby jakékoliv repository | ||
Řádek 6: | Řádek 5: | ||
dd if=/dev/sda of=/dev/sdb bs=512 count=1 | dd if=/dev/sda of=/dev/sdb bs=512 count=1 | ||
- | Nastavit flagy na raid autodetect | + | Nastavit flagy oddílů na fd = raid autodetect |
echo -e "\nt\n1\nfd\nt\n3\nfd\nw\nx" | fdisk /dev/sdb | echo -e "\nt\n1\nfd\nt\n3\nfd\nw\nx" | fdisk /dev/sdb | ||
- | Vytvořit raid nody s kontrolou jestli existuje | + | Vytvořit raid nody s kontrolou jestli existují |
[ -e /dev/md0 ] || mknod /dev/md0 b 9 0 | [ -e /dev/md0 ] || mknod /dev/md0 b 9 0 | ||
[ -e /dev/md1 ] || mknod /dev/md1 b 9 1 | [ -e /dev/md1 ] || mknod /dev/md1 b 9 1 | ||
- | Vytvořit samotná raid1 pole | + | Vytvořit samotná raid1 pole jen s jedním diskem |
mdadm --create /dev/md0 --level=1 --raid-devices=2 missing /dev/sdb1 | mdadm --create /dev/md0 --level=1 --raid-devices=2 missing /dev/sdb1 | ||
mdadm --create /dev/md1 --level=1 --raid-devices=2 missing /dev/sdb3 | mdadm --create /dev/md1 --level=1 --raid-devices=2 missing /dev/sdb3 | ||
+ | |||
+ | Pokud už máme existující repository, tak musíme udělat tento krok | ||
+ | pvcreate /dev/md1 | ||
+ | volume_group=`vgscan | grep VG | awk -F \" '{print $2}'` | ||
+ | vgextend $volume_group /dev/md1 | ||
+ | pvmove /dev/sda3 /dev/md1 | ||
+ | # If this is a fresh install, then there won't be any data to move | ||
+ | vgreduce $volume_group /dev/sda3 | ||
Vytvořit filesystem a zkopírovat na něj obsah | Vytvořit filesystem a zkopírovat na něj obsah | ||
Řádek 26: | Řádek 33: | ||
sed -r -i 's,LABEL=root-\w+ ,/dev/md0 ,g' /mnt/etc/fstab | sed -r -i 's,LABEL=root-\w+ ,/dev/md0 ,g' /mnt/etc/fstab | ||
- | Vytvořit init image | + | Vytvořit initrd |
mkdir /root/initrd && cd /root/initrd | mkdir /root/initrd && cd /root/initrd | ||
zcat /boot/initrd-`uname -r`.img | cpio -i | zcat /boot/initrd-`uname -r`.img | cpio -i | ||
cp /lib/modules/`uname -r`/kernel/drivers/md/raid1.ko lib | cp /lib/modules/`uname -r`/kernel/drivers/md/raid1.ko lib | ||
+ | |||
+ | Zeditujeme init soubor | ||
+ | q="echo Waiting for driver initialization." | ||
+ | sed -r -i "s,^${q}$,\n\necho Loading raid1.ko module\ninsmod /lib/raid1.ko\n${q}\n,g" init | ||
+ | q="resume /var/swap/swap.001" | ||
+ | sed -r -i "s,^${q}$,${q}\necho Running raidautorun\nraidautorun /dev/md0\nraidautorun /dev/md1,g" init | ||
+ | r=`grep mkroot /root/initrd/init` | ||
+ | sed -r -i "s|^${r}$|${r/sda1/md0}|g" init | ||
+ | |||
+ | zkopírujeme init ramdisk do /boot na RAIDu | ||
find . -print | cpio -o -c | gzip -c > /mnt/boot/initrd-`uname -r`.img | find . -print | cpio -o -c | gzip -c > /mnt/boot/initrd-`uname -r`.img | ||
sed -r -i 's,LABEL=root-\w+ ,/dev/md0 ,g' /mnt/etc/fstab | sed -r -i 's,LABEL=root-\w+ ,/dev/md0 ,g' /mnt/etc/fstab | ||
sed -r -i 's,root=LABEL=root-\w+ ,root=/dev/md0 ,g' /mnt/boot/extlinux.conf | sed -r -i 's,root=LABEL=root-\w+ ,root=/dev/md0 ,g' /mnt/boot/extlinux.conf | ||
+ | |||
+ | Nastavíme bootování | ||
cat /usr/lib/syslinux/mbr.bin > /dev/sdb | cat /usr/lib/syslinux/mbr.bin > /dev/sdb | ||
cd /mnt | cd /mnt | ||
extlinux -i boot/ | extlinux -i boot/ | ||
+ | Pokud se to dělá vzdáleně, a nemůžeme fyzicky prohodit disky, tak | ||
+ | cp /mnt/boot/extlinux.conf /boot/ | ||
+ | cp /mnt/boot/initrd-`uname -r`.img /boot | ||
+ | Nakonec odmountujeme disk | ||
cd ; umount /mnt || umount /dev/md0 | cd ; umount /mnt || umount /dev/md0 | ||
sync | sync |
virtualizace/citrix-soft-raid.txt · Poslední úprava: 24.07.2009 07:27 autor: wladik