Портал информационной и технической поддержки ПО образовательных учреждений РФ

SPO HELP
  • Новости
  • Продукты
  • Поддержка
  • Учебный центр
  • Документация
  • Сообщество
  • Форумы
       
  • Вход
  • Регистрация

Форумы → Сетевое взаимодействие СПО и ППО → xenserver 6.2 как мощное средство виртуализации серверов
Последние записи

xenserver 6.2 как мощное средство виртуализации серверов

Подписаться на xenserver 6.2 как мощное средство виртуализации серверов Сообщений: 1, участников: 1 Теги: xenserver сервер виртуализация

  • Участвуют:
  • Родион Леонидович Лицуков
Ответить


05 сентября 2013, 20:10
Piter_medium Родион Леонидович Лицуков Записей: 51

Хочу поделиться опытом развертывания системы вирнтаулизации XenServer 6.2.0 на мощном сервере (2x QuadCore Intel Xeon E5620, 2400 MHz, 24Gb DDR3), с одним лишь только отличием: сам сервер собран на линуксе и он никак не захочет увидеть RAID-массивы, поэтому данный опыт покажет как это можно осуществить средствами самого ксенсервера.

Пересмотрел очень много мануалов в интернете, но именно к версии 6.2 они меньше всего подходили, а все потому что с выходом данной версии компания Citrix перевела проект в Open Source, и теперь все исходники в открытом виде (и сам дистри сервера) лежит на новом адресе xenserver.org

Уменя было два жестких диска по 1 Tb, вот из них и будем делать RAID-массив.

Для начала ставим систему на первый диск. При установке надо отказаться от подключения хранилища виртуальных машин. Для этого на экране Virtual Machine Storage надо в первой строке снять галочку. Хранилище подключим после создания массива. А если создать его сейчас огребем лишнюю головную боль по последующему его переносу.
После установки системы и загрузки переходим в консоль и смотрим структуру диска созданного установщиком:

sgdisk -p /dev/sda

главное обратить внимание на первые три столбика (нам важны цифры стартового и конечного секторов):

Disk /dev/sda: 1953525168 sectors, 931.5 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 77D7DEB8-2759-490F-9BA9-7269A5F9247C
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 1953525134
Partitions will be aligned on 2048-sector boundaries
Total free space is 61936751913 sectors (923.5 GiB)
Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048         8388641   4.0 GiB     0700 
   2         8390656        16777249   4.0 GiB     0700

Почему то с версии 6.2 xenserver не создает третий раздел (на котором по идее должно находится локальное хранилище для ВМ), поэтому создаем ее сами:

sgdisk --new=3:16779264:1953525134 /dev/sda
(перед new находятся два знака тире, и ниже по тексту почти везде также)


Стираем таблицу разделов на втором диске:

sgdisk --zap-all /dev/sdb

и устанавливаем туда GPT таблицу разделов:

sgdisk --mbrtogpt --clear /dev/sdb

Создаём таблицу разделов, идентичную таблице первого диска, а идентификаторы разделов надо заменить на fd00:

sgdisk --new=1:2048:8388641 /dev/sdb
sgdisk --typecode=1:fd00 /dev/sdb
sgdisk --new=2:8390656:16777249 /dev/sdb
sgdisk --typecode=2:fd00 /dev/sdb

и создаем третий раздел на втором диске (1953525134 это "last usable sector" из вывода "sgdisk -p /dev/sdb")

sgdisk --new=3:16779264:1953525134 /dev/sdb
sgdisk --typecode=3:fd00 /dev/sdb

Ставим флаг загрузочного раздела:

sgdisk /dev/sda --attributes=1:set:2

Создаем raid-массивы:

mknod /dev/md1 b 9 1
mdadm --create /dev/md1 --level=1 --raid-devices=2 missing /dev/sdb1
mdadm --grow /dev/md1 -b internal

mknod /dev/md2 b 9 2
mdadm --create /dev/md2 --level=1 --raid-devices=2 missing /dev/sdb2
mdadm --grow /dev/md2 -b internal

