Soft RAID dla Xenserver Aby uruchomić XenServer na sw raid 1 należy najpierw przeprowadzić standardową instalację XenServer na dysku /dev/sda wraz z tworzeniem lokalnego storage dla VM na dowolnym dysku – wybieramy pierwszy z brzegu. Następnie postępować według poniższej procedury: Usunięcie istniejącego Storage Repository: ### START ### xe sr-list xe pbd-list sr-uuid=<local storage-uuid> xe pbd-unplug uuid=<uuid> xe sr-forget uuid=<local storage-uuid> Usunięcie partycji w/w Storage Repo: sed -i 's/metadata_read_only = 1/metadata_read_only = 0/' /etc/lvm/lvm.conf lvremove ... vgremove ... pvremove /dev/sda3 sed -i 's/metadata_read_only = 0/metadata_read_only = 1/' /etc/lvm/lvm.conf Przekopiowanie tablicy partycji z głównego dysku na drugi: sgdisk -R /dev/sdb /dev/sda sgdisk --typecode=1:fd00 /dev/sdb sgdisk --typecode=2:fd00 /dev/sdb sgdisk --typecode=3:fd00 /dev/sdb sgdisk --typecode=5:fd00 /dev/sdb sgdisk --typecode=6:fd00 /dev/sdb Stworzenie urządzeń SW Raid i dodanie partycji dysku nr 2: mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 missing mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdb2 missing mdadm --create /dev/md2 --level=1 --raid-devices=2 /dev/sdb3 missing mdadm --create /dev/md4 --level=1 --raid-devices=2 /dev/sdb5 missing mdadm --create /dev/md5 --level=1 --raid-devices=2 /dev/sdb6 missing Stworzenie systemów plików na nowych urządzeniach: mkfs.ext3 /dev/md0 mkfs.ext3 /dev/md4 mkswap /dev/md5 Zamontowanie i przekopiowanie folderów na nowy zasób: mount /dev/md0 /mnt mkdir -p /mnt/var/log mount /dev/md4 /mnt/var/log cp -xa / /mnt cp -xa /var/log /mnt/var Przekopiowanie konfiguracji mdadm: echo "MAILADDR root" > /mnt/etc/mdadm.conf echo "auto +imsm +1.x -all" >> /mnt/etc/mdadm.conf echo "DEVICE /dev/sd*[a-z][1-9]" >> /mnt/etc/mdadm.conf mdadm --detail --scan >> /mnt/etc/mdadm.conf cp /mnt/etc/mdadm.conf /etc Zmiana ustawień bootowania i ponowna instalacja grub: sed -i 's/LABEL=root-[a-zA-Z\-]*/\/dev\/md0/' /mnt/etc/fstab sed -i 's/LABEL=swap-[a-zA-Z\-]*/\/dev\/md5/' /mnt/etc/fstab sed -i 's/LABEL=logs-[a-zA-Z\-]*/\/dev\/md4/' /mnt/etc/fstab cp /mnt/etc/fstab /etc e2label /dev/sda1 |xargs -t e2label /dev/md0 mount --bind /dev /mnt/dev mount --bind /sys /mnt/sys mount --bind /proc /mnt/proc chroot /mnt /bin/bash cp /boot/initrd-$(uname -r).img /boot/initrd-$(uname -r).img.bak dracut --mdadmconf --fstab --add="mdraid" --add-drivers="raid1" --force /boot/initrd-$(uname -r).img $(uname -r) -M sed -i 's/quiet/rd.auto rd.auto=1 rhgb quiet/' /boot/grub/grub.cfg sed -i 's/LABEL=root-[a-zA-Z\-]*/\/dev\/md0/' /boot/grub/grub.cfg sed -i '/search/ i\ insmod gzio part_msdos diskfilter mdraid1x' /boot/grub/grub.cfg sed -i '/search/ c\ set root=(md/0)' /boot/grub/grub.cfg grub-install /dev/sda # Not sure if this works, since there is no raid on sda yet, so grub-install might not add the mdraid1x driver grub-install /dev/sdb exit cp /mnt/boot/initrd-3.10.0+10.img /boot/ cp /mnt/boot/grub/grub.cfg /boot/grub/grub.cfg reboot Skopiowanie tablicy partycji na dysk nr 1 oraz dodanie partycji dysku 1 do grupy RAID: sgdisk -R /dev/sda /dev/sdb mdadm -a /dev/md0 /dev/sda1 mdadm -a /dev/md1 /dev/sda2 mdadm -a /dev/md2 /dev/sda3 mdadm -a /dev/md4 /dev/sda5 mdadm -a /dev/md5 /dev/sda6 # To be super save install grub on sda again, since it discovers the raid and adds the required drivers. # grub-install /dev/sda Utworzenie nowego SR: xe sr-create content-type=user device-config:device=/dev/md2 host-uuid=<host-uuid> name-label="Local storage" shared=false type=ext ### END ###