Проверено, работает. В отличии от статьи описнной на Citrix минимальное кол-во дисков 2 а не 3 и на рэйде не только SR но и сама система XenServer. Очень полезно при использовании на дешевых серверах с FAKERAID (например Intel Embedded RAID) Правда при загрузке в биосе показывает что рэйд DEGRADED. Кроме того можно использовать на любых серверах без рэйда вообще.
Найдено тут
Configure XenServer 5.0 Free for Software RAID 1
I used the notes from some guy on the Citrix forums. I wish that I had his name so I could give him credit but it’s not here on the stuff I printed out.
On with the show.
To make this work, you need to drives in your system. The second drive must be identical or larger than the first, and you must have installed XenServer to the first drive without selecting the second drive as part of the storage pool.
Install XenServer as usual. Do not select any extra drives as storage pools.
After installation, boot up, and login into console 3 (Alt-F3) as root
type fdisk -l to list the partitions:
Most likely your disks are represented by SCSI device names under linux / XenServer 5.0
in that case your boot disk would be /dev/sda,
To copy the partition table from /dev/sda to /dev/sdb you can use dd
dd if=/dev/sda of=/dev/sdb bs=512 count=1
Now set the partition table up on /dev/sdb the way it should be for Linux RAID. This means setting the partition types to 0xfd.
I used the following command:
echo -e "\nt\n1\nfd\nt\n3\nfd\nw\nx" | fdisk /dev/sdb
That tells says to fdisk, “tag partition 1 as type 0xfd, tag partition 3 as type 0xfd”
Check to make sure the /dev/md? devices are present
[ -e /dev/md0 ] || mknod /dev/md0 b 9 0
[ -e /dev/md1 ] || mknod /dev/md1 b 9 1
Startup the degraded RAID devices
mdadm --create /dev/md0 --level=1 --raid-devices=2 missing /dev/sdb1
mdadm --create /dev/md1 --level=1 --raid-devices=2 missing /dev/sdb3
The following procedure is directly from the other guys notes. I’ve modified the commands to what I think works a little better.
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
Now we’re ready to copy the filesystem over to the RAID device /dev/md0
mkfs.ext3 /dev/md0
cd / && mount /dev/md0 /mnt && rsync -a --progress --exclude=/sys --exclude=/proc --exclude=/dev/shm --exclude=/dev/pts / /mnt
mkdir /mnt/sys
mkdir /mnt/proc
sed -r -i 's,LABEL=root-\w+ ,/dev/md0 ,g' /mnt/etc/fstab
Now let’s setup initrd
mkdir /root/initrd && cd /root/initrd
zcat /boot/initrd-`uname -r`.img | cpio -i && \
cp /lib/modules/`uname -r`/kernel/drivers/md/raid1.ko lib
Now we have to edit the init file
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
Now we’ll copy the initial ramdisk to the /boot on the new RAID
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' /etc/fstab
And setup the boot loader
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' /boot/extlinux.conf
cat /usr/lib/syslinux/mbr.bin > /dev/sdb
cd /mnt && extlinux -i boot/
extlinux -i boot/
If you’ve done this remotely, you can try the following.
cp /mnt/boot/extlinux.conf /boot/
cp /mnt/boot/initrd-`uname -r`.img /boot
Unmount /dev/md0, sync, and reboot
cd ; umount /mnt || umount /dev/md0
sync
reboot
First we tag the partitions as type Linux raid, then we have to add /dev/sda to the RAID.
echo -e "\nt\n1\nfd\nt\n3\nfd\nw\nx" | fdisk /dev/sda
mdadm -a /dev/md0 /dev/sda1
mdadm -a /dev/md1 /dev/sda3
Troubleshooting
The first time I did this procedure I got stuck because my rsync didn’t copy /proc and /sys like I asked it not to. So I had to add the step of creating those two directories so they could be mounted at boot.
After messing around with it a little, I came up with this command line to boot XenServer 5 from extlinux.
mboot.c32 /boot/xen.gz dom0_mem=752M --- /boot/vmlinuz-2.6-xen root=/dev/md0 single --- /boot/initrd-2.6-xen.img
Установка XenServer на software RAID
24 July 2017
Citrix Xen, Linux, RAID
No Comments
bakabuka
Install XenServer on software RAID
Проверено, работает. В отличии от статьи описнной на Citrix минимальное кол-во дисков 2 а не 3 и на рэйде не только SR но и сама система XenServer. Очень полезно при использовании на дешевых серверах с FAKERAID (например Intel Embedded RAID) Правда при загрузке в биосе показывает что рэйд DEGRADED. Кроме того можно использовать на любых серверах без рэйда вообще.
Найдено тут
Configure XenServer 5.0 Free for Software RAID 1
I used the notes from some guy on the Citrix forums. I wish that I had his name so I could give him credit but it’s not here on the stuff I printed out.
On with the show.
To make this work, you need to drives in your system. The second drive must be identical or larger than the first, and you must have installed XenServer to the first drive without selecting the second drive as part of the storage pool.
Install XenServer as usual. Do not select any extra drives as storage pools.
After installation, boot up, and login into console 3 (Alt-F3) as root
Most likely your disks are represented by SCSI device names under linux / XenServer 5.0
in that case your boot disk would be /dev/sda,
To copy the partition table from /dev/sda to /dev/sdb you can use dd
Now set the partition table up on /dev/sdb the way it should be for Linux RAID. This means setting the partition types to 0xfd.
I used the following command:
That tells says to fdisk, “tag partition 1 as type 0xfd, tag partition 3 as type 0xfd”
Check to make sure the /dev/md? devices are present
Startup the degraded RAID devices
The following procedure is directly from the other guys notes. I’ve modified the commands to what I think works a little better.
Now we’re ready to copy the filesystem over to the RAID device /dev/md0
Now let’s setup initrd
Now we have to edit the init file
Now we’ll copy the initial ramdisk to the /boot on the new RAID
And setup the boot loader
If you’ve done this remotely, you can try the following.
Unmount /dev/md0, sync, and reboot
First we tag the partitions as type Linux raid, then we have to add /dev/sda to the RAID.
Troubleshooting
The first time I did this procedure I got stuck because my rsync didn’t copy /proc and /sys like I asked it not to. So I had to add the step of creating those two directories so they could be mounted at boot.
After messing around with it a little, I came up with this command line to boot XenServer 5 from extlinux.
CitrixLinuxraidsoftware raidxenxenserver