mknod /dev/md3 b 9 3
mdadm --create /dev/md3 --level=1 --raid-devices=2 missing /dev/sdb3
mdadm --grow /dev/md3 -b internal

Далее создаем и монтируем файловую систему:

mkfs.ext3 /dev/md1
mount /dev/md1 /mnt

и копируем туда root файловую систему:

cp -vxpR / /mnt

это займет достаточно много времени (свыше 30 минут).
Затем заменяем в файле /mnt/etc/fstab имя корня файловой системы на /dev/md1. Пользовался редактором "nano" и после перезагрузки сервер ругался на ошибки в booloader и не стартовал, поэтому используем потоковый скрипт:

sed -i 's/LABEL=[a-zA-Z\-]*\s\(.*\)/\/dev\/md1 \1/' /mnt/etc/fstab
или такой строчкой
sed -r -i 's,LABEL=root-\w+ ,/dev/md1 ,g' /mnt/etc/fstab

Устанавливаем загрузчик на второй диск:

mount --bind /dev /mnt/dev
mount -t sysfs none /mnt/sys
mount -t proc none /mnt/proc
chroot /mnt /sbin/extlinux --install /boot
dd if=/mnt/usr/share/syslinux/gptmbr.bin of=/dev/sdb

Создаем новый образ системы:
chroot /mnt
mkinitrd -v -f --theme=/usr/share/splash --without-multipath /boot/initrd-`uname -r`.img `uname -r`
exit

Исправляем конфиг загрузки в файле /mnt/boot/extlinux.conf и заменяем (root=LABEL=xxx) на root=/dev/md1:

sed -i 's/LABEL=[a-zA-Z\-]*/\/dev\/md1/' /mnt/boot/extlinux.conf
или такой строкой
sed -r -i 's,root=LABEL=root-\w+ ,root=/dev/md0 ,g' /mnt/boot/extlinux.conf

Отмонтируем все разделы подключенные ранее и перезагружаем систему:

umount /mnt/proc
umount /mnt/sys
umount /mnt/dev
umount /mnt
reboot

Загружаемся теперь не с первого диска, а со второго, то есть уже загружаемся с массива.
И добавляем к массиву разделы первого диска, естественно сперва поменяв их идентификатор на fd00:

sgdisk --typecode=1:fd00 /dev/sda
mdadm -a /dev/md1 /dev/sda1

sgdisk --typecode=2:fd00 /dev/sda
mdadm -a /dev/md2 /dev/sda2

sgdisk --typecode=3:fd00 /dev/sda
mdadm -a /dev/md3 /dev/sda3

Смотрим за тем, как синхронизируются диски в массивах:

watch -n 1 cat /proc/mdstat

особенно последний раздел будет долго синхронизироваться (свыше 2 часов)
После синхронизации копируем настройки RAID в /etc/mdadm.conf:

mdadm --detail --scan >> /etc/mdadm.conf

И, наконец то, можем создать локальное хранилище на 3 массиве:

xe sr-create content-type=user device-config:device=/dev/md3 host-uuid=ваш_id_хоста name-label="Local Storage" shared=false type=lvm

вместо "ваш_id_хоста" внесите свой UUID, который можно узнать по команде:

xe host-list

 

Вы получите готовый сервер без окончания срока лицензии. Ну а дальше я поставил терминальный сервер с 6 гигами оперативы и два класса легко на нем сидят (оборудование везде поменял на гигабитное, кроме сетевых карт компьютеров). Еще планирую терминальный сервак поднять чисто для офисной работы, например убунту, или мандриву.

Вот еще полезная ссылка, про то как настроить линукс ВМ на ксенсервере для повышения производительности - http://www.altlinux.org/Citrix_XenServer

Войдите чтобы ответить на тему

Форумы → Сетевое взаимодействие СПО и ППО → xenserver 6.2 как мощное средство виртуализации серверов
  • Главная
  • О проекте
  • Справка
  • Теги
  • Карта сайта

©2015 Все права защищены. Портал информационной и технической поддержки ПО образовательных учреждений РФ.
Cо всеми проблемами и пожеланиями по работе портала и службы технической поддержки вы можете обратиться по адресу .