ГлавнаяРегистрацияВходВ закладки

Главная » Статьи » Ubuntu » Xen
Установка и настройка Xen 4.0 на CentOS 5
Автор: admin  Раздел: Xen
Установка Xen 4.0 на CentOS проходит немного сложнее чем обычно из-за этого появилась здесь необходимость замены базового, и проверенного в работе ядра 2.6.18 на более свежее ядро 2.6.32 и с поддержкой paravirt_ops. Это неплохой старт для трудоемкого обновления могут послужить новые возможности в Xen 4.0, которые так же будут доступные и для установки на CentOS через репозиторий еще вероятно года через 2.

Установка:
[-hide-]1. Сборка ядра pvops 2.6.32.x
Устанавливаем репозиторий RPMforge, этот репозиторий просто необходим для установки пакетов git, mercurial, flex, bison.

[[email protected] tmp]# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.i386.rpm
[[email protected] tmp]# rpm -i rpmforge-release-0.5.1-1.el5.rf.i386.rpm
Устанавливаем необходимые для сборки пакеты

yum install mercurial git make gcc ncurses-devel
Подгружаем последний релиз ядра, эта процедура потянет за собой около 350 МБ исходников

[[email protected] tmp]# git clone git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git linux-2.6-xen
[[email protected] tmp]# cd linux-2.6-xen
[[email protected] linux-2.6-xen]# git checkout -b xen/stable-2.6.32.x origin/xen/stable-2.6.32.x
Переходим к настройке конфигурации ядра. Проверяем текущую версию и копируем файлик конфигурации ядра в каталог сборки.

[[email protected] linux-2.6-xen]# uname -r
2.6.18-194.17.1.el5
[[email protected] linux-2.6-xen]# ll /boot/config*
-rw-r--r-- 1 root root 69598 Sep 29 21:21 /boot/config-2.6.18-194.17.1.el5
-rw-r--r-- 1 root root 69593 Apr 2 2010 /boot/config-2.6.18-194.el5
[[email protected] linux-2.6-xen]# cp /boot/config-2.6.18-194.17.1.el5 .config
Настраивавам ядро, более подробно конфигурирование и сборка ядра описаны в очень информационной статье сборка ядра 2.6.32.x pvops

[[email protected] linux-2.6-xen] make menuconfig
ВАЖНО: Ядро pv_ops при сборке для i386 поддерживает только режим PAE.

После выполнения настройки проверяем наличие следующих параМБ в файлике .config, если их нет возвращается обратно в menuconfig и добавляем.

CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y

CONFIG_ACPI_PROCFS=y
CONFIG_XEN=y
CONFIG_XEN_MAX_DOMAIN_MEMORY=32
CONFIG_XEN_SAVE_RESTORE=y
CONFIG_XEN_PRIVILEGED_GUEST=y
CONFIG_XEN_PCI=y
CONFIG_PCI_XEN=y
CONFIG_XEN_BLKDEV_FRONTEND=m
CONFIG_NETXEN_NIC=m
CONFIG_XEN_NETDEV_FRONTEND=m
CONFIG_XEN_KBDDEV_FRONTEND=m
CONFIG_HVC_XEN=y
CONFIG_XEN_FBDEV_FRONTEND=m
CONFIG_XEN_BALLOON=y
CONFIG_XEN_SCRUB_PAGES=y
CONFIG_XEN_DEV_EVTCHN=y
CONFIG_XEN_BACKEND=y
CONFIG_XEN_BLKDEV_BACKEND=y
CONFIG_XEN_NETDEV_BACKEND=y
CONFIG_XENFS=y
CONFIG_XEN_COMPAT_XENFS=y
CONFIG_XEN_XENBUS_FRONTEND=m
CONFIG_XEN_PCIDEV_FRONTEND=y
Собираем ядро

[[email protected] linux-2.6-xen]# make -j4
[[email protected] linux-2.6-xen]# make modules_install
[[email protected] linux-2.6-xen]# make headers_install
[[email protected] linux-2.6-xen]# make install
2. Сборка Xen 4.0
Подгружаем последнюю версию xen 4.0

[[email protected] tmp]# hg clone http://xenbits.xen.org/xen-4.0-testing.hg
[[email protected] tmp]# cd xen-4.0-testing.hg
Устанавливаем необходимые для сборки пакеты

[[email protected]]# yum install zlib-devel which openssl-devel gettext dev86
python-devel flex bison patch texinfo bzip2 bridge-utils
Собираем Intel ACPI ASL Compiler (iasl), он понадобится нам для сборки xen-tools. Для этого скачиваем UNIX Format Source Code and Build Environment с сайта http://acpica.org/downloads/, собираем компилятор и копируем в директорию /bin.

[[email protected] tmp]# wget http://acpica.org/download/acpica-unix-20100915.tar.gz
[[email protected] tmp]# tar -zxvf acpica-unix-20100915.tar.gz
[[email protected] tmp]# cd acpica-unix-20100915/compiler/
[[email protected] compiler]# make
[[email protected] compiler]# cp iasl /bin
Переходим к сборке Xen-4.0, если правильно установлены все вышеперечисленные пакеты, то сборка пройдет как по маслу.

[[email protected] xen-4.0-testing.hg]# make xen
[[email protected] xen-4.0-testing.hg]# make tools
[[email protected] xen-4.0-testing.hg]# make stubdom
[[email protected] xen-4.0-testing.hg]# make install-xen
[[email protected] xen-4.0-testing.hg]# make install-tools
[[email protected] xen-4.0-testing.hg]# make install-stubdom
3. Настройка Xen 4.0
Настраиваем систему на загрузку с ядром pv_ops, для этого открываем для редактирования /boot/grub/grub.conf и добавляем туда следующие строчки. На момент написания статьи актуальная версия ядра 2.6.32.24.

title CentOS (2.6.32.24)
root (hd0,0)
kernel /xen-4.0.gz dom0_mem=512M loglvl=all guest_loglvl=all
module /vmlinuz-2.6.32.24 ro root=/dev/VolGroup00/LogVol00
module /initrd-2.6.32.24.img
Перезапускаем систему с новым ядром и переходим к настройке Xend, исправляем в /etc/xen/xend-config.sxp закоментированные строчки на

(xend-http-server yes)
(xend-unix-server yes)
(xend-port 8000)
Добавляем сервисы в автозапуск и запускаем

[[email protected] ~]# chkconfig --add xend
[[email protected] ~]# chkconfig --add xendomains
[[email protected] ~]# chkconfig xend on
[[email protected] ~]# chkconfig xendomains on
[[email protected] ~]# service xend start
[[email protected] ~]# service xendomains start
Устанавливаем Virt-Install

[[email protected] xen]# yum install virt-manager
После запуска VirtInstall появляется ошибка, может конечно в новых версиях ее пропачат, но я потерял на этом без малого 4 дня.

ERROR POST operation failed: xend_post: error from xen daemon: (xend.err Device 0
(vif) could not be connected. Hotplug scripts not working.')
Решения есть 2:

1. Можно отключить модуль xt_physdev

2. Можно /etc/xen/scripts/vif-common.sh в функции frob_iptable() закомментировать строчки

# iptables "$c" FORWARD -m physdev --physdev-in "$vif" "[email protected]" -j ACCEPT \
# 2>/dev/null &&
# iptables "$c" FORWARD -m state --state RELATED,ESTABLISHED -m physdev \
# --physdev-out "$vif" -j ACCEPT 2>/dev/null
Если кто-то знает еще какие-то решения решения этой проблемы – пишите буду рад.[-hide-]
Просмотров: 2054
Дата: 2011-07-19 17:17:03
Комментариев: 0
Источник: