Внимание: все операции производятся только с первыми двумя разделами RAID, третий раздел не изменяется
В связи с тем, что обновление XenServer представляет собой установку нового XenServer с сохранением виртуальных машин, но потерей всех изменений, которые делались вручную на сервере (установленное ПО, изменение/добавление настроек через консоль и т.п.), обновление XenServer заключается в новой установке и подключении старых виртуальных машин.
Основано на: http://support.citrix.com/article/CTX120962
- Бэкап всего, что есть (на всякий случай), либо вручную:
xe vm-export vm=имя_виртуальной_машины filename=имя_файла compress=true ... xe pool-dump-database file-name=имя_дампа.dump
либо с помощью: XENBack
- Экспорт метаданных
xe vm-export metadata=true --multiple filename=VMEXPORT
Внимание: сохраните получившиеся файлы VMEXPORT… на другом компьютере
- Информация о локальном хранилище:
xe sr-list name-label="Local Storage"
должно вернуть следующее:
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
- Установите XenServer c подержкой Soft-RAID на первый диск, без добавления локального хранилища
Внимание: НЕ НАСТРАИВАЙТЕ локальное хранилище, если при установке для локального хранилища будет выбран какой-либо диск, уберите его — окно «Virtual Machine Storage»Отформатируйте корневой диск RAID, смонтируйте его в /mnt и скопируйте на него все файлы
mkfs.ext3 /dev/md0 mount /dev/md0 /mnt cp -vxpR / /mnt
Измените /mnt/etc/fstab — замените корневую фалйловую систему на /dev/md0.
sed -i 's/LABEL=[a-zA-Z\-]*\s\(.*\)/\/dev\/md0 \1/' /mnt/etc/fstab
Создайте новый загрузочный образ и разархивируйте его:
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
Отредактируйте файл ‘init’ — вставьте raidautorun …:
sed -i 's/raidautorun \/dev\/md0/raidautorun \/dev\/md0\nraidautorun \/dev\/md1\nraidautorun \/dev\/md2/' init
Скопируйте новый загрузочный образ в каталог /mnt/boot и измените загрузочное меню
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
замените в /mnt/boot/extlinux.conf строку «root=LABEL=root-…» на «root=/dev/md0» во всех пунктах меню
sed -i 's/LABEL=[a-zA-Z\-]*/\/dev\/md0/' extlinux.conf
Настройте MBR для GPT на /dev/sdb
cat /mnt/usr/share/syslinux/gptmbr.bin > /dev/sdb cd /mnt extlinux --raid -i boot/
Перезагрузите сервер (ВНИМАНИЕ: загрузка должна происходить со ВТОРОГО диска)
Когда XenServer загрузится, добавьте разделы с /dev/sda в массивы: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
Массивы RAID нуждаются в синхронизации, это может занять какое-то время. Вы можете отслеживать процесс синхронизации:
watch -n 1 cat /proc/mdstat
Когда все три массива синхронизируются, скопируйте настройки RAID в /etc/mdadm.conf
mdadm --detail --scan >> /etc/mdadm.conf
- После установки и включения RAID, включите локальное хранилище:
xe sr-introduce uuid=UUID_из_п_3 type=type_из_п_3 name-label=”Local storage” content-type=user xe pbd-create sr-uuid=UUID_из_п_3 device-config:device=/dev/md2 host-uuid=[TAB] xe pbd-plug uuid=UUID_созданного_PBD
В GUI обновить локальное хранилище: правая клавиша мыши->Upgrade
После включения локального хранилища, сделайте его хранилищем по-умолчанию (через GUI)
- Импортируйте метаданные для всех виртуальных машин (файлы из п.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)
спасибо, ночью будем спать, поедем к телу утром.