Сегодня поделюсь процессом установки свежего на данный момент дистрибутива Xen 3.3.1 на Debian Etch. Мне пришлось устанавливать гипервизор из исходных текстов, поскольку хотелось использовать поддержку блочных устройств (tap:aio), чего нет в текущей версии пакетов Xen для Debian Etch и Lenny.
Вкратце напомню, что такое Xen. Xen — это монитор виртуальных машин, который работает в паравиртуальном режиме (PV) или в режиме аппаратной виртуализации (HVM). Для работы в паравиртуальном режиме необходим модифицированные ядра ОС, для работы в режиме аппаратной виртуализации необходима ее поддержка со стороны центрального процессора (технологии Intel VT или AMD Secure Virtual Machines).
В моем случае процессор поддерживал технологию Intel VT, поэтому были доступны также преимущества и аппаратной виртуализации.
Процесс установки (проводился на чистой, только что установленной и обновленной системе Debian Etch ):
1. Подготовка
mkdir -p /home/xen/build
cd build
# Устанавливаем необходимые для сборки пакеты
# (что-то может оказаться лишним)
apt-get install iproute bridge-utils python-twisted binutils zlib1g-dev python-dev transfig bzip2 screen \
ssh debootstrap libcurl3-dev libncurses5-dev x-dev build-essential gettext gawk pciutils-dev libc6-xen \
libsdl1.2-dev mercurial libvncserver-dev bin86 bcc
# Скачиваем исходные тексты Xen
wget http://bits.xensource.com/oss-xen/release/3.3.1/xen-3.3.1.tar.gz
tar -xvzf xen-3.3.1.tar.gz
# Скачиваем исходные тексты модифицированного для Xen ядра
hg clone http://xenbits.xensource.com/linux-2.6.18-xen.hg
cd xen-3.3.1
2. Сборка и установка
# !!!ВНИМАНИЕ!!! Для того, чтобы в HVM-режиме запускалась FreeBSD нужно в make
# добавлять VMXASSIST=n
# это необходимо проделать только в том случае, если используется технология Intel VT
make dist
# Устанавливаем скомпилированное ядро и модули для dom0 и сам гипервизор
make install
# Обновляем rcX
update-rc.d xend defaults
3. Настройка ядра
Если необходимо подправить ядро, то делаем следующее:
make linux-2.6-xen-config CONFIGMODE=menuconfig
# Собираем и ставим новое ядро
make linux-2.6-xen-build
make linux-2.6-xen-install
4. Зависимости
depmod 2.6.18.8-xen
# Создаем новый ramdisk
cd /boot
mkinitramfs -o initrd.img-2.6.18.8-xen 2.6.18.8-xen
5. GRUB
Добавляем в /boot/menu.lst новую секцию для загрузки скомпилированного ядра. В моем случае это выглядело таким образом:
title Xen 3.3.1 / Debian GNU/Linux, kernel 2.6.18-8
root (hd0,0)
kernel /boot/xen-3.3.gz dom0_mem=14G
module /boot/vmlinuz-2.6.18.8-xen root=/dev/cciss/c0d0p1 ro console=tty0
module /boot/initrd.img-2.6.18.8-xen
savedefault
После этого перезагружаемся в новое ядро, запускаем xend (/etc/init.d/xend start) и можно начинать создавать виртуальные машины.
Ссылки: