Warning: all operations are carried out only with the first two RAID partitions, the third partition is not changed
Due to the fact that the standard update is a XenServer installation of the new XenServer with virtual machines preservation, with the loss of all the changes that were made manually on the server (installed software, changing / adding settings through the console, etc.), the update is the new XenServer installation and connection of the old virtual machines.
Based on: http://support.citrix.com/article/CTX120962
- Backup all VM, manually:
xe vm-export vm=vm_name filename=backup_fiule_name compress=true ... xe pool-dump-database file-name=dump_name.dump
or with XENBack
- VM metadata export
xe vm-export metadata=true --multiple filename=VMEXPORT
Warning: store all files VMEXPORT… to another computer/data store/etc
- Local storage info:
xe sr-list name-label="Local Storage"
should return something like the following:
uuid ( RO) : 94093206-3d5e-c95c-9b7e-edbf55dbf3c2 name-label ( RW): Local Storage name-description ( RW): host ( RO): vmhost-02 type ( RO): lvm content-type ( RO): user
- Install XenServer to the first drive, but without local storage
Note: Do not configure a local repository, if during installation for the local repository is selected a disk, remove selection – the window “Virtual Machine Storage”Format the RAID root disk, mount it at /mnt and copy all to it
mkfs.ext3 /dev/md0 mount /dev/md0 /mnt cp -vxpR / /mnt
Modify /mnt/etc/fstab and change root filesystem to /dev/md0. (Do NOT include the LABEL=)
sed -i 's/LABEL=[a-zA-Z\-]*\s\(.*\)/\/dev\/md0 \1/' /mnt/etc/fstab
Create a new boot image and uncompress it:
mkdir /mnt/root/initrd-raid mkinitrd -v --fstab=/mnt/etc/fstab /mnt/root/initrd-raid/initrd-`uname -r`-raid.img `uname -r` cd /mnt/root/initrd-raid zcat initrd-`uname -r`-raid.img | cpio -i
Edit ‘init’ and insert ‘raidautorun …’:
sed -i 's/raidautorun \/dev\/md0/raidautorun \/dev\/md0\nraidautorun \/dev\/md1\nraidautorun \/dev\/md2/' init
Copy the new ramdisk to the /mnt/boot folder and modify boot menu
find . -print | cpio -o -Hnewc | gzip -c > /mnt/boot/initrd-`uname -r`-raid.img rm /mnt/boot/initrd-2.6-xen.img cd /mnt/boot/ ln -s initrd-`uname -r`-raid.img initrd-2.6-xen.img
Replace in /mnt/boot/extlinux.conf string “root=LABEL=root-…” to “root=/dev/md0″ in all menu entries
sed -i 's/LABEL=[a-zA-Z\-]*/\/dev\/md0/' extlinux.conf
Set up MBR for GPT on /dev/sdb
cat /mnt/usr/share/syslinux/gptmbr.bin > /dev/sdb cd /mnt extlinux --raid -i boot/
Reboot (IMPORTANT: Set your server to boot from the SECONDARY HDD before booting!)
When XenServer is up again, include /dev/sda in the array with the following commands:sgdisk --new=3:16779264:DISK_SIZE-34 /dev/sda sgdisk --attributes=1:set:2 /dev/sda sgdisk --typecode=1:fd00 /dev/sda sgdisk --typecode=2:fd00 /dev/sda sgdisk --typecode=3:fd00 /dev/sda mdadm -a /dev/md0 /dev/sda1 mdadm -a /dev/md1 /dev/sda2 mdadm -a /dev/md2 /dev/sda3
The array needs to complete its synchronisation. That is gonna take a while. Follow its progress with:
watch -n 1 cat /proc/mdstat
When it’s done on all three arrays, copy the RAID setup to /etc/mdadm.conf
mdadm --detail --scan >> /etc/mdadm.conf
- After installed XenServer and all arrays synchronized, enable local storage
xe sr-introduce uuid=UUID_from_section_3 type=type_from_section_3 name-label=”Local storage” content-type=user xe pbd-create sr-uuid=UUID_from_section_3 device-config:device=/dev/md2 host-uuid=[TAB] xe pbd-plug uuid=previous_returned_UUID
If need, upgrade local storage in GUI: right mouse click on Local storage->Upgrade
After enabling local storage, make it a default (via GUI)
- Import the metadata for all the virtual machines files (files from section 2)
xe vm-import metadata=true filename=VMEXPORT...
[…] PS: Update for installed system: XenServer with software RAID1 update (6.1 to 6.2) […]
Добрый день!
Устанавливал ксен на программный рэйд по Вашим манам 6.1. У меня сейчас появилась необходимость в апгрейде. Обновление по данной инструкции достаточно не просто. А если делать апгрейд через стандартную меню Rolling pool upgrade через утилиту ксена, обновление не получится?
Второй вопрос: сервер находится далеко, есть какая то необходимость быть рядом с сервером? Существует ли такая возможность отключения ssh при данной процедуре?
Здравствуйте,
1. Теоретически через Rolling pool upgrade обновится можно… но за последстия я не отвечаю ? Проблема в том, что у Вас xen установлен на програмном рейде, который сам установщик скорее всего не поймет, так что можно либо получить сообщение о неизвестной системе, либо потерять все данные.
2. Учитывая, что это в любом случае новая установке, с ssh точно будут проблемы. В случае удаленного сервера обязательно нужно иметь возможность удаленного управления (KVM)
спасибо, ночью будем спать, поедем к телу утром.