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

Главная » Статьи » 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.

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

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

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

[root@localhost linux-2.6-xen]# uname -r
2.6.18-194.17.1.el5
[root@localhost 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
[root@localhost linux-2.6-xen]# cp /boot/config-2.6.18-194.17.1.el5 .config
Настраивавам ядро, более подробно конфигурирование и сборка ядра описаны в очень информационной статье сборка ядра 2.6.32.x pvops

[root@localhost 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
Собираем ядро

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

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

[root@localhost]# 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.

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

[root@localhost xen-4.0-testing.hg]# make xen
[root@localhost xen-4.0-testing.hg]# make tools
[root@localhost xen-4.0-testing.hg]# make stubdom
[root@localhost xen-4.0-testing.hg]# make install-xen
[root@localhost xen-4.0-testing.hg]# make install-tools
[root@localhost 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)
Добавляем сервисы в автозапуск и запускаем

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

